1、當微信Js簽名不成功時,微信公衆號不會有任何提示,什麼 wx.ready、wx.error都不會執行,此時可以通過微信js 調試客戶端定位錯誤。
2、微信Js簽名,可以用微信Js簽名工具(http://work.weixin.qq.com/api/jsapisign)對比你的簽名是否正確:簽名條件:jsapi_ticket(生成時又需要access_token)
a)引入js: <script src='https://res.wx.qq.com/open/js/jweixin-1.0.0.js'></script>
b)調用wx.config方法,如:
wx.config({
debug: false, // 開啓調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時纔會打印。
appId: "@weiXinJs.appId", // 必填,公衆號的唯一標識
timestamp: "@weiXinJs.timestamp", // 必填,生成簽名的時間戳
nonceStr: "@weiXinJs.noncestr", // 必填,生成簽名的隨機串
signature: "@weiXinJs.signature",// 必填,簽名,見附錄1
jsApiList: ['checkJsApi', 'scanQRCode'] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
3、 當調用掃一掃或其它功能在子頁iframe中,在子頁中註冊簽名會失敗,所以將註冊簽名放大主頁面中,子頁面調用此主頁面方法,例:
父頁面:
//注:因爲掃一掃在子頁iframe中,在子頁中註冊簽名會失敗,所以將註冊簽名放大主頁面中,子頁面調用此主頁面方法
wx.config({
debug: false, // 開啓調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時纔會打印。
appId: "@weiXinJs.appId", // 必填,公衆號的唯一標識
timestamp: "@weiXinJs.timestamp", // 必填,生成簽名的時間戳
nonceStr: "@weiXinJs.noncestr", // 必填,生成簽名的隨機串
signature: "@weiXinJs.signature",// 必填,簽名,見附錄1
jsApiList: ['checkJsApi', 'scanQRCode'] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
子頁面:parent.wx.scanQRCode
parent.wx.scanQRCode({
needResult: 1, // 默認爲0,掃描結果由微信處理,1則直接返回掃描結果,
scanType: ["qrCode", "barCode"], // 可以指定掃二維碼還是一維碼,默認二者都有
success: function (res) {
console.log(res);
var result = res.resultStr; // 當needResult 爲 1 時,掃碼返回的結果
}
});