小程式WebView調用JSSDK(使用掃一掃功能)
-
-
- 如何使用JSSDK
-
-
- 一: 我開發的是小程式,哪裡來的公衆号設定?
- 二: 引入的JS檔案(http://res.wx.qq.com/open/js/jwexin-1.4.0.js)報錯? ![在這裡插入圖檔描述](https://img-blog.csdnimg.cn/20190731190417577.png)
- 三: 獲得簽名(權限驗證)?
-
-
最近項目仲需要在小程式中的webview網頁中調出掃一掃功能。
目前想到的思路有兩種
- 利用JSSDK
- 跳到小程式頁面進行掃碼,再将結果攜帶傳回(比較曲折)
這裡隻實踐了第一種,這裡記錄過程中需要記錄的點。
如何使用JSSDK
這裡是微信的官方API位址
總的來說準備要5個步驟:
- 步驟一:綁定域名
- 步驟二:引入JS檔案
- 步驟三:通過config接口注入權限驗證配置
- 步驟四:通過ready接口處理成功驗證
- 步驟五:通過error接口處理失敗驗證
其中有幾個地方需要注意的有:::
一: 我開發的是小程式,哪裡來的公衆号設定?
這裡确實需要你要有一個公衆号,并且将你程式的域名按照上面說的設定好。到這裡你可能不知道這個公衆号用來幹嘛的,之後會講到。
二: 引入的JS檔案(http://res.wx.qq.com/open/js/jwexin-1.4.0.js)報錯?
比較粗心,沒有注意到原來程式沒有正常加載該js,又沒有什麼提示。我看到程式沒有按我的預期執行代碼的時候,卡了一段時間在找原因。最後才發現是因為這段js沒有正常加載。原因可能是你的http/https環境問題,如果是https的環境可以把那個js檔案的位址也改成https,例如:
https://res.wx.qq.com/open/js/jwexin-1.4.0.js
我記得有個寫發好像是不需要http字首的,這樣就會自适應環境,我還沒專門驗證過:
: //res.wx.qq.com/open/js/jwexin-1.4.0.js(冒号跟斜杠号有空格記得去掉)
三: 獲得簽名(權限驗證)?
這邊是背景的工作,需要注意的是url的位址,要在公衆号中設定成為JS接口安全域名,并且APPID是傳回公衆号的APPID,而不是小程式的(問題一的答案:公衆号的作用)。
PS:::如果你的程式發現簽名正确缺發現提示無效路徑(Invalid URL)的話就要注意了,很可能是你的APPID不是公衆号,或者是公衆号但是還沒設定成JS接口安全域名
這裡附上一個簽名校驗工具:簽名校驗工具
如果過程中出現錯誤,要記得去微信的文檔中找到該種錯誤的資訊,能夠幫你盡快找到原因。