条件是必须有大众号,且大众号中需求填写你的域名为安全域名才干成功。以下共享接口已选用微信开发文档中最新的接口,网上很多人运用的原接口行将失效了。
第一步:模范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&timestamp=$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

相关推荐