$AccessToken获取地址(GET):
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=appid(公众号)&secret=secret(公众号)
$jsapi_ticket获取地址(GET):
https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={$AccessToken(上面获取)}&type=jsapi
$signature加密(sha1):
$timestamp=time();
$nonceStr=(16位的随机字符串)
$url=(当前需要自定义分享的页面的完整地址)
$signature=sha1("jsapi_ticket={$jsapi_ticket}&noncestr={$nonceStr}×tamp={$timestamp}&url={$url}");
结果获取内容:
$signPackage = array(
"appId" => appid(公众号),
"timestamp" => $timestamp,
"nonceStr" => $nonceStr,
"signature" => $signature,
);
JS调用地址:http://res.wx.qq.com/open/js/jweixin-1.1.0.js (注意旧版是1.0.0)
js部分:
wx.config({
debug: false,
appId: appId,
timestamp: timestamp,
nonceStr: nonceStr,
signature: signature,
jsApiList: [
// 所有要调用的 API 都要加到这个列表中
'checkJsApi',
'openAddress',
'onMenuShareTimeline',
'onMenuShareAppMessage'
]
});
这里写了获取地址及页面内容分享到朋友圈和分享给朋友。(checkJsApi - 检测)
自定义内容部分(当前测试安卓手机部分分享无效-苹果手机正常 【纠结】):
wx.onMenuShareTimeline({
title: '分享标题', // 分享标题
link: 'http://xxx/', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: 'http://xxx/static/web/images/vip.png', // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
wx.onMenuShareAppMessage({
title: '分享标题', // 分享标题
desc: '分享描述', // 分享描述
link: 'http://xxx.com/', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: 'http://xxx.com/yue_ico.png', // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
获取微信共享地址:
检测:
wx.checkJsApi({
jsApiList: [
'openAddress'
],
success: function (res) {
console.log(JSON.stringify(res));
}
});
实际应用(点击获取地址):
$("#address").click(function(){
wx.ready(function () {
wx.openAddress({
success: function (res) {
alert('收货人姓名:' + res.userName);
alert('收货人电话' + res.telNumber);
alert('邮编' + res.postalCode);
alert('国标收货地址第一级地址' + res.provinceName);
alert('国标收货地址第二级地址' + res.cityName);
alert('国标收货地址第三级地址' + res.countryName);
alert('详细收货地址信息' + res.detailInfo);
alert('收货地址国家码' + res.nationalCode);
}
});
});
});
总结:
1.接口地址最新版本 【1.1.0】 http://res.wx.qq.com/open/js/jweixin-1.1.0.js
2.$signature签名加密更新后跟以前旧版的不一样的,注意:noncestr获取的时候写法需要大写 nonceStr 而加密的时候小写就可以了
3.只有自己实际测试才知道,很多时候一个小东西的处理不当相当纠结,官方的说明也不好而且写了多个地方更新的又不一致,还是老实自己测试。
3.随意记录一下,不好勿喷。