浏览代码

资源分享功能

luyanan 8 年之前
父节点
当前提交
bc69dbe835
共有 2 个文件被更改,包括 134 次插入25 次删除
  1. 2 23
      app/html/resinforbrow.html
  2. 132 2
      app/js/resinforbrow.js

+ 2 - 23
app/html/resinforbrow.html

@ -15,20 +15,7 @@
15 15
		<header class="mui-bar mui-bar-nav toptitbox">
16 16
			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left topback"></a>
17 17
			<h1 class="mui-title toptit" id="resorcename">资源名称</h1>
18
			<!--<a class="mui-icon iconfont icon-share mui-pull-right topmore" id="shareBtn">
19
		    	<ul class="sharebox" id="shareBox" style="display:none; color: #000000;">
20
		    		<li>
21
		    			<span class="mui-icon mui-icon-weixin"></span>
22
		    		</li>
23
		    		<li>
24
		    			<span class="mui-icon mui-icon-weibo"></span>
25
		    		</li>
26
		    		<li>
27
		    			<span class="mui-icon mui-icon-qq"></span>
28
		    		</li>
29
		    		
30
		    	</ul>
31
		    </a>-->
18
			<a class="mui-icon iconfont icon-share mui-pull-right button topmore" id="shareBtn"></a>
32 19
		</header>
33 20
34 21
		<!--主页面底部菜单-->
@ -152,15 +139,7 @@
152 139
		<script src="../js/public/mui.zoom.js" type="text/javascript" charset="utf-8"></script>
153 140
		<script src="../js/public/mui.previewimage.js" type="text/javascript" charset="utf-8"></script>
154 141
		<script src="../js/resinforbrow.js"></script>
155
		<script type="text/javascript">
156
			/*mui.init();
157
						var shareBtn = document.getElementById("shareBtn");
158
						var shareBox = document.getElementById("shareBox");
159
						
160
						shareBtn.addEventListener("tap",function(){
161
							shareBox.style.display = 'block';
162
						});*/
163
		</script>
142
164 143
	</body>
165 144
166 145
</html>

+ 132 - 2
app/js/resinforbrow.js

@ -25,13 +25,15 @@ var oconsult = document.getElementById("consult"); //咨询
25 25
var oconsultBtn = document.getElementById("consultBtn"); //咨询按钮
26 26
var professorId;
27 27
var proId;
28
var resourceName;
29
var supportedServices;
28 30
29 31
function ziyuaninfo(resourceId) {
30 32
	mui.plusReady(function() {
31 33
32 34
		mui.ajax(baseUrl + '/ajax/resource/resourceInfo', {
33 35
			data: {
34
				'resourceId': resourceId
36
				'resourceId': resourceId,
35 37
			},
36 38
			dataType: 'json', //服务器返回json格式数据
37 39
			type: 'get', //HTTP请求类型
@ -47,6 +49,7 @@ function ziyuaninfo(resourceId) {
47 49
					if(professorId==userid){
48 50
						document.getElementsByClassName("footbox")[0].style.display="none";
49 51
					}
52
					resourceName=mydata['resourceName'];
50 53
					(mydata['resourceName']) ? oresorcename.innerHTML = mydata['resourceName']: oresorcename.innerHTML = '';
51 54
					(mydata['resourceName']) ? oresourceName.innerHTML = mydata['resourceName']: oresourceName.innerHTML = '';
52 55
@ -83,6 +86,7 @@ function ziyuaninfo(resourceId) {
83 86
					} else {
84 87
						oziyuanimg.setAttribute('src', '../images/default-resource.jpg')
85 88
					}
89
					supportedServices = mydata['supportedServices'];
86 90
					(mydata['supportedServices']) ? oyongtu.innerHTML = mydata['supportedServices']: oyongtu.innerHTML = ''; //应用用途
87 91
88 92
					//学术领域
@ -216,7 +220,7 @@ mui.plusReady(function() {
216 220
			}
217 221
		});
218 222
	}
219
	console.log("资源id==" + resourceId);
223
	//console.log("资源id==" + resourceId);
220 224
	//资源信息
221 225
	ziyuaninfo(resourceId);
222 226
	/*点击咨询*/
@ -356,6 +360,132 @@ mui.plusReady(function() {
356 360
		});
357 361
358 362
	}
363
	
364
	/*微信及微信朋友圈分享专家*/
365
	var auths, shares;
366
	document.getElementById("shareBtn").addEventListener("tap", function() {
367
		shareShow()
368
	})
369
	plus.oauth.getServices(function(services) {
370
		auths = {};
371
		for(var i in services) {
372
			var t = services[i];
373
			auths[t.id] = t;
374
375
		}
376
	}, function(e) {
377
		alert("获取登录服务列表失败:" + e.message + " - " + e.code);
378
	});
379
	plus.share.getServices(function(services) {
380
381
		shares = {};
382
		for(var i in services) {
383
384
			var t = services[i];
385
386
			shares[t.id] = t;
387
388
		}
389
	}, function(e) {
390
		alert("获取分享服务列表失败:" + e.message + " - " + e.code);
391
	})
392
393
	function shareShow() {
394
		var shareBts = [];
395
		// 更新分享列表
396
		var ss = shares['weixin'];
397
		if(navigator.userAgent.indexOf('StreamApp') < 0 && navigator.userAgent.indexOf('qihoo') < 0) { //在360流应用中微信不支持分享图片
398
			ss && ss.nativeClient && (shareBts.push({
399
					title: '微信好友',
400
					s: ss,
401
					x: 'WXSceneSession'
402
				}),
403
				shareBts.push({
404
					title: '微信朋友圈',
405
					s: ss,
406
					x: 'WXSceneTimeline'
407
				}));
408
		}
409
		
410
		//// 弹出分享列表
411
		shareBts.length > 0 ? plus.nativeUI.actionSheet({
412
			title: '分享',
413
			cancel: '取消',
414
			buttons: shareBts
415
		}, function(e) {
416
			var str;
417
			if(supportedServices) {
418
				str = "应用用途:" + supportedServices
419
			}
420
			if(e.index == 1) {
421
				var share = buildShareService();
422
				if(share) {
423
					shareMessage(share, "WXSceneSession", {
424
						content: str,
425
						title: "【科袖资源】" + resourceName + "" ,
426
						href: baseUrl+"/shareResinfor.html?resourceId=" + resourceId,
427
						thumbs: [baseUrl+"/images/resource/" + resourceId + ".jpg"]
428
					});
429
				}
430
			} else if(e.index == 2) {
431
				var share = buildShareService();
432
				if(share) {
433
					shareMessage(share, "WXSceneTimeline", {
434
						content: str,
435
						title: "【科袖资源】" + resourceName + " " ,
436
						href: baseUrl+"/shareResinfor.html?resourceId=" + resourceId,
437
						thumbs: [baseUrl+"/images/resource/" + resourceId + ".jpg"]
438
					});
439
				}
440
			}
441
442
		}) : plus.nativeUI.alert('当前环境无法支持分享操作!');
443
444
	}
445
446
	function buildShareService() {
447
		var share = shares["weixin"];
448
		if(share) {
449
			if(share.authenticated) {
450
				console.log("---已授权---");
451
			} else {
452
				console.log("---未授权---");
453
				share.authorize(function() {
454
					console.log('授权成功...')
455
				}, function(e) {
456
					alert("认证授权失败:" + e.code + " - " + e.message);
457
					return null;
458
				});
459
			}
460
			return share;
461
		} else {
462
			alert("没有获取微信分享服务");
463
			return null;
464
		}
465
466
	}
467
	
468
	function shareMessage(share, ex, msg) {
469
		msg.extra = {
470
			scene: ex
471
		};
472
		share.send(msg, function() {
473
			plus.nativeUI.closeWaiting();
474
			var strtmp = "分享到\"" + share.description + "\"成功! ";
475
			console.log(strtmp);
476
			plus.nativeUI.toast(strtmp, {
477
				verticalAlign: 'center'
478
			});
479
		}, function(e) {
480
			plus.nativeUI.closeWaiting();
481
			if(e.code == -2) {
482
				plus.nativeUI.toast('已取消分享', {
483
					verticalAlign: 'center'
484
				});
485
			}
486
		});
487
	}
488
	
359 489
/*图像预览*/
360 490
	mui.previewImage();
361 491
});