条件是必须有大众号,且大众号中需求填写你的域名为安全域名才干成功。以下共享接口已选用微信开发文档中最新的接口,网上很多人运用的原接口行将失效了。
第一步:模范jssdk.php到根目录
第二步:微信大众号中设置JS安全域
大众号设置--功用设置--JS接口安全域名
第三步:添加模版变量,填入代码,appid和appsecret填入你的微信大众号相关的信息(模版变量紧挨着</body>,放在它前面):
帝国CMS微信共享代码
<? //开端微信共享代码 require'../../jssdk.php'; $appid='******'; $appsecret='******'; $jssdk=newJSSDK($appid,$appsecret); $signPackage=$jssdk->GetSignPackage(); //完毕微信共享代码 ?> <scriptsrc="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script> <script> //留意:一切的JS接口只能在大众号绑定的域名下调用,大众号开发者需求先登录微信大众渠道进入“大众号设置”的“功用设置”里填写“JS接口安全域名”。 //假如发现在Android不能共享自定义内容,请到官网下载最新的包掩盖装置,Android自定义共享接口需晋级至6.0.2.58版别及以上。 //完好JS-SDK文档地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html wx.config({ debug:!1, appId:'<?phpecho$signPackage["appId"];?>', timestamp:<?phpecho$signPackage["timestamp"];?>, nonceStr:'<?phpecho$signPackage["nonceStr"];?>', signature:'<?phpecho$signPackage["signature"];?>', jsApiList:[ "updateAppMessageShareData", "updateTimelineShareData", "onMenuShareWeibo", "onMenuShareQZone" ] }); wx.ready(function(){ //在这儿调用API wx.checkJsApi({ jsApiList:["updateAppMessageShareData", "updateTimelineShareData", "onMenuShareWeibo", "onMenuShareQZone"],//需求检测的JS接口列表,一切JS接口列表见附录2, success:function(res){ //alert(JSON.stringify(res)); if(res.errMsg!='checkJsApi:ok'){ alert('请晋级您的微信版别'); return; } } }); //共享Demo //获取“共享给朋友”按钮点击状况及自定义共享内容接口 wx.updateAppMessageShareData({ title:'<?=$navinfor[title]?>',//共享标题 desc:'<?=$navinfor[smalltext]?>',//共享描绘 link:'http://www.xxx.com<?=$navinfor[titleurl]?>',//共享链接 imgUrl:'<?=$navinfor[titlepic]?>',//共享图标 success:function(){ //设置成功 } }); //获取“共享到朋友圈”按钮点击状况及自定义共享内容接口 wx.updateTimelineShareData({ title:'<?=$navinfor[title]?>',//共享标题 link:'http://www.xxx.com<?=$navinfor[titleurl]?>',//共享链接 imgUrl:'<?=$navinfor[titlepic]?>',//共享图标 success:function(){ //设置成功 } }); wx.onMenuShareWeibo({ title:'<?=$navinfor[title]?>',//共享标题 desc:'<?=$navinfor[smalltext]?>',//共享描绘 link:'http://www.xxx.com<?=$navinfor[titleurl]?>',//共享链接 imgUrl:'<?=$navinfor[titlepic]?>',//共享图标 success:function(){ //用户承认共享后履行的回调函数 }, cancel:function(){ //用户撤销共享后履行的回调函数 } }); }); </script>
帝国CMS微信共享jssdk.php代码
<?php classJSSDK{ private$appId; private$appSecret; publicfunction__construct($appId,$appSecret){ $this->appId=$appId; $this->appSecret=$appSecret; } publicfunctiongetSignPackage(){ $jsapiTicket=$this->getJsApiTicket(); $url="http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; $timestamp=time(); $nonceStr=$this->createNonceStr(); //这儿参数的次序要依照key值ASCII码升序排序 $string="jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url"; $signature=sha1($string); $signPackage=array( "appId"=>$this->appId, "nonceStr"=>$nonceStr, "timestamp"=>$timestamp, "url"=>$url, "signature"=>$signature, "rawString"=>$string ); return$signPackage; } privatefunctioncreateNonceStr($length=16){ $chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $str=""; for($i=0;$i<$length;$i++){ $str.=substr($chars,mt_rand(0,strlen($chars)-1),1); } return$str; } privatefunctiongetJsApiTicket(){ //jsapi_ticket应该大局存储与更新,以下代码以写入到文件中做示例 $data=json_decode(file_get_contents("jsapi_ticket.json")); if($data->expire_time<time()){ $accessToken=$this->getAccessToken(); $url="https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken"; $res=json_decode($this->httpGet($url)); $ticket=$res->ticket; if($ticket){ $data->expire_time=time()+7000; $data->jsapi_ticket=$ticket; $fp=fopen("jsapi_ticket.json","w"); fwrite($fp,json_encode($data)); fclose($fp); } }else{ $ticket=$data->jsapi_ticket; } return$ticket; } privatefunctiongetAccessToken(){ //access_token应该大局存储与更新,以下代码以写入到文件中做示例 $data=json_decode(file_get_contents("access_token.json")); if($data->expire_time<time()){ $url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appId}&secret={$this->appSecret}"; $res=json_decode($this->httpGet($url)); $access_token=$res->access_token; if($access_token){ $data->expire_time=time()+7000; $data->access_token=$access_token; $fp=fopen("access_token.json","w"); fwrite($fp,json_encode($data)); fclose($fp); } }else{ $access_token=$data->access_token; } return$access_token; } privatefunctionhttpGet($url){ $curl=curl_init(); curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); curl_setopt($curl,CURLOPT_TIMEOUT,500); curl_setopt($curl,CURLOPT_URL,$url); $res=curl_exec($curl); curl_close($curl); return$res; } } ?>
声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:123456@qq.com 我们将配合处理!
原文地址:帝国CMS微信分享带缩略图教程发布于2022-06-29 07:43:09