dedecms织梦文章微信分享带缩略图与简介

时间:2023-03-08 20:08:29

dedecms V5.7二次开发

php5.6

mysql5.1

问题:dedecms文章分享到微信,带缩略图与简介。如下图:

dedecms织梦文章微信分享带缩略图与简介

1.准备工作

  • PHP 5.3+ 并且 curl扩展已经开启
  • 微信服务号一个,并且已经通过了实名认证;
  • 一个ICP备案的域名;

 2.具体步骤

(1)登录微信公众号平台,查看AppId,AppSecret、IP白名单(填你服务器外网IP)、绑定域名

dedecms织梦文章微信分享带缩略图与简介

dedecms织梦文章微信分享带缩略图与简介

注:1>基本配置->同意成为开发者->开发者密码启用之后才可能设置ip白名单;

  2>添加js接口安全域名,会提示你需要做什么,要步骤完成即可;

(2)文章内容页面微信分享代码:

 <script src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
<script type="text/javascript">
var url = encodeURIComponent(location.href.split("#")[0]);
$.ajax({
type: "get",
url: "https://www.dedehtml.com/wechat.php?link=" + url,
//url的域名根据自己的实际情况修改,eg.
//url:"http://www.56nev.com/wechat.php?link="+url,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(e) {
var d = e.appid,
i = e.timestamp,
t = e.noncestr,
n = e.signature;
wx.config({
debug: 0,//如果分享失败,把0改成1开启错误提示看看
appId: d,
timestamp: i,
nonceStr: t,
signature: n,
jsApiList: ["onMenuShareTimeline", "onMenuShareAppMessage"]
}),
wx.ready(function() {
wx.onMenuShareTimeline({
title: "{dede:field.title/}",
desc: "{dede:field.description/}",
link: "{dede:global.cfg_basehost/}{dede:field.id runphp='yes'}$result=GetOneArchive(@me);@me=$result['arcurl'];{/dede:field.id}",
imgUrl: "{dede:global.cfg_basehost/}{dede:field.litpic/}"
}),
wx.onMenuShareAppMessage({
title: "{dede:field.title/}",
desc: "{dede:field.description/}",
link: "{dede:global.cfg_basehost/}{dede:field.id runphp='yes'}$result=GetOneArchive(@me);@me=$result['arcurl'];{/dede:field.id}",
imgUrl: "{dede:global.cfg_basehost/}{dede:field.litpic/}"
})
})
}
});
</script>

(3)wechat.php文件下载,放在网站根目录

https://pan.baidu.com/s/1FQejrLWYpY5rOwWLe0xg6A

(4)其他需要注意的地方:

  1>不同内容页链接方式写法不一样

1、如果你是手机站内容页,这样的 http://www.dedehtml.com/m/view.php?aid=123

那你应该改成

link: "{dede:global.cfg_basehost/}{dede:field.id/}",

2、如果你是手机站内容页,这样的 http://m.dedehtml.com/view.php?aid=123

那你应该改成

link: "http://m.dedehtml.com/view.php?aid={dede:field.id/}",

3、如果你是手机站内容页,这样的 http://www.dedehtml.com/m/news/123.html

那你应该改成

link: "{dede:global.cfg_basehost/}/m/{dede:field.id runphp='yes'}$result=GetOneArchive(@me);@me=$result['arcurl'];{/dede:field.id}",

4、如果你是手机站内容页,这样的 http://m.dedehtml.com/news/123.html

那你应该改成

link: "http://m.dedehtml.com{dede:field.id runphp='yes'}$result=GetOneArchive(@me);@me=$result['arcurl'];{/dede:field.id}",

操作完成之后,分享显示的是:

dedecms织梦文章微信分享带缩略图与简介

因为项目有这样的需求,上百度搜到的。记录一下,学习。原文链接↓↓↓

原文链接:https://www.dedehtml.com/notes/dede-weixinshare.html