import { webLogin, getUserInfo, getConfigInfo, getTemplateInfo } from '@/common/utils/util.js' // #ifdef H5 // 解析地址栏参数 function getQueryVariable(variable) { // 从?开始获取后面的所有数据 var query = window.location.search.substring(1) // 从字符串&开始分隔成数组split var vars = query.split('&') // 遍历该数组 for (var i = 0; i < vars.length; i++) { // 从等号部分分割成字符 var pair = vars[i].split('=') // 如果第一个元素等于 传进来的参的话 就输出第二个元素 if (pair[0] == variable) { return pair[1] } } return undefined } if (!getQueryVariable('code')) { uni.removeStorageSync(`APPID${getQueryVariable('appid')}_token`) webLogin(true) } // #endif import Vue from 'vue' import App from './App' import store from 'store' import uView from 'uview-ui' Vue.use(uView) Vue.config.productionTip = false import { setStorage, getStorage, removeStorage } from '@/common/utils/storage.js' // #ifdef H5 if (getQueryVariable('x-token')) { setStorage('token', getQueryVariable('x-token') || '') } if (getQueryVariable('openId')) { setStorage('openId', getQueryVariable('openId') || '') } if (getQueryVariable('username')) { setStorage('name', getQueryVariable('username') || '') } if (getQueryVariable('userId')) { setStorage('userId', getQueryVariable('userId') || '') } if (getQueryVariable('mobile')) { setStorage('mobile', getQueryVariable('mobile') || '') } if (getQueryVariable('miniProgram')) { setStorage('miniProgram', getQueryVariable('miniProgram') || '') } if (getQueryVariable('appId')) { setStorage('appId', getQueryVariable('appId') || '') } if (getQueryVariable('miniOpenId')) { setStorage('miniOpenId', getQueryVariable('miniOpenId') || '') } if (getQueryVariable('sharerOpenId')) { setStorage('sharerOpenId', getQueryVariable('sharerOpenId') || '') } // #endif import { Base64 } from 'js-base64' Vue.prototype.$Base64 = Base64 import { toast, successToast, showLoading, tipLoading, hideLoading, modal, tips, navPage, redPage, backPage, callPhone, copy, openLocation, getLocation, getAddress, getNowDate, getNowDatetime } from 'common/utils/common' import { navToPage } from 'common/utils/navPag' Vue.prototype.$navToPage = navToPage Vue.prototype.$H5Href = process.env.VUE_APP_HREF Vue.prototype.$toast = toast Vue.prototype.$successToast = successToast Vue.prototype.$showLoading = showLoading Vue.prototype.$tipLoading = tipLoading Vue.prototype.$hideLoading = hideLoading Vue.prototype.$modal = modal Vue.prototype.$tips = tips Vue.prototype.$navPage = navPage Vue.prototype.$redPage = redPage Vue.prototype.$backPage = backPage Vue.prototype.$callPhone = callPhone Vue.prototype.$copy = copy Vue.prototype.$openLocation = openLocation Vue.prototype.$getLocation = getLocation Vue.prototype.$getAddress = getAddress Vue.prototype.$getNowDate = getNowDate Vue.prototype.$getNowDatetime = getNowDatetime Vue.prototype.$setStorage = setStorage Vue.prototype.$getStorage = getStorage Vue.prototype.$removeStorage = removeStorage // 注入全局 import pages from 'mixins' Vue.mixin(pages) App.mpType = 'app' import api from '@/common/http/' Vue.prototype.$api = api import * as filters from './filters/index.js' // global filters // register global utility filters Object.keys(filters).forEach(key => { Vue.filter(key, filters[key]) }) Vue.prototype.$onLaunched = new Promise((resolve, reject) => { Vue.prototype.$isResolve = resolve Vue.prototype.$isReject = reject }) import custom from '@/components/custom.vue' import Loading from '@/components/Loading.vue' import zjPageLayout from '@/components/zj-container/zj-page-layout.vue' Vue.component('custom', custom) Vue.component('Loading', Loading) Vue.component('zjPageLayout', zjPageLayout) import floatButton from '@/components/floatButton.vue' Vue.component('floatButton', floatButton) Vue.prototype.$getUserInfo = getUserInfo Vue.prototype.$getConfigInfo = getConfigInfo Vue.prototype.$getTemplateInfo = getTemplateInfo // #ifdef H5 import { router, RouterMount } from 'router' Vue.use(router) import Mylink from 'uni-simple-router/dist/link.vue' // 组件式导航 Vue.component('my-link', Mylink) // #endif // 渲染图片文件 Vue.prototype.$imageUrl = process.env.VUE_APP_BASE_URL + process.env.VUE_APP_BASE_API + '/common/img/get?key=' import { translaBeforeRegistration } from './global-text-processor' // 导入插件 Vue.prototype.$setLanguage = function (type) { window.localStorage.setItem('Vue_Translation_Of_Text_Type', type) setTimeout(() => { location.reload(true) }, 200) } translaBeforeRegistration(function () { const app = new Vue({ ...App, store }) //v1.3.5起 H5端 你应该去除原有的app.$mount();使用路由自带的渲染方式 // #ifdef H5 RouterMount(app, router, '#app') // #endif // #ifndef H5 app.$mount() //为了兼容小程序及app端必须这样写才有效果 // #endif })