微信中通过JS代码分享到朋友圈实例代码
时间:2015-12-19 阅读:次 QQ群:182913345
步骤一:绑定域名
先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
步骤二:引入JS文件
在需要调用JS接口的页面引入如下JS文件:http://res.wx.qq.com/open/js/jweixin-1.0.0.js
步骤三:通过config接口注入权限验证配置
<?php //获取access_token $url='https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxf7e7d834bd3687 &secret=450633ea76e5be5b8f70a25c1ce619'; $ch=curl_init(); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); curl_setopt($ch,CURLOPT_URL,$url); $json=curl_exec($ch); curl_close($ch); $arr=json_decode($json,1); //获取ticket $url='https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token='.$arr['access_token'].'&type=jsapi'; $ch=curl_init(); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); curl_setopt($ch,CURLOPT_URL,$url); $json=curl_exec($ch); curl_close($ch); $arr=json_decode($json,1); ?> |
<script> //生成签名的随机串 var createNonceStr=Math.random().toString(36).substr(2, 15); //生成签名的时间戳 var createTimeStamp=parseInt(new Date().getTime() / 1000) + ''; //签名生成 var str='jsapi_ticket='+'<?php echo $arr['ticket'];?>'+'&noncestr='+createNonceStr+ '×tamp='+createTimeStamp+'&url='+location.href.split('#')[0]; shaObj = new jsSHA(str, 'TEXT'); var signature =shaObj.getHash('SHA-1', 'HEX'); wx.config({ debug: false, appId: 'wxf7e7d834bd3687', timestamp: createTimeStamp, nonceStr: createNonceStr, signature: signature, jsApiList: [ 'onMenuShareAppMessage', 'onMenuShareTimeline', 'hideMenuItems', 'showMenuItems', 'hideAllNonBaseMenuItem', 'showAllNonBaseMenuItem', 'hideOptionMenu', 'showOptionMenu', 'closeWindow', 'scanQRCode' ] }); </script> |
步骤四:通过ready接口处理成功验证
<script> wx.ready(function () { // 2.2 监听“分享到朋友圈”按钮点击、自定义分享内容及分享结果接口 document.querySelector('#onMenuShareTimeline').onclick = function () { wx.onMenuShareTimeline({ title: '分享标题', link: '分享的url,以http或https开头', imgUrl: '分享图标的url,以http或https开头', trigger: function (res) { alert('用户点击分享到朋友圈'); }, success: function (res) { alert('已分享'); }, cancel: function (res) { alert('已取消'); }, fail: function (res) { alert(JSON.stringify(res)); } alert('已注册获取“分享到朋友圈”状态事件'); }); $(".wx_zf").show(); $(".start_bottom").hide(); }; function decryptCode(code, callback) { $.getJSON('/jssdk/decrypt_code.php?code=' + encodeURI(code), function (res) { if (res.errcode == 0) { codes.push(res.code); } }); } var shareData = { title: '分享标题', desc:'分享描述', link: '分享的url,以http或https开头', imgUrl: '分享图标的url,以http或https开头' }; wx.onMenuShareAppMessage(shareData); wx.onMenuShareTimeline(shareData); }); </script> |
步骤五:通过error接口处理失败验证
<script> wx.error(function(res){ alert(res.errMsg); }); </script> |
上一篇:网站微信授权登录详细教程
下一篇:没有了