前端實現(xiàn)微信平臺實現(xiàn)分享

隨著微信的升級,關(guān)于微信的一些jssdk接口需通過簽名之后才可以使用,今天主要與大家講解一下前端如何調(diào)用jssdk接口,以及如何來簽名實現(xiàn)的鳄逾。以及還有一些接口配置。

首先與大家講解一下微信js-sdk的的一些基本介紹:

微信JS-SDK是微信公眾平臺面向網(wǎng)頁開發(fā)者提供的基于微信內(nèi)的網(wǎng)頁開發(fā)工具包灵莲。

通過使用微信JS-SDK雕凹,網(wǎng)頁開發(fā)者可借助微信高效地使用拍照、選圖、語音枚抵、位置等手機系統(tǒng)的能力线欲,同時可以直接使用微信分享、掃一掃汽摹、卡券李丰、支付等微信特有的能力,為微信用戶提供更優(yōu)質(zhì)的網(wǎng)頁體驗逼泣。

本次主要講解的內(nèi)容:如何自定義分享到朋友圈趴泌,朋友,屏蔽分享到qq拉庶,qq空間等功能嗜憔。

JSSDK使用步驟:

一:綁定域名

首先登錄微信公眾平臺,進入"公眾號"里的功能設置氏仗,填寫"js接口安全域名"吉捶。主意:1.要查看自己的公眾號是否有您需要的相對的開發(fā)權(quán)限

2.js接口安全域名,就是你項目發(fā)布的地方廓鞠,還有一定要把.txt文件放到你前端項目的根目錄。如果在配置過程中不清楚可以聯(lián)系我谣旁,cyh_nini

圖1
圖2

二床佳、引入JS文件

在需要調(diào)用JS接口的頁面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.0.0.js

請注意榄审,如果你的頁面啟用了https砌们,務必引入https://res.wx.qq.com/open/js/jweixin-1.0.0.js,否則將無法在iOS9.0以上系統(tǒng)中成功使用JSSDK

圖3

三搁进、通過config接口注入權(quán)限驗證配置

微信源碼配置介紹如下:

wx.config({

debug: true, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會在客戶端alert出來浪感,若要查看傳入的參數(shù),可以在pc端打開饼问,參數(shù)信息會通過log打出影兽,僅在pc端時才會打印。

appId: '', // 必填莱革,公眾號的唯一標識

timestamp: , // 必填峻堰,生成簽名的時間戳

nonceStr: '', // 必填,生成簽名的隨機串

signature: '',// 必填盅视,簽名捐名,見附錄1

jsApiList: [] // 必填,需要使用的JS接口列表闹击,所有JS接口列表見附錄2

});

四镶蹋、通過ready接口處理成功或失敗驗證

wx.ready(function(){

// config信息驗證后會執(zhí)行ready方法,所有接口調(diào)用都必須在config接口獲得結(jié)果之后,config是一個客戶端的異步操作贺归,所以如果需要在頁面加載時就調(diào)用相關(guān)接口淆两,則須把相關(guān)接口放在ready函數(shù)中調(diào)用來確保正確執(zhí)行。對于用戶觸發(fā)時才調(diào)用的接口牧氮,則可以直接調(diào)用琼腔,不需要放在ready函數(shù)中。

});

wx.error(function(res){

// config信息驗證失敗會執(zhí)行error函數(shù)踱葛,如簽名過期導致驗證失敗丹莲,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數(shù)中查看尸诽,對于SPA可以在這里更新簽名甥材。

});

圖4

前端代碼就完了,但當你們寫上這些代碼的時候性含,你會發(fā)現(xiàn)一直報錯:

errMsg:config:invalid signature

按微信的說法是按照這幾種做法:

確認簽名算法正確洲赵,可用http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign頁面工具進行校驗。

確認config中nonceStr(js中駝峰標準大寫S), timestamp與用以簽名中的對應noncestr, timestamp一致商蕴。

確認url是頁面完整的url(請在當前頁面alert(location.href.split('#')[0])確認)叠萍,包括'http(s)://'部分,以及'绪商?'后面的GET參數(shù)部分,但不包括'#'hash后面的部分苛谷。

確認 config 中的 appid 與用來獲取 jsapi_ticket 的 appid 一致。

確保一定緩存access_token和jsapi_ticket格郁。

確保你獲取用來簽名的url是動態(tài)獲取的腹殿,動態(tài)頁面可參見實例代碼中php的實現(xiàn)方式。如果是html的靜態(tài)頁面在前端通過ajax將url傳到后臺簽名例书,前端需要用js獲取當前頁面除去'#'hash部分的鏈接(可用location.href.split('#')[0]獲取,而且需要encodeURIComponent)锣尉,因為頁面一旦分享,微信客戶端會在你的鏈接末尾加入其它參數(shù)决采,如果不是動態(tài)獲取當前鏈接自沧,將導致分享后的頁面簽名失敗。

可是我都是按步驟來的树瞭,簽名工具也驗證簽名沒問題暂幼,這6個都確認通過了,但一直不知道錯在哪里移迫。

最后才知道旺嬉,原來是通過url去獲取簽名,就是因為url沒有encode厨埋,因為js-sdk接口去驗證的你簽名是否正確時邪媳,它是把url進行encode了,真是坑呀,搞了一天才發(fā)現(xiàn)是這么這原因雨效。不說了迅涮,直接上代碼:

圖5

這段代碼是通過把動態(tài)生成的url傳給后臺,讓后臺去生成處理相應的簽名算法徽龟。

重點提醒:

Token請求每天也是有上限的叮姑,每天請求最多2000次,超過了次數(shù)將無法在此請求据悔,一旦超出传透,可以在公眾號管理后臺-開發(fā)-接口權(quán)限-獲取access_token的操作哪里重置,不過每個月只有10此機會

有一個網(wǎng)頁調(diào)試工具极颓,來查看token的朱盐,地址:

https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=%E5%9F%BA%E7%A1%80%E6%94%AF%E6%8C%81&form=%E8%8E%B7%E5%8F%96access_token%E6%8E%A5%E5%8F%A3%20/token

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市菠隆,隨后出現(xiàn)的幾起案子兵琳,更是在濱河造成了極大的恐慌,老刑警劉巖骇径,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件躯肌,死亡現(xiàn)場離奇詭異,居然都是意外死亡破衔,警方通過查閱死者的電腦和手機清女,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來运敢,“玉大人校仑,你說我怎么就攤上這事忠售〈荩” “怎么了?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵稻扬,是天一觀的道長卦方。 經(jīng)常有香客問我,道長泰佳,這世上最難降的妖魔是什么盼砍? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮逝她,結(jié)果婚禮上浇坐,老公的妹妹穿的比我還像新娘。我一直安慰自己黔宛,他們只是感情好近刘,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般觉渴。 火紅的嫁衣襯著肌膚如雪介劫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天案淋,我揣著相機與錄音座韵,去河邊找鬼。 笑死踢京,一個胖子當著我的面吹牛誉碴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播漱挚,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼翔烁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了旨涝?” 一聲冷哼從身側(cè)響起蹬屹,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎白华,沒想到半個月后慨默,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡弧腥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年厦取,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片管搪。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡虾攻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出更鲁,到底是詐尸還是另有隱情霎箍,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布澡为,位于F島的核電站漂坏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏媒至。R本人自食惡果不足惜顶别,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拒啰。 院中可真熱鬧驯绎,春花似錦、人聲如沸谋旦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赴叹,卻和暖如春鸿染,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背乞巧。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工涨椒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绽媒。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓蚕冬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親是辕。 傳聞我的和親對象是個殘疾皇子囤热,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

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