标签:mes 链接 项目 回调函数 整理 data style echo bin
最近项目用tp3写的 整理了下一下微信分享,直接上代码。
var url = "{:U(‘Index/share‘)}",articleTitle = "{$Activity.rules}",articlePic= "{$Activity.pay_img}",articleBrief=" {$Activity.title}"; //调用方法 share(url,articleTitle,articlePic,articleBrief); /** * 分享 */ function share(url,articleTitle,articlePic,articleBrief) { var url1 =location.href.split(‘#‘)[0]; $.ajax({ url: url, async: false, data: { "url": url1 }, dataType: ‘text‘, success: function(data) { var data1 = eval("(" + data + ")"); var timestamp = data1.timestamp; var nonceStr = data1.noncestr; var signature = data1.signature; wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: "wx9903dba5a4b35192", // 必填,公众号的唯一标识 timestamp: timestamp, // 必填,生成签名的时间戳 nonceStr: nonceStr, // 必填,生成签名的随机串 signature: signature,// 必填,签名 jsApiList: [‘onMenuShareAppMessage‘,‘onMenuShareTimeline‘] // 必填,需要使用的JS接口列表 }); wx.ready(function(){ wx.onMenuShareAppMessage({ title: articleTitle, // 分享标题 desc: articleBrief, // 分享描述 link: data1.url, // 分享链接 imgUrl: articlePic, // 分享图标 type: ‘‘, // 分享类型,music、video或link,不填默认为link dataUrl: ‘‘, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { $(‘body‘).append(‘<div class="error-msg">分享成功!</div>‘); setTimeout(function () { $(‘body‘).find(‘.error-msg‘).remove(); }, 1500); }, cancel: function () { $(‘body‘).append(‘<div class="error-msg">分享失败!</div>‘); setTimeout(function () { $(‘body‘).find(‘.error-msg‘).remove(); }, 1500); } }); wx.onMenuShareTimeline({ title: articleTitle, // 分享标题 link: data1.url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致 imgUrl: articlePic, // 分享图标 success: function () { // 用户确认分享后执行的回调函数 $(‘body‘).append(‘<div class="error-msg">分享成功!</div>‘); setTimeout(function () { $(‘body‘).find(‘.error-msg‘).remove(); }, 1500); }, cancel: function () { // 用户取消分享后执行的回调函数 $(‘body‘).append(‘<div class="error-msg">分享失败!</div>‘); setTimeout(function () { $(‘body‘).find(‘.error-msg‘).remove(); }, 1500); } }); }); } }); }
/** * 分享 */ public function share() { $time = time(); $str = ‘QWERTYUIOPASDFGHJKLZXVBNMqwertyuioplkjhgfdsamnbvcxz‘; for ($i=0;$i<32;$i++){ $result .= $str[rand(0,48)]; } $wxconfig[‘appid‘] = $this->appid; $wxconfig[‘noncestr‘] = $result; $wxconfig[‘timestamp‘] = "$time"; $jsapi_ticket = S(‘jsapi_ticket‘.session(‘shopid‘)); if(empty($jsapi_ticket)){ $res = file_get_contents("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->appsecret);// 获得token $ress = json_decode($res,True); $token = $ress[‘access_token‘];// 取出 至于存储代码就不列举了 $js = file_get_contents("https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=".$token."&type=jsapi"); $jss = json_decode($js,True); S(‘jsapi_ticket‘.session(‘shopid‘),$jss[‘ticket‘],7000); $jsapi_ticket = $jss[‘ticket‘];// 取出JS凭证, 至于存储代码就不列举了 } $dataa[‘noncestr‘] = $wxconfig[‘noncestr‘]; $dataa[‘jsapi_ticket‘] = $jsapi_ticket; $dataa[‘timestamp‘] = $wxconfig[‘timestamp‘]; $dataa[‘url‘] = I(‘get.url‘); ksort($dataa); $signature = ‘‘; foreach($dataa as $k => $v){ $signature .= $k.‘=‘.$v.‘&‘; } $signature = substr($signature, 0, strlen($signature)-1); $wxconfig[‘signature‘] = sha1($signature); $wxconfig[‘url‘] = $dataa[‘url‘]; echo json_encode($wxconfig);die; }
//我这边有点问题,需要过滤下链接,我用php来简单处理了下 $str = $_SERVER[‘HTTP_HOST‘].$_SERVER[‘REQUEST_URI‘]; $tourl = substr($str,0,strrpos($str,"?"));
标签:mes 链接 项目 回调函数 整理 data style echo bin
原文地址:https://www.cnblogs.com/yanyanyanyanliu/p/11083400.html