1. 程式人生 > 實用技巧 >IOS呼叫微信掃一掃scanQRCode報錯the permission value is offline verifying

IOS呼叫微信掃一掃scanQRCode報錯the permission value is offline verifying

問題

ios呼叫微信掃一掃scanQRCode報錯the permission value is offline verifying

document.getElementById("scanQRCode").onclick = function() {
  wx.scanQRCode({
    needResult: 1, // 預設為0,掃描結果由微信處理,1則直接返回掃描結果
    success: function(res) {
      alert("234");
      let data = res.resultStr; // 當needResult 為 1 時,掃碼返回的結果
      alert(data);
      alert(res.resultStr);
      window.open(data);
      //處理自己的邏輯
    }
  });
};

這種寫法寫在wx.ready裡就會報錯the permission value is offline verifying,安卓下可以呼叫

基本解決方法

the permission value is offline verifying這個錯誤是因為config沒有正確執行,或者是呼叫的JSAPI沒有傳入config的jsApiList引數中。建議按如下順序檢查:

1.確認config正確通過。

2.如果是在頁面載入好時就呼叫了JSAPI,則必須寫在wx.ready的回撥中。

3.確認config的jsApiList引數包含了這個JSAPI。

4.呼叫

 let _data = data.data.jsapi;
  wx.config({
    debug: false,
    appId: _data.appId,
    timestamp: _data.timestamp,
    nonceStr: _data.nonceStr,
    signature: _data.signature,
    jsApiList: ['scanQRCode']
  });
  wx.scanQRCode({
    desc: 'scanQRCode desc',
    needResult: 1, // 預設為0,掃描結果由微信處理,1則直接返回掃描結果,
    scanType: ['barCode'], // 可以指定掃二維碼還是一維碼,預設二者都有
    success: function (res) {
      alert(res.resultStr);
    }
  });

最終解決方法

當以上這些都沒有問題,created 裡調的介面,分享的介面都通了,掃一掃的也是通的。我加了"checkJsApi"返回scanQRCode:true,但是還有有scanQRCode:the permission value is offline verifying的報錯

位址列問題:push的跳轉不能被寫入ios微信瀏覽器的位址列

處理:push跳轉改為window.loaction.href跳轉 ;window.loaction.href跳轉才能改變位址列的變化,才能簽名成功

IOS呼叫微信掃一掃scanQRCode報錯the permission value is offline verifying