您现在的位置是:首页 > cms教程 > 帝国CMS教程帝国CMS教程
帝国CMS微信分享带缩略图的方法
许欣英2023-05-21帝国CMS教程已有人查阅
导读前提是必须有公众号,且公众号中需要填写你的域名为安全域名才能成功。以下分享接口已采用微信开发文档中最新的接口,网上很多人使用的原接口即将失效了。

前提是必须有公众号,且公众号中需要填写你的域名为安全域名才能成功。以下分享接口已采用微信开发文档中最新的接口,网上很多人使用的原接口即将失效了。
第一步:部署jssdk.php到根目录
第二步:微信公众号中设置JS安全域
公众号设置--功能设置--JS接口安全域名
第三步:增加模版变量,填入代码,appid和appsecret填入你的微信公众号相关的信息(模版变量紧挨着</body>,放在它前面):
帝国CMS微信分享代码
<?
//开始微信分享代码
require '../../jssdk.php';
$appid = '******';
$appsecret = '******';
$jssdk = new JSSDK($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
class JSSDK {
private $appId;
private $appSecret;
public function __construct($appId, $appSecret) {
$this->appId = $appId;
$this->appSecret = $appSecret;
}
public function getSignPackage() {
$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;
}
private function createNonceStr($length = 16) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$str = "";
for ($i = 0; $i < $length; $i++) {
$str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
}
return $str;
}
private function getJsApiTicket() {
// 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;
}
private function getAccessToken() {
// 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;
}
private function httpGet($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;
}
}
?>
本文标签:
很赞哦! ()
相关教程
- (PC+手机)帝国cms7.5漫画图片连载网站源码免费下载
- 帝国CMS7.5二次元COS漫展网站模板源码免费下载
- 帝国CMS7.5小说推荐公众号导航带wap手机站+带采集工具
- 帝国CMS7.5漫画网站模板带手机端源码免费下载
- 帝国cms7.5游戏门户H5小游戏网站模板源码免费下载
- 帝国CMS游戏应用APP推广下载站模板免费下载
- 帝国CMS7.5H5小游戏模板游戏攻略下载网整站源码
- 帝国cms7.5手游评测资讯礼包合集游戏专区下载网站模板
- 帝国cms7.5大型游戏资讯门户网站源码免费下载
- 帝国CMS7.5手游资讯下载综合门户免费网站模板
- 帝国cms7.5奇闻异事末解之谜模板免费下载带数据
- 帝国cms7.5模板情感文学名言名句心情文章类源码下载带手机
图文教程
帝国二次开发怎么批量处理语法框架
分享一套帝国二次开发批量处理语法框架,只分享框架,至于处理什么就是自己写了。帝国CMS批量处理语法说明:1、最上面的引入文件注意修改地址
帝国CMS跨表查询相关文章的方法
官方的相关链接不灵活,样式不能任意的修改无法跨表。很多人想跨表做相关链接,比如news和info都有几篇文章,关键词都有'北京',那么如何调用这些有有同一关键词的文章呢
帝国CMS灵动标签内容页调用当前栏目文章除当前文章的方法
解决方法:调用当前栏目信息,栏目ID用:'selfinfo',排除当前信息标签附加sql条件参数用:"id<>'$navinfor[id]'"这个时候$navinfor[id]为当前信息ID
帝国CMS后台添加关键字时自动同步到TAGS的方法
功能介绍:在添加文章的关键字时,把输入的关键字自动复制到TAGS文本框。帝国CMS后台–>系统设置–>管理数据表–>新闻系统数据表 (phome_ecms_news)[管理字段] –>special.field(特殊属性)–>[修改系统字段]
相关源码
-
帝国CMS游戏应用APP推广下载站模板免费下载本模板为移动应用推广、手机游戏推广行业设计,集成H5游戏平台与APP下载功能,支持PC端与移动端自适应访问。专注于为应用开发商、游戏发行商提供专业的线上推广展示平台。查看源码 -
(自适应)重工工业机械挖掘机机推土机网站源码下载基于PbootCMS内核开发的专业级重工机械企业网站模板,适用于挖掘机、推土机等重型工业设备展示。采用响应式设计技术,确保在各类设备上均能呈现专业视觉效果,帮助企业建立数字化展示窗口。查看源码 -
(自适应HTML5)响应式智能设备人工智能机器pbootcms源码免费下载这款基于PbootCMS开发的网站模板为人工智能和智能设备行业设计,采用现代化科技风格,突出产品的智能特性和技术创新。模板架构合理,功能完善,能够有效展示各类智能产品的核心功能和解决方案。查看源码 -
pbootcms模板(PC+WAP)火锅加盟餐饮美食类带留言源码基于PbootCMS内核深度开发,为火锅、餐饮品牌打造的营销型解决方案。采用红色主题传递行业活力,实现PC与WAP端适配。查看源码 -
(PC+WAP)蓝色新能源环保太阳能光伏模板pbootcms下载新能源环保行业网站解决方案为太阳能光伏系统企业打造的专业网站模板,助力新能源企业高效展示产品与服务PbootCMS内核开发,源码开放可修改PC与手机端自适应设计查看源码 -
(自适应手机端)锁锁芯锁具网站pbootcms模板 智能防盗锁网站源码下载本模板基于PbootCMS系统开发,为智能锁具、防盗锁芯及相关安防产品企业设计。采用响应式布局技术,确保在手机、平板和电脑等不同设备上都能获得良好的浏览体验,数据实时同步更新。查看源码
| 分享笔记 (共有 篇笔记) |

