工作需要蔽莱,需要支持頁面的微信自定義分享内颗。查閱了一些資料后整理如下沛鸵。最詳盡的資料在微信官方文檔微信公眾平臺蛾娶,下面是針對PHP微信分享的小結(jié)和整理灯谣。
前置條件
1. 公眾號支持微信自定義分享功能
首先要確保公眾號支持自定義分享功能,具不完全考證蛔琅,目前(2017.7)微信只支持認證過的公眾號有分享功能胎许。查看有無該功能,可在【開發(fā)】-【接口權(quán)限】中查看罗售。 如圖1和圖2辜窑。
2. 公眾號添加域名
如圖3,在【設(shè)置】-【公眾號設(shè)置】的【功能設(shè)置】Tab頁面寨躁,選擇JS接口安全域名設(shè)置穆碎。
在添加JS接口前,如圖4职恳,彈出的畫面會提醒在域名根目錄下添加文件所禀,下載超鏈接的文件后上傳至服務(wù)器谜悟,并確保路徑可以訪問后,再添加域名(注域名不帶http:北秽, 如http://www.baidu.com 應(yīng)填寫為 www.baidu.com)。
如果可以訪問成功且域名有效最筒,便可進行保存贺氓。同時會提示將服務(wù)器IP添加至白名單,按照提示可添加白名單床蜘,如果當時不確定IP地址辙培,也可稍后再條件。
3. IP白名單添加
3.1 獲取IP地址
? ?如果已經(jīng)登錄了服務(wù)器邢锯,可以在命令行輸入ifconfig查看本機IP扬蕊,eth1的inet addr項,如圖5丹擎。
如果沒有登錄服務(wù)器尾抑,可以通過Ping服務(wù)器的方式獲取服務(wù)器IP。如圖6蒂培。
3.2 設(shè)置白名單
在【設(shè)置】-【安全中心】里面再愈,選擇IP白名單,查看护戳,進行編輯翎冲,如圖7和圖8。
代碼部分
1. 代碼目錄結(jié)構(gòu)
示例代碼給的結(jié)構(gòu)前端PHP和后端處理代碼在同一個目錄結(jié)構(gòu)下媳荒,實際項目中可根據(jù)需求進行修改抗悍。圖9是一個示例:
2. 后臺代碼
后臺代碼是示例代碼的jssdk.php文件,里面向微信請求了access_token和ticket钳枕,微信示例代碼中缴渊,將請求的結(jié)果寫在文件里面進行緩存,每次調(diào)用分享時鱼炒,從文件中讀取有效時間疟暖,如果超時再重新請求。
3. 前臺代碼
3.1 ?appId和appSecret替換
前臺代碼是示例中的sample.php田柔,其中需要注意的是appId俐巴,和appSecrect需要進行替換。appId在微信公眾平臺【設(shè)置】-【基本配置】里面硬爆,如圖10欣舵,圖11。
2.? 代碼部分缀磕,如圖12缘圈。
第一步需要替換appId和appSecret劣光,第二步需要填充自己需要的apilist,第三步是設(shè)置分享的調(diào)用函數(shù)糟把。注意下面的代碼是開了debug的绢涡,如果最終在正式環(huán)境上調(diào)用,需要把config.debug 設(shè)置為false遣疯。