123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import Vue from 'vue'
- import './globalDirectives'
- import './globalFilters'
- import WeiXinSDK from '@/utils/wx-js-sdk-register.ts'
- import { isWeiXinBrowser, androidOrIOS } from '@/utils/globalFunctions'
- import { getWxSdkSign } from '@/api/index.ts'
- declare module 'vue/types/vue' {
- interface Vue {
- $env: any;
- $registerWxSdk: any;
- $wxSdk: any;
- }
- }
- const inWeiXinBrowser = isWeiXinBrowser()
- const isAndroidOrIos = androidOrIOS()
- Vue.prototype.$env = {
- isWeiXinBrowser: inWeiXinBrowser,
- platform: inWeiXinBrowser ? 'wx' : 'app',
- isAndroid: isAndroidOrIos === 'android',
- isIOS: isAndroidOrIos === 'ios'
- }
- // 如果是微信浏览器, 注册一个微信SDK初始化函数
- if (inWeiXinBrowser) {
- Vue.prototype.$registerWxSdk = async () => {
- const sdkInfo = await getWxSdkSign({ url: location.href.split('#')[0] })
- if (!sdkInfo) return
- const info = sdkInfo.data
- if (info && info.wxsdk && Array.isArray(info.wxsdk)) {
- const sdk = info.wxsdk
- Vue.prototype.$wxSdk = new WeiXinSDK({
- appId: sdk[0],
- timestamp: sdk[1],
- nonceStr: sdk[2],
- signature: sdk[3]
- })
- }
- return info
- }
- Vue.prototype.$registerWxSdk()
- }
- // 正式环境下屏蔽console.log
- if (process.env.NODE_ENV === 'production') {
- const print = window.console.log
- if (window.localStorage.getItem('log') === '1') {
- window.console.log = print
- } else {
- window.console.log = () => null
- }
- }
|