一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - IOS - 解決SDK注入權限驗證安卓正常,IOS出現(xiàn)config fail的方法

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

2021-05-25 16:06沉淀的風 IOS

這篇文章主要介紹了解決SDK注入權限驗證安卓正常,IOS出現(xiàn)config fail的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

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

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

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

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

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

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

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

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

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

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

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

然后在App.vue文件中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
 const url = location.href
 const res = await getSignature(url) //獲取設置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('設備已經(jīng)可以使用')
 })
}

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
 const url = location.href
 const res = await getSignature(url) //獲取設置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('設備已經(jīng)可以使用')
 })
}

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

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

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

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

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

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

在App.vue文件中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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) //獲取設置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('設備已經(jīng)可以使用')
 })
}

在news文件中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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) //獲取設置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('設備已經(jīng)可以使用')
 })
}

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

原文鏈接:https://www.cnblogs.com/xyb0226/p/11080137.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品每日在线观看男人的天堂 | 九九热精品免费观看 | 日韩精品视频美在线精品视频 | 公交车高h| 国语自产拍在线观看7m | 秋霞网毛片 | 亚洲成人黄色网址 | 欧美大陆日韩一区二区三区 | www.色啪啪.com| 视频网站入口在线看 | 五月天综合久久 | 日本一卡二卡3卡四卡无卡网址 | 91在线精品国产 | 免费尤物视频 | 国产青草视频在线观看免费影院 | 美女毛片在线 | 国产一级毛片潘金莲的奶头 | 男人操美女逼视频 | 亚洲天堂影院在线观看 | 丰满在线观看 | 男模chinesegayxxxx | 欧美8x8x | 成人亚洲欧美日韩在线观看 | 日韩欧美成末人一区二区三区 | 日韩中文在线 | 四虎影院在线免费播放 | 91制片厂制作果冻传媒2021 | 久久日本片精品AAAAA国产 | 日本人泡妞xxxxxx69 | 日韩av.com | 女海盗斯蒂内塔的复仇2免费观看 | 日本男女视频 | 九九99香蕉在线视频免费 | 四虎2020紧急免费入口 | 天天做日日做 | 国产一级一级一级成人毛片 | 日本久久影视 | 好男人资源大全免费观看 | 色色色色网站 | 国产成人小视频在线观看 | 亚洲福利一区二区精品秒拍 |