最重要的一個(gè)坑肌厨?
微信分享配置生成的簽名需要的url一定是當(dāng)前頁(yè)面的完整URL
- invalid url domain當(dāng)前頁(yè)面所在域名與使用的appid沒(méi)有綁定,請(qǐng)確認(rèn)正確填寫(xiě)綁定的域名,如果使用了端口號(hào)杯瞻,則配置的綁定域名也要加上端口號(hào)(一個(gè)appid可以綁定三個(gè)有效域名)
- invalid signature簽名錯(cuò)誤。建議按如下順序檢查:
- 確認(rèn)簽名算法正確炫掐,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 頁(yè)面工具進(jìn)行校驗(yàn)魁莉。
- 確認(rèn)config中nonceStr(js中駝峰標(biāo)準(zhǔn)大寫(xiě)S), timestamp與用以簽名中的對(duì)應(yīng)noncestr, timestamp一致。
- 確認(rèn)url是頁(yè)面完整的url(請(qǐng)?jiān)诋?dāng)前頁(yè)面alert(location.href.split('#')[0])確認(rèn))募胃,包括'http(s)://'部分旗唁,以及'?'后面的GET參數(shù)部分,但不包括'#'hash后面的部分痹束。
- 確認(rèn) config 中的 appid 與用來(lái)獲取 jsapi_ticket 的 appid 一致检疫。
- 確保一定緩存access_token和jsapi_ticket。
- 確保你獲取用來(lái)簽名的url是動(dòng)態(tài)獲取的祷嘶,動(dòng)態(tài)頁(yè)面可參見(jiàn)實(shí)例代碼中php的實(shí)現(xiàn)方式屎媳。如果是html的靜態(tài)頁(yè)面在前端通過(guò)ajax將url傳到后臺(tái)簽名,前端需要用js獲取當(dāng)前頁(yè)面除去'#'hash部分的鏈接(可用location.href.split('#')[0]獲取,而且需要encodeURIComponent)论巍,因?yàn)轫?yè)面一旦分享烛谊,微信客戶端會(huì)在你的鏈接末尾加入其它參數(shù),如果不是動(dòng)態(tài)獲取當(dāng)前鏈接嘉汰,將導(dǎo)致分享后的頁(yè)面簽名失敗晒来。
- the permission value is offline verifying這個(gè)錯(cuò)誤是因?yàn)閏onfig沒(méi)有正確執(zhí)行,或者是調(diào)用的JSAPI沒(méi)有傳入config的jsApiList參數(shù)中郑现。建議按如下順序檢查:
- 確認(rèn)config正確通過(guò)湃崩。
- 如果是在頁(yè)面加載好時(shí)就調(diào)用了JSAPI,則必須寫(xiě)在wx.ready的回調(diào)中接箫。
- 確認(rèn)config的jsApiList參數(shù)包含了這個(gè)JSAPI攒读。
- permission denied該公眾號(hào)沒(méi)有權(quán)限使用這個(gè)JSAPI,或者是調(diào)用的JSAPI沒(méi)有傳入config的jsApiList參數(shù)中(部分接口需要認(rèn)證之后才能使用)辛友。
- function not exist當(dāng)前客戶端版本不支持該接口薄扁,請(qǐng)升級(jí)到新版體驗(yàn)。
- 為什么6.0.1版本config:ok废累,但是6.0.2版本之后不ok(因?yàn)?.0.2版本之前沒(méi)有做權(quán)限驗(yàn)證邓梅,所以config都是ok,但這并不意味著你config中的簽名是OK的邑滨,請(qǐng)?jiān)?.0.2檢驗(yàn)是否生成正確的簽名以保證config在高版本中也ok日缨。)
- 在iOS和Android都無(wú)法分享(請(qǐng)確認(rèn)公眾號(hào)已經(jīng)認(rèn)證,只有認(rèn)證的公眾號(hào)才具有分享相關(guān)接口權(quán)限掖看,如果確實(shí)已經(jīng)認(rèn)證匣距,則要檢查監(jiān)聽(tīng)接口是否在wx.ready回調(diào)函數(shù)中觸發(fā))
- 服務(wù)上線之后無(wú)法獲取jsapi_ticket面哥,自己測(cè)試時(shí)沒(méi)問(wèn)題。(因?yàn)閍ccess_token和jsapi_ticket必須要在自己的服務(wù)器緩存毅待,否則上線后會(huì)觸發(fā)頻率限制尚卫。請(qǐng)確保一定對(duì)token和ticket做緩存以減少2次服務(wù)器請(qǐng)求,不僅可以避免觸發(fā)頻率限制尸红,還加快你們自己的服務(wù)速度吱涉。目前為了方便測(cè)試提供了1w的獲取量,超過(guò)閥值后外里,服務(wù)將不再可用邑飒,請(qǐng)確保在服務(wù)上線前一定全局緩存access_token和jsapi_ticket,兩者有效期均為7200秒级乐,否則一旦上線觸發(fā)頻率限制疙咸,服務(wù)將不再可用)。
- uploadImage怎么傳多圖(目前只支持一次上傳一張风科,多張圖片需等前一張圖片上傳之后再調(diào)用該接口)
- 沒(méi)法對(duì)本地選擇的圖片進(jìn)行預(yù)覽(chooseImage接口本身就支持預(yù)覽撒轮,不需要額外支持)
- 通過(guò)a鏈接(例如先通過(guò)微信授權(quán)登錄)跳轉(zhuǎn)到b鏈接,invalid signature簽名失斣裟隆(后臺(tái)生成簽名的鏈接為使用jssdk的當(dāng)前鏈接题山,也就是跳轉(zhuǎn)后的b鏈接,請(qǐng)不要用微信登錄的授權(quán)鏈接進(jìn)行簽名計(jì)算故痊,后臺(tái)簽名的url一定是使用jssdk的當(dāng)前頁(yè)面的完整url除去'#'部分)
- 出現(xiàn)config:fail錯(cuò)誤(這是由于傳入的config參數(shù)不全導(dǎo)致顶瞳,請(qǐng)確保傳入正確的appId、timestamp愕秫、nonceStr慨菱、signature和需要使用的jsApiList)
- 如何把jsapi上傳到微信的多媒體資源下載到自己的服務(wù)器(請(qǐng)參見(jiàn)文檔中uploadVoice和uploadImage接口的備注說(shuō)明)
- Android通過(guò)jssdk上傳到微信服務(wù)器,第三方再?gòu)奈⑿畔螺d到自己的服務(wù)器戴甩,會(huì)出現(xiàn)雜音(微信團(tuán)隊(duì)已經(jīng)修復(fù)此問(wèn)題符喝,目前后臺(tái)已優(yōu)化上線)
- 綁定父級(jí)域名,是否其子域名也是可用的(是的甜孤,合法的子域名在綁定父域名之后是完全支持的)
- 在iOS微信6.1版本中协饲,分享的圖片外鏈不顯示,只能顯示公眾號(hào)頁(yè)面內(nèi)鏈的圖片或者微信服務(wù)器的圖片缴川,已在6.2中修復(fù)
- 是否需要對(duì)低版本自己做兼容(jssdk都是兼容低版本的茉稠,不需要第三方自己額外做更多工作,但有的接口是6.0.2新引入的把夸,只有新版才可調(diào)用)
- 該公眾號(hào)支付簽名無(wú)效而线,無(wú)法發(fā)起該筆交易(請(qǐng)確保你使用的jweixin.js是官方線上版本,不僅可以減少用戶流量,還有可能對(duì)某些bug進(jìn)行修復(fù)吞获,拷貝到第三方服務(wù)器中使用况凉,官方將不對(duì)其出現(xiàn)的任何問(wèn)題提供保障谚鄙,具體支付簽名算法可參考 JSSDK微信支付一欄)
- 目前Android微信客戶端不支持pushState的H5新特性各拷,所以使用pushState來(lái)實(shí)現(xiàn)web app的頁(yè)面會(huì)導(dǎo)致簽名失敗,此問(wèn)題已在Android6.2中修復(fù)
- uploadImage在chooseImage的回調(diào)中有時(shí)候Android會(huì)不執(zhí)行闷营,Android6.2會(huì)解決此問(wèn)題烤黍,若需支持低版本可以把調(diào)用uploadImage放在setTimeout中延遲100ms解決
- require subscribe錯(cuò)誤說(shuō)明你沒(méi)有訂閱該測(cè)試號(hào),該錯(cuò)誤僅測(cè)試號(hào)會(huì)出現(xiàn)
- getLocation返回的坐標(biāo)在openLocation有偏差傻盟,因?yàn)間etLocation返回的是gps坐標(biāo)速蕊,openLocation打開(kāi)的騰訊地圖為火星坐標(biāo),需要第三方自己做轉(zhuǎn)換娘赴,6.2版本開(kāi)始已經(jīng)支持直接獲取火星坐標(biāo)
- 查看公眾號(hào)(未添加): "menuItem:addContact"不顯示规哲,目前僅有從公眾號(hào)傳播出去的鏈接才能顯示,來(lái)源必須是公眾號(hào)
- ICP備案數(shù)據(jù)同步有一天延遲诽表,所以請(qǐng)?jiān)诘诙战壎?/li>