ThinkPHP5關(guān)于微信分享縮略圖及自定義鏈接的問題

? ? ? ?最近一個(gè)項(xiàng)目原來好好的微信分享突然就不行了,分享到朋友圈沒有了文章里的縮略圖,而且鏈接地址也變成了項(xiàng)目入口地址恩急,原先這項(xiàng)目也不是我寫的掸掸,但是沒辦法有活就要干氯庆,有問題就要解決嘛。

? ? ? 網(wǎng)上找了很多資料都是說在頁面頭部放一個(gè)隱藏的img扰付,大小300*300px以上的圖堤撵,試過了,沒有任何卵用羽莺,后來總算找到一篇靠譜的博文 :http://www.cnblogs.com/lijianfu99/p/6934187.html 不能分享的原因是微信升級(jí)之后提高了安全性实昨,對(duì)于沒有接入公眾號(hào)的網(wǎng)頁分享,必須接入微信認(rèn)證公眾號(hào)盐固,具體看https://mp.weixin.qq.com/s/hAdtKl2i4ilyo9HxT1kXyw

有了前人指路一切都輕松很多荒给,主要就是用JSSDK來自定義縮略圖及自定義鏈接族跛,可直接參考官方手冊(cè)

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

? ? ? 首先你要確保公眾號(hào)相關(guān)設(shè)置:先登錄微信公眾平臺(tái)進(jìn)入“公眾號(hào)設(shè)置”的“功能設(shè)置”里填寫“JS接口安全域名”。這里要說一下公眾號(hào)必須是微信認(rèn)證過的锐墙,并且接口權(quán)限也必須有礁哄,綁定的安全域名就是你項(xiàng)目的域名。

? ? ? 接下來就是如何在tp5框架里引用JSSDK的問題了溪北,我這里的順序跟手冊(cè)上寫的不一樣桐绒,但是更便于理解,要使用微信的接口之拨,必定要先獲取你自己公眾號(hào)的一些基本信息茉继,所以這一步就是通過微信提供的JSSDK(http://demo.open.weixin.qq.com/jssdk/sample.zip)來獲取接口調(diào)用所需的參數(shù)。

將下載好的jssdk.php文件放在框架的extend或者項(xiàng)目的公共類庫蚀乔,個(gè)人比較喜歡放在common模塊下面烁竭,然后在項(xiàng)目的主控制器或者基控制器(所有控制器繼承的父控制器),調(diào)用方法也可參考下載下來的sample.php的原生php寫法吉挣,很簡單派撕,我貼一下自己的代碼:

如果采用框架別忘記命名空間,不然讀取不到類的

//微信jssdk的Config參數(shù)生成

$jssdk = new JSSDK("你自己的appId", "你自己的appSecret");

$signPackage = $jssdk->GetSignPackage();//應(yīng)該是getSignPackage睬魂,但是demo里這么調(diào)用好像也可以

$this->assign('wxJsApiParam',$signPackage);//將JSSDK拼接的簽名包賦值到模板

接下來就是在項(xiàng)目里調(diào)用API了

首先要引入js终吼,http://res.wx.qq.com/open/js/jweixin-1.2.0.js(簡書編輯器不支持js腳本標(biāo)簽,哈哈哈氯哮,防止sql注入际跪,做得有點(diǎn)過)

然后就是 通過config接口注入權(quán)限驗(yàn)證配置,微信手冊(cè)也有喉钢。我貼一下我的代碼:

wx.config({

debug: false,

appId: '{$wxJsApiParam.appId}',

timestamp: {$wxJsApiParam.timestamp},

nonceStr: '{$wxJsApiParam.nonceStr}',

signature: '{$wxJsApiParam.signature}',

jsApiList: [

'onMenuShareTimeline',

'onMenuShareAppMessage',

]

});

這個(gè)不難理解姆打,就是把剛剛后臺(tái)賦值的數(shù)據(jù)讀取到權(quán)限驗(yàn)證配置當(dāng)中,最后一個(gè)jsApiList是定義接口列表肠虽,onMenuShareTimeline和onMenuShareAppMessage可在手冊(cè)里看到是分享到朋友圈和分享給朋友的接口幔戏,當(dāng)然你也可以添加其他的接口,具體看手冊(cè)吧https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

下面是我的這兩個(gè)接口的定義:

var shareIconUrl = $('#shareWxImg img').attr('src');

wx.ready(function () {

wx.onMenuShareTimeline({

title: '{$data["CompanyInfo"]["Ui_Name"]}',

link: '{$wxJsApiParam.url}',

imgUrl: shareIconUrl,

success: function () {

//分享成功回調(diào)函數(shù)

},

cancel: function () {

// 取消分享回調(diào)函數(shù)

}

});

wx.onMenuShareAppMessage({

title: '{$data["CompanyInfo"]["Ui_Name"]}', // 分享標(biāo)題

desc: '{:mb_substr($data["CompanyInfo"]["U_PType"],0,50)}', // 分享描述

link: '{$wxJsApiParam.url}', // 分享鏈接舔痕,該鏈接域名或路徑必須與當(dāng)前頁面對(duì)應(yīng)的公眾號(hào)JS安全域名一致

imgUrl: shareIconUrl, // 分享圖標(biāo)

type: '', // 分享類型,music评抚、video或link豹缀,不填默認(rèn)為link

dataUrl: '', // 如果type是music或video伯复,則要提供數(shù)據(jù)鏈接,默認(rèn)為空

success: function () {

// 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù)

},

cancel: function () {

// 用戶取消分享后執(zhí)行的回調(diào)函數(shù)

}

});

});

里面的數(shù)據(jù)替換成自己的站點(diǎn)信息即可

然后就是測(cè)試環(huán)節(jié)了邢笙,因?yàn)橹昂苌僮鑫⑿畔嚓P(guān)的開發(fā)啸如,都不知道微信已經(jīng)出了微信調(diào)試工具了,感謝之前那篇博客的作者指導(dǎo)氮惯,下載地址:https://mp.weixin.qq.com/debug/cgi-bin/webdebugger/download?from=mpwiki&os=x64叮雳,安裝成功后可以直接在里面測(cè)試想暗,都不需要打開手機(jī),很是方便

這是jssdk配置成功的測(cè)試結(jié)果帘不,如果成功了说莫,你可以看到分享之后的效果了(ios縮略圖有點(diǎn)問題,安卓一切正常寞焙,如果有大神知道ios上怎么解決储狭,請(qǐng)?jiān)诹粞詤^(qū)賜教)

用之前那個(gè)博主的代碼測(cè)試有點(diǎn)問題,后來還是選擇了官方手冊(cè)文檔上的方法捣郊,不過還是謝謝他的指導(dǎo)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末辽狈,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子呛牲,更是在濱河造成了極大的恐慌刮萌,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件娘扩,死亡現(xiàn)場離奇詭異着茸,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)琐旁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門元扔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人旋膳,你說我怎么就攤上這事澎语。” “怎么了验懊?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵擅羞,是天一觀的道長。 經(jīng)常有香客問我义图,道長减俏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任碱工,我火速辦了婚禮娃承,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘怕篷。我一直安慰自己历筝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布廊谓。 她就那樣靜靜地躺著梳猪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蒸痹。 梳的紋絲不亂的頭發(fā)上春弥,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天呛哟,我揣著相機(jī)與錄音,去河邊找鬼匿沛。 笑死扫责,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的逃呼。 我是一名探鬼主播公给,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼蜘渣!你這毒婦竟也來了淌铐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤蔫缸,失蹤者是張志新(化名)和其女友劉穎腿准,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拾碌,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡吐葱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了校翔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弟跑。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖防症,靈堂內(nèi)的尸體忽然破棺而出孟辑,到底是詐尸還是另有隱情,我是刑警寧澤蔫敲,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布饲嗽,位于F島的核電站,受9級(jí)特大地震影響奈嘿,放射性物質(zhì)發(fā)生泄漏貌虾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一裙犹、第九天 我趴在偏房一處隱蔽的房頂上張望尽狠。 院中可真熱鬧,春花似錦叶圃、人聲如沸袄膏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哩陕。三九已至,卻和暖如春赫舒,著一層夾襖步出監(jiān)牢的瞬間悍及,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國打工接癌, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留心赶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓缺猛,卻偏偏與公主長得像缨叫,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子荔燎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容