码迷,mamicode.com
首页 > Web开发 > 详细

jssdk 分享功能,,及碰到的问题(指定路径和titile不生效)

时间:2018-01-23 13:06:24      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:root   数值   加载   功能   appid   pms   相关   其他   menus   

1.先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”

2.在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js

3.所有需要使用JS-SDK的页面必须先注入配置信息,

wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: ‘‘, // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: ‘‘, // 必填,生成签名的随机串
signature: ‘‘,// 必填,签名,见附录1
jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
4.
wx.ready(function(){
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
  
wx.onMenuShareAppMessage({
			  title: ‘拼单邀请‘,
			  desc: ‘拼单邀请‘,
			  link: link,
			  trigger: function (res) {
				// 不要尝试在trigger中使用ajax异步请求修改本次分享的内容,因为客户端分享操作是一个同步操作,这时候使用ajax的回包会还没有返回
			  },
			  success: function (res) {
				  alert(‘分享给朋友成功‘);
			  },
			  cancel: function (res) {
				alert(‘你没有分享给朋友‘);
			  },
			  fail: function (res) {
				alert(JSON.stringify(res));
			  }
		 });

  其他的朋友圈什么的参照sdk

});

5. 碰到的问题 : 以前这些都做好了 然后我在微信web开发者工具上测试是可行的,但是在微信上测试title和链接都显示的当前网页没有生效,本来以为是缓存问题,后来看到成功的回调被执行了,就
wx.config({
debug: false,改为true alert出返回值,然后知道是link参数错误,,, link要符合 JS接口安全域名。修改后可行


6.最后分享一个公共的weichat.js
(function(){

	window.weiChatConfig = function(actionUrl,href_local, callback){
		$.ajax({
			type		:		‘POST‘,
			async		:		false,
			url			:		actionUrl,//url:‘${pageContext.request.contextPath}/jsApi‘,
			data		:		{"url":href_local},//location.href.split("#")[0]
			datatype	:		‘json‘,
			success		:		function(msg1){
					var msg = eval("("+msg1+")");
					wx.config({
					    debug		:		false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
					    appId		:		msg.appId, // 必填,公众号的唯一标识
					    timestamp	:		parseInt(msg.timestamp), // 必填,生成签名的时间戳
					    nonceStr	:		msg.nonceStr, // 必填,生成签名的随机串
					    signature	:		msg.signature,// 必填,签名,见附录1
					    jsApiList	:		[
									            ‘onMenuShareTimeline‘,‘onMenuShareAppMessage‘,‘onMenuShareQQ‘,
												‘onMenuShareWeibo‘,‘startRecord‘,‘stopRecord‘,
												‘onVoiceRecordEnd‘,‘playVoice‘,‘pauseVoice‘,
												‘stopVoice‘,‘onVoicePlayEnd‘,‘uploadVoice‘,
												‘downloadVoice‘,‘chooseImage‘,‘previewImage‘,
												‘uploadImage‘,‘downloadImage‘,‘translateVoice‘,
												‘getNetworkType‘,‘openLocation‘,‘getLocation‘,
												‘hideOptionMenu‘,‘showOptionMenu‘,‘hideMenuItems‘,
												‘showMenuItems‘,‘hideAllNonBaseMenuItem‘,‘showAllNonBaseMenuItem‘,
												‘closeWindow‘,‘scanQRCode‘,‘chooseWXPay‘,
												‘openProductSpecificView‘,‘addCard‘,‘chooseCard‘,‘openCard‘
								        	] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
					});
					wx.ready(function() {
						if ( typeof callback === ‘function‘ ) {
							callback();
						}
					});
			}
		});
	}
	
	/**
	 * 分享到朋友圈
	 * @param {Object} shareData
	 */
	window.shareTimeLine = function(shareData){
		wx.onMenuShareTimeline({
		    title: shareData.title, // 分享标题
		    link: shareData.link, // 分享链接
		    imgUrl: shareData.imgUrl, // 分享图标
		    success: function () { 
		        // 用户确认分享后执行的回调函数
		    },
		    cancel: function () { 
		        // 用户取消分享后执行的回调函数
		    }
		});
	}
	
	/**
	 * 分享给朋友
	 * @param {Object} shareData
	 */
	window.shareAppMsg = function(shareData){
		wx.onMenuShareAppMessage({
		    title: shareData.title, // 分享标题
		    desc: shareData.desc, // 分享描述
		    link: shareData.link, // 分享链接
		    imgUrl: shareData.imgUrl, // 分享图标
		    type: ‘‘, // 分享类型,music、video或link,不填默认为link
		    dataUrl: ‘‘, // 如果type是music或video,则要提供数据链接,默认为空
		    success: function () { 
		        // 用户确认分享后执行的回调函数
		    },
		    cancel: function () { 
		        // 用户取消分享后执行的回调函数
		    }
		});
	}
	
	/**
	 * 分享到QQ
	 * @param {Object} shareData
	 */
	window.shareQQ = function(shareData){
		wx.onMenuShareQQ({
		    title: shareData.title, // 分享标题
		    desc: shareData.desc, // 分享描述
		    link: shareData.link, // 分享链接
		    imgUrl: shareData.imgUrl, // 分享图标
		    success: function () { 
		       // 用户确认分享后执行的回调函数
		    },
		    cancel: function () { 
		       // 用户取消分享后执行的回调函数
		    }
		});
	}
	
	/**
	 * 分享到腾讯微博
	 * @param {Object} shareData
	 */
	window.shareWeibo = function(shareData){
		wx.onMenuShareWeibo({
		    title: shareData.title, // 分享标题
		    desc: shareData.desc, // 分享描述
		    link: shareData.link, // 分享链接
		    imgUrl: shareData.imgUrl, // 分享图标
		    success: function () { 
		       // 用户确认分享后执行的回调函数
		    },
		    cancel: function () { 
		        // 用户取消分享后执行的回调函数
		    }
		});
	}
	
	window.shareAll = function(shareData){
		shareTimeLine(shareData);
		shareAppMsg(shareData);
		shareQQ(shareData);
		shareWeibo(shareData);
	}
	
	/**
	 * 微信支付
	 */
	window.wxpayjsapi = function(wxorder){
		wx.chooseWXPay({
		    timestamp	: 	wxorder.timeStamp, 	// 支付签名时间戳
		    nonceStr	:	wxorder.nonceStr, 	//支付签名随即字符串,<=32
		    package		:	wxorder.package, 	//统一支付接口返回的prepay_id参数值,格式:prepay_id=xxxx
		    signType	:	wxorder.signType,	//签名方式,默认为‘SHA1‘,新版为‘MD5‘
		    paySign		:	wxorder.paySign,	//支付签名
		    success		: 	function (res) {
		       // 支付成功后的回调函数
		    	if(res.indexof("ok") > 0){
		    		alert("支付成功");
		    	} else if(res.indexof("cancel") > 0){
		    		alert("支付过程中用户取消");
		    	} else if(res.indexof("fail") > 0){
		    		alert("支付失败");
		    	} 
		    }
		});
	}
	
 })();








<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> 
<script type="text/javascript">
 weiChatConfig(webRoot+‘weichatApi/jsConfig/config.json‘,location.href.split("    
 #")[0]);
//通过config接口注入权限验证配置
//weichatApi/jsConfig/config.json 是控制器返回wx.config的相关参数
</script>

  

 

jssdk 分享功能,,及碰到的问题(指定路径和titile不生效)

标签:root   数值   加载   功能   appid   pms   相关   其他   menus   

原文地址:https://www.cnblogs.com/wuhaobk/p/8334957.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!