dedecms V5.7二次開發
php5.6
mysql5.1
問題:dedecms文章分享到微信,帶縮略圖與簡介。如下圖:
1.准備工作
- PHP 5.3+ 並且 curl擴展已經開啟
- 微信服務號一個,並且已經通過了實名認證;
- 一個ICP備案的域名;
2.具體步驟
(1)登錄微信公眾號平台,查看AppId,AppSecret、IP白名單(填你服務器外網IP)、綁定域名
注:1>基本配置->同意成為開發者->開發者密碼啟用之后才可能設置ip白名單;
2>添加js接口安全域名,會提示你需要做什么,要步驟完成即可;
(2)文章內容頁面微信分享代碼:
1 <script src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script> 2 <script type="text/javascript"> 3 var url = encodeURIComponent(location.href.split("#")[0]); 4 $.ajax({ 5 type: "get", 6 url: "https://www.dedehtml.com/wechat.php?link=" + url, 7 //url的域名根據自己的實際情況修改,eg. 8 //url:"http://www.56nev.com/wechat.php?link="+url, 9 dataType: "json", 10 contentType: "application/json; charset=utf-8", 11 success: function(e) { 12 var d = e.appid, 13 i = e.timestamp, 14 t = e.noncestr, 15 n = e.signature; 16 wx.config({ 17 debug: 0,//如果分享失敗,把0改成1開啟錯誤提示看看 18 appId: d, 19 timestamp: i, 20 nonceStr: t, 21 signature: n, 22 jsApiList: ["onMenuShareTimeline", "onMenuShareAppMessage"] 23 }), 24 wx.ready(function() { 25 wx.onMenuShareTimeline({ 26 title: "{dede:field.title/}", 27 desc: "{dede:field.description/}", 28 link: "{dede:global.cfg_basehost/}{dede:field.id runphp='yes'}$result=GetOneArchive(@me);@me=$result['arcurl'];{/dede:field.id}", 29 imgUrl: "{dede:global.cfg_basehost/}{dede:field.litpic/}" 30 }), 31 wx.onMenuShareAppMessage({ 32 title: "{dede:field.title/}", 33 desc: "{dede:field.description/}", 34 link: "{dede:global.cfg_basehost/}{dede:field.id runphp='yes'}$result=GetOneArchive(@me);@me=$result['arcurl'];{/dede:field.id}", 35 imgUrl: "{dede:global.cfg_basehost/}{dede:field.litpic/}" 36 }) 37 }) 38 } 39 }); 40 </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}",
操作完成之后,分享顯示的是:
因為項目有這樣的需求,上百度搜到的。記錄一下,學習。原文鏈接↓↓↓
原文鏈接:https://www.dedehtml.com/notes/dede-weixinshare.html