最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決SDK注入權(quán)限驗證安卓正常,IOS出現(xiàn)config fail的方法

 更新時間:2019年06月25日 08:32:11   作者:沉淀的風(fēng)  
這篇文章主要介紹了解決SDK注入權(quán)限驗證安卓正常,IOS出現(xiàn)config fail的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

實測有效 解決微信游覽器和企業(yè)微信游覽器JSSDK注入權(quán)限驗證 安卓正常,IOS出現(xiàn)config fail

一開始我們想到的是可能微信這邊的Bug,但細想一下應(yīng)該不是。因為可能涉及到了IOS的底層原理的問題,可能是不受微信所控。(有問題歡迎拍磚)

出現(xiàn)問題得解決問題啊,不能把問題晾在那邊不管,這是程序員的尊嚴(yán)!

我這個是SPA應(yīng)用,所以拿其中一個vue項目來做探討,其他SPA應(yīng)用同理

首先我們想到在安卓中生效,在IOS中不生效是什么原因?

我們把所有設(shè)置都檢查了一遍,最終發(fā)現(xiàn)是當(dāng)前路由location.href不一致的問題

我們可以去嘗試一下去到具體某個頁面:

在Android下微信復(fù)制當(dāng)前鏈接然后粘貼到輸入框里,會發(fā)現(xiàn)路由是具體到某個路由。例如:www.xxxx.com/news/xxxx

在IOS下微信復(fù)制當(dāng)前鏈接然后粘貼到輸入框里,會發(fā)現(xiàn)路由是首頁。例如:wwwx.xxxx.com/index

所以問題就定位在了url上,這次我只拿調(diào)取掃一掃功能,其余功能自行加上。

那我們只需要判斷訪問設(shè)備是安卓還是IOS即可

首先在index.html頁面中引入JSSDK文件

然后在App.vue文件中

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
 const url = location.href
 const res = await getSignature(url) //獲取設(shè)置config的參數(shù)
 let { timestamp, noncestr, signature, appId } = res.data
 wx.config({
  beta: true,
  debug: false,
  appId: appId,
  timestamp: timestamp,
  nonceStr: noncestr,
  signature: signature,
  jsApiList: ['scanQRCode']
 });
 wx.ready(function () {
  console.log('設(shè)備已經(jīng)可以使用')
 })
}

具體到某個頁面的時候 例如:news下

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
 const url = location.href
 const res = await getSignature(url) //獲取設(shè)置config的參數(shù)
 let { timestamp, noncestr, signature, appId } = res.data
 wx.config({
  beta: true,
  debug: false,
  appId: appId,
  timestamp: timestamp,
  nonceStr: noncestr,
  signature: signature,
  jsApiList: ['scanQRCode']
 });
 wx.ready(function () {
  console.log('設(shè)備已經(jīng)可以使用')
 })
}

僅限于在微信自帶的游覽器上。企業(yè)微信自帶的游覽器這方法是不行的。

通過微信企業(yè)瀏覽器掃碼獲取到的微信瀏覽器信息如下:(圖片摘取于CSDN)

微信客戶端掃碼獲取到的信息如下:

對比企業(yè)微信游覽其和微信游覽器的信息,多出了wxwork。那么我們只需要添加多一個判斷條件就好了

在App.vue文件中

if (/(wxwork)/i.test(navigator.userAgent)) {
 return
}
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
 const url = location.href
 const res = await getSignature(url) //獲取設(shè)置config的參數(shù)
 let { timestamp, noncestr, signature, appId } = res.data
 wx.config({
  beta: true,
  debug: false,
  appId: appId,
  timestamp: timestamp,
  nonceStr: noncestr,
  signature: signature,
  jsApiList: ['scanQRCode']
 });
 wx.ready(function () {
  console.log('設(shè)備已經(jīng)可以使用')
 })
}

在news文件中

if (/(wxwork)/i.test(navigator.userAgent)) {
 return
}
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
 const url = location.href
 const res = await getSignature(url) //獲取設(shè)置config的參數(shù)
 let { timestamp, noncestr, signature, appId } = res.data
 wx.config({
  beta: true,
  debug: false,
  appId: appId,
  timestamp: timestamp,
  nonceStr: noncestr,
  signature: signature,
  jsApiList: ['scanQRCode']
 });
 wx.ready(function () {
  console.log('設(shè)備已經(jīng)可以使用')
 })
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

班玛县| 新安县| 延川县| 庆安县| 和平县| 宁阳县| 诏安县| 通榆县| 九龙城区| 壶关县| 宁城县| 太谷县| 民勤县| 凤凰县| 永济市| 丹巴县| 萝北县| 普兰县| 连州市| 鞍山市| 祥云县| 厦门市| 莱州市| 龙井市| 怀安县| 林州市| 库车县| 阳谷县| 九龙城区| 石嘴山市| 赤水市| 怀宁县| 沅陵县| 三台县| 射阳县| 武宣县| 黑河市| 安远县| 晋中市| 洪洞县| 金川县|