第一步:引入微信官方js文件
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
第二步:通过config接口注入权限验证配置
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: ‘‘, // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: ‘‘, // 必填,生成签名的随机串
signature: ‘‘,// 必填,签名,见附录1
jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
//例如:
wx.config({
debug: false,
appId: "<?php echo $wx_config_arr["appid"];?>",
timestamp: "<?php echo $wx_config_arr[‘timestamp‘];?>",
nonceStr: "<?php echo $wx_config_arr[‘noncestr‘];?>",
signature: "<?php echo $wx_config_arr[‘signature‘];?>",
jsApiList: [
‘checkJsApi‘,
‘onMenuShareTimeline‘,
‘onMenuShareAppMessage‘,
‘onMenuShareQQ‘,
‘onMenuShareWeibo‘,
‘hideMenuItems‘,
‘showMenuItems‘,
‘hideAllNonBaseMenuItem‘,
‘showAllNonBaseMenuItem‘,
‘translateVoice‘,
‘getNetworkType‘,
‘openLocation‘,
‘getLocation‘,
‘hideOptionMenu‘,
‘showOptionMenu‘,
‘closeWindow‘,
‘scanQRCode‘
]
});
第三步:通过ready接口处理成功验证
wx.ready(function(){ // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready 函数中。 });
(通过error接口处理失败验证)
wx.error(function(res){
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
});
第四步:获取“分享到朋友圈”,“分享给朋友”,“分享到QQ”,“分享到腾讯微博”按钮点击状态及自定义分享内容接口
wx.onMenuShareTimeline({//分享到朋友圈
title: ‘‘, // 分享标题
link: ‘‘, // 分享链接
imgUrl: ‘‘, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
(具体接口看微信jssdk说明文档)
若需要同时修改多个接口,可将标题,链接等内容放在一个object对象中
//例如
var wxData = {
‘imgUrl‘: ‘分享图片url‘,
‘link‘ : ‘分享链接‘,
‘desc‘ : ‘分享描述‘,
‘title‘ : ‘分享标题‘
};
var weixin = function (title,link,imgurl,desc){
wx.ready(function () {
wx.onMenuShareTimeline({
title: title,
link: link,
imgUrl: imgurl
});
wx.onMenuShareAppMessage({
title: title,
desc: desc,
link: link,
imgUrl: imgurl
});
wx.onMenuShareQQ({
title: title,
desc: desc,
link: link,
imgUrl: imgurl
});
wx.onMenuShareWeibo({
title: title,
desc: desc,
link: link,
imgUrl: imgurl
});
obj.sound();
});
};
weixin(wxData.title,wxData.link,wxData.imgUrl,wxData.desc);