vue調起微信掃一掃


vue調起微信掃一掃,兩個注意的點

1、url必須是不帶參的地址欄,如果傳了帶參數的地址url有可能會出現安卓機能調,蘋果機報錯或者安卓和蘋果都報錯

2、this指代問題在vx.ready等等方法里面此時的this指代的並不是vue實例,此時就應該在方法開頭賦值一個對象為vue實例了

onScan(){

        const _this = this
        this.$axios
        .get("你的后台地址", {
          params: {
            url: location.href.split("#")[0]//你的不帶參的當前頁url
          }
        })
        .then(response => {
          let res = response.data;
          wx.config({
            debug: false,
            appId: res.data.jsSdkUiPackage.appId,
            timestamp: res.data.jsSdkUiPackage.timestamp,
            nonceStr: res.data.jsSdkUiPackage.nonceStr,
            signature: res.data.jsSdkUiPackage.signature,
            jsApiList: ["scanQRCode"]
          });
        }); 
        wx.error(function (res) {
            
                Dialog.alert({
                      title: "提示",
                      message: res.errMsg
                    }).then(() => {});
            
            
        });
        wx.ready(function () {
            wx.checkJsApi({
                jsApiList: ['scanQRCode'],
                success: function (res) {
 
                }
            });
            wx.scanQRCode({
                needResult: 1, // 默認為0,掃描結果由微信處理,1則直接返回掃描結果,
                scanType: ["qrCode"], // 可以指定掃二維碼還是一維碼,默認二者都有
                success: function (res) {
                      var result = res.resultStr; // 當needResult 為 1 時,掃碼返回的結果
                      _this.$router.push({
                                  name: "reportDetail",
                                  query: { reportId: result }
                                });
                }
            });
        });
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM