上禮拜工作有個需求辱魁,
用戶使用PC瀏覽網(wǎng)頁時烟瞧,
可點擊把文章分享到朋友圈的功能,
為此我到了微信公眾平臺查官方文檔染簇,
一直認為"微信JS-SDK說明文檔"参滴,就是我要的文檔,
依照了說明:
先用appId及appSecret獲取access_token锻弓,
再用access_token獲取jsapi_ticket砾赔,
將jsapi_ticket、nonceStr、timestamp及要分享的url用sha1產(chǎn)生signature暴心,
接著在js中加入下面代碼(代碼取自官方提供的范例)
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
wx.config({
debug: true,
appId: '自己的appid',
timestamp: '用來產(chǎn)生簽名的時間戳',
nonceStr: '用來產(chǎn)生簽名的亂數(shù)字符串',
signature: '產(chǎn)生的簽名',
// 所有要調(diào)用的 API 都要加到這個列表中
jsApiList: ['onMenuShareTimeline']
});
weixinShare = function(){
wx.ready(function () {
// 在這里調(diào)用 API
wx.onMenuShareTimeline({
title: '我的第一個標題', // 分享標題
link: '我文章的鏈接', // 分享鏈接妓盲,該鏈接域名或路徑必須與當前頁面對應(yīng)的公眾號JS安全域名一致
imgUrl: '分享圖片的鏈接', // 分享圖標
success: function () {
// 用戶確認分享后執(zhí)行的回調(diào)函數(shù)
},
cancel: function () {
// 用戶取消分享后執(zhí)行的回調(diào)函數(shù)
}
});
});
}
</script>
在html加上點擊事件
<a href="javascript:;" onclick="weixinShare()">share</a>
但調(diào)試了快一個星期,
分享的popup視窗就是沒有出現(xiàn)专普,
也沒有報錯悯衬。
上百度搜,很少有人分享怎么解決這個問題脆诉,
也很少有人分享遇到這個問題甚亭,
我再去看了簡書的微信分享功能,
接著找同事小小小小小小抱怨(= =#)這個功能我遇到的情況击胜,
與同事討論的過程中亏狰,突然間我恍然大悟!
兇手就在這些人之中(柯南上身)
原來這是H5的微信分享這是H5的微信分享這是H5的微信分享
(本公司H5代表手機上的web頁面)
我崩潰了~~~
微信沒有辦法像臉書或微博一樣偶摔,
在網(wǎng)頁引用官方j(luò)s暇唾,
用appId調(diào)用官方分享服務(wù)的接口,
直接分享文章到臉書或微博的網(wǎng)站辰斋。
因為微信朋友圈策州,
是在微信App的一個功能頁面,
不是一個網(wǎng)站宫仗!不是一個網(wǎng)站够挂!不是一個網(wǎng)站!
所以必須用手機打開微信App藕夫,
點擊下方的"發(fā)現(xiàn)"孽糖,再點擊右上方的掃一掃,
掃qrcode毅贮,掃完后办悟,微信app會開啟該頁面,
用戶再點擊右上方...的圖標滩褥,再點擊下方分享到朋友圈病蛉。
如此才可以把PC上看到的網(wǎng)頁分享到朋友圈。
于是我萌了瑰煎,
根本不需要獲取啥access_token或jsapi_ticket(還要全局緩存)铺然,
再產(chǎn)生signature來調(diào)用分享的接口,
只需要產(chǎn)生要分享網(wǎng)址的qrcode就可以了酒甸。
恍然大悟的我立馬百度了產(chǎn)生qrcode的jquery插件探熔,
https://github.com/jeromeetienne/jquery-qrcode/
然后在用戶點擊分享到微信朋友圈圖標時,
彈出一個popup烘挫,調(diào)用產(chǎn)生qrcode的插件產(chǎn)生qrcode诀艰,
3分鐘完成了在PC上將文章分享到微信朋友圈的功能柬甥。
這個讓我失眠好多天的需求,解決方式只是產(chǎn)生一個qrcode這么的簡單其垄。
完全不需要引用官方的js及調(diào)用微信的服務(wù)接口苛蒲,
因為分享到朋友圈是在微信App上實現(xiàn)的,
不是在PC上實現(xiàn)的绿满。