微信JSSDK授権互換iosとandroid
1775 ワード
一、公共の方法を抽出する
wxConfig.js
mail.js
呼び出し機能のコンポーネント
iosでwx.co nfigを行うときは、毎回のアドレスが最初のアドレスです。最初に入るときは権限検証を行います。いいえの場合は認証に失敗します。この問題はアンディには存在しません。
wxConfig.js
/*
* IOS
* */
import http from "./http"; //
import wx from "weixin-js-sdk";
export function isIOS() {
let isIphone = navigator.userAgent.includes("iPhone");
let isIpad = navigator.userAgent.includes("iPad");
return isIphone || isIpad;
}
/*
* ,
* */
export function requestWxStr() {
http
.get("/Message/getJsSdkConfig", {
appId: "wx91e01031621·····", // id
url: location.href.split("#")[0] //
})
.then(res => {
if (res.successful) {
wx.config({
debug: false,
appId: res.data.appId, // ,
timestamp: res.data.timestamp, // ,
nonceStr: res.data.noncestr, // ,
signature: res.data.signature, // ,
jsApiList: ["scanQRCode"] // , JS
});
}
});
}
二、プロジェクトのmain.jsでルーティング・ガードによって判断する設備は、iosのものであり、初期のルートwx.com figである。mail.js
import {isIOS,requestWxStr} from './uils/wxConfig' //
router.beforeEach((to, from, next) => {
if (isIOS()) { // ios wx.config
if (from.path === '/') {
requestWxStr() // wx.config
}
}
next();
});
三、wx機能を呼び出したコンポーネント判定装置で、androidであるのはこのコンポーネント内でwx.com figである。呼び出し機能のコンポーネント
import { isIOS, requestWxStr } from "../uils/wxConfig";
export default {
mounted() {
this.init();
},
methods: {
//
init() {
if (!isIOS()) {
requestWxStr();
}
},
}
四、まとめiosでwx.co nfigを行うときは、毎回のアドレスが最初のアドレスです。最初に入るときは権限検証を行います。いいえの場合は認証に失敗します。この問題はアンディには存在しません。