import Vue from 'vue' import App from './App' Vue.config.productionTip = false App.mpType = 'app' // 引入全局 uView 框架 import uView from 'uview-ui' Vue.use(uView) // 全局存储 vuex 的封装 import store from '@/store' // 引入 uView 提供的对 vuex 的简写法文件 let vuexStore = require('@/store/$u.mixin.js') Vue.mixin(vuexStore) // 引入 uView 对小程序分享的 mixin 封装 let mpShare = require('uview-ui/libs/mixin/mpShare.js') Vue.mixin(mpShare) // Vue i18n 国际化 import VueI18n from '@/common/vue-i18n.min.js' Vue.use(VueI18n) // i18n 部分的配置,引入语言包,注意路径 import lang_zh from '@/common/locales/zh_CN.js' import lang_en from '@/common/locales/en_EN.js' import lang_fr from '@/common/locales/fr_FR.js' import lang_es from '@/common/locales/es_ES.js' import lang_ar from '@/common/locales/ar_EG.js' import lang_de from '@/common/locales/de_DE.js' import lang_pl from '@/common/locales/pl_PL.js' const i18n = new VueI18n({ // 默认语言 locale: store.state.vuex_language, // 引入语言文件 messages: { 'zh_CN': lang_zh, 'en_US': lang_en, 'fr_FR': lang_fr, // 新增:法语 'es_ES': lang_es, // 新增:西班牙语 'ar_EG': lang_ar, // 新增:阿拉伯语 'de_DE': lang_de, // 新增:德语 'pl_PL': lang_pl // 新增:波兰语 } }) // 由于微信小程序的运行机制问题,需声明如下一行,H5和APP非必填 // Vue.prototype._i18n = i18n const app = new Vue({ i18n, store, ...App }) import * as echarts from "@/components/echarts/echarts.min.js" Vue.prototype.$echarts = echarts import { replaceAll } from '@/common/common.js' Vue.prototype.replaceAll = replaceAll // http 拦截器,将此部分放在 new Vue() 和 app.$mount() 之间,才能 App.vue 中正常使用 import httpInterceptor from '@/common/http.interceptor.js' Vue.use(httpInterceptor, app) // http 接口 API 抽离,免于写 url 或者一些固定的参数 import httpApi from '@/common/http.api.js' Vue.use(httpApi, app) import {formatValue} from '@/common/common.js' Vue.prototype.$formatValue = formatValue import * as filters from '@/common/filters.js' // 定义全局自定义过滤器 Object.keys(filters).forEach(key => { Vue.filter(key, filters[key]) }) app.$mount()