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 } }