1.微信分享接口的开发分几个步骤
a.得到ticket
b.根据ticket和url(#号后不要)得到signature,nonceStr,timestamp
c.根据得到的signature,nonceStr,timestamp 和appId 去通过config接口注入权限验证配置
d.通过ws.ready去实现分享接口,接口名称参考http://mp.weixin.qq.com/wiki/11/74ad127cc054f6b80759c40f77ec03db.html
官方校验签名网站:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
示例如下:
a.引入(必要的)<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
· 可异步得到config接口需要的参数,开发的时候将这个改为true
debug : true
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script type="text/javascript">
var targetUrl = location.href.split("#")[0];
$.ajax({
url : "logonAction.do?proc=initWeiXin&targetUrl=" + targetUrl,
type : "get",
datatype : 'html',
cache : true,
success : function(html) {
wx.config({
debug : false,// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId : eval('(' + html + ')').appId,// 必填,公众号的唯一标识
timestamp : eval('(' + html + ')').timestamp,// 必填,生成签名的时间戳
nonceStr : eval('(' + html + ')').nonceStr,// 必填,生成签名的随机串
signature : eval('(' + html + ')').signature,// 必填,签名,
jsApiList : [
// 所有要调用的 API 都要加到这个列表中
'onMenuShareTimeline' ]
});
}
});
<pre name="code" class="javascript"><span style="white-space:pre"> </span>
wx.ready(function() {
//隐藏分享按钮
//WeixinJSBridge.call('hideOptionMenu');
wx.onMenuShareTimeline({
title: '标题',
link: 'https://www.baidu.com',
imgUrl: 'https://www.baidu.com/img/bd_logo1.png',
success: function () {
alert('分享成功');
},
cancel: function () {
alert('取消分享');
}
});
});</pre><br>
<pre></pre>
分享结果如下
<p></p>
<p><span style="font-size:14px"><img src="" alt=""><br>
</span></p>
<p><span style="font-size:14px"><br>
</span></p>
<p><span style="font-size:14px"><br>
</span></p>
<p><span style="font-size:14px">注意:如果微信弹出 errormsg config invalid signature</span></p>
<p><span style="font-size:14px">,请确保</span><span style="font-size:14px; white-space:pre">url</span><span style="white-space:pre; color:rgb(51,51,51); font-family:Helvetica,Tahoma,Arial,sans-serif; line-height:24px; background-color:rgb(245,245,245)"><span style="font-size:14px">(#号后不要)的正确性,</span><strong><span style="font-size:18px">url和微信中复制链接地址是一样的</span></strong><span style="font-size:14px">(</span><span style="font-size:14px; color:rgb(51,51,51); font-family:Helvetica,Tahoma,Arial,sans-serif; line-height:24px; white-space:pre; background-color:rgb(245,245,245)">#号后不要</span><span style="font-size:14px">)</span></span></p>
<p><span style="font-size:14px"><br>
</span></p>
<p><span style="font-size:14px"><span style="white-space:pre"></span></span></p>