下载鸥 > 网站下载 > 开发教程 > 帝国CMS

帝国CMS微信分享带缩略图教程

528 2021-01-30 10:43:23

收藏

要做帝国CMS微信分享带缩略图,前提是必须有公众号,且公众号中需要填写你的域名为安全域名才能成功。以下分享接口已采用微信开发文档中最新的接口,网上很多人使用的原接口即将失效了。

第一步:部署jssdk.php到根目录
第二步:微信公众号中设置JS安全域
公众号设置--功能设置--JS接口安全域名
第三步:增加模版变量,填入代码,appid和appsecret填入你的微信公众号相关的信息(模版变量紧挨着</body>,放在它前面):

帝国CMS微信分享代码
<?
//开始微信分享代码
require'../../jssdk.php';
$appid='******';
$appsecret='******';
$jssdk=newJSSDK($appid,$appsecret);
$signPackage=$jssdk->GetSignPackage();
//结束微信分享代码
?>
<script src="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:'<?php echo$signPackage["appId"];?>',
timestamp:<?php echo$signPackage["timestamp"];?>,
nonceStr:'<?php echo$signPackage["nonceStr"];?>',
signature:'<?php echo$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;
}
}
?>

 

本文地址:https://xzo.com.cn/develop/empire/200.html

有帮助,很赞!

信息来源:精准像素
导出教程 下载word版教程
发表评论 共有条评论
关于帝国CMS


帝国cms是一款功能极为强大的cms程序,性能强悍、安全性高,可轻松支持10万数据,高级开发人员可制作出能容纳千万数据量的网站,是国内最出色的开源cms程序之一,推荐企业用户使用

当前最新版本为7.5,8.0版本即将上线,新版本的核心优化点在于多终端的适配。

推荐帝国CMS开发教程
宝塔面板帝国cms搬家报错No input file specified
宝塔面板帝国cms搬家报错No input file specified

今天有客户向鸥哥求助说宝塔面板帝国cms搬家报错No input file specified,这...

23 1951
帝国cms后台信息列表标题显示不完怎么办?
帝国cms后台信息列表标题显示不完怎么办?

帝国CMS后台信息列表标题文字字数默认是被控制过的,超出一行会截断,一些相对...

15 680
帝国CMS图片集怎样做分页生成?
帝国CMS图片集怎样做分页生成?

帝国cms图片集做轮播展示非常好用,但无法支持分页。分页作为网站跳出、广告...

1 423
帝国cms安装模板里没有install文件夹怎么办?
帝国cms安装模板里没有install文件夹怎么办?

许多客户在使用帝国cms建站后想要再做一个网站,但复制所有的文件到新服务器...

0 395
帝国cms公共模板变量temp.header/temp.footer怎样在php代码中直接调用?
帝国cms公共模板变量temp.header/temp.footer怎样在php代码中直接调用?

在帝国cms二次开发过程中,我们经常需要调用模板的公共部位,也就是帝国cms的公...

0 505
帝国CMS+jquery简单实现点击图片进入下一页功能
帝国CMS+jquery简单实现点击图片进入下一页功能

使用js实现点击按钮进入下一个内容页分页,用jQuery做肯定是最快捷的方式,因此...

1 321
Wordpress转为帝国cms将会出现的问题
Wordpress转为帝国cms将会出现的问题

帝国cms和Wordpress是完全不同的程序,其设计理念有着天壤之别。转换肯定会存...

3 642
帝国cms点击切换视频播放源功能操作流程
帝国cms点击切换视频播放源功能操作流程

帝国cms的视频播放功能比较强大,支持的视频源格式也比较多。但除了使用帝国c...

1 473
推荐插件
帝国cms百度AI黑白图像上色api接口对接插件
帝国cms百度AI黑白图像上色api接口对接插件

百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...

0 320
帝国cms百度AI图像清晰度增强api接口对接插件
帝国cms百度AI图像清晰度增强api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像清晰度增强的功能。经...

0 419
帝国cms自动给正文关键词添加tag内链
帝国cms自动给正文关键词添加tag内链

帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...

0 655
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 611
帝国cms网站会员登录与退出历史记录日志插件
帝国cms网站会员登录与退出历史记录日志插件

帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...

0 275
帝国cms批量添加后台用户插件
帝国cms批量添加后台用户插件

使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...

0 579
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1127
帝国cms百度AI图像去雾api接口对接插件
帝国cms百度AI图像去雾api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像去雾的功能。经过实际...

0 365
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入