UNPKG

ems-basedata-wdz

Version:

ems-basedata by xianer

104 lines (95 loc) 2.72 kB
import Vue from 'vue'; import App from './App.vue'; import iView from 'view-design'; import VueRouter from 'vue-router'; import VueI18n from 'vue-i18n'; import './tools/index.js'; import './assets/css/common.css'; import './static/css/app.less'; import './static/css/global.less'; import 'core-js/stable'; import 'regenerator-runtime/runtime'; import store from './vuex'; import config from '../config.json'; import axios from './api/axios.js'; import { routers } from './router'; import { componentsInstall, ComponentsRouterBeforeEach, Mixin, componentsZh, componentsTw, componentsEn } from 'ems-components-new-wdz'; import iviewEn from 'view-design/dist/locale/en-US'; import iviewZh from 'view-design/dist/locale/zh-CN'; import iviewTw from 'view-design/dist/locale/zh-TW'; import { commonZh, commonEn, commonTw } from 'ems-common-lang'; import 'ems-components-new-wdz/src/assets/iconfont/iconfont.css'; Vue.use(VueI18n); Vue.use(iView, { i18n: function(path, options) { const value = i18n.t(path, options); if (value !== null && value !== undefined) { return value; } return ''; } }); Vue.use(VueRouter); Vue.use(componentsInstall); Vue.mixin(Mixin); // 必须要加这个 不然多国语言切换不出效果 Vue.locale = () => { }; Vue.prototype.$config = config[process.env.VUE_APP_ENV]; window.$axios = Vue.prototype.$axios = axios; const router = new VueRouter({ routes: routers }); router.beforeEach((to, from, next) => { iView.LoadingBar.start(); ComponentsRouterBeforeEach(); if (!sessionStorage.crctoken) { if (to.name === 'login') { next(); } else { next({ name: 'login' }); } } else { next(); } }); router.afterEach(to => { if (to && to.meta && to.meta.title) { document.title = to.meta.title[1]; } iView.LoadingBar.finish(); }); if (!localStorage.getItem('lang')) { localStorage.setItem('lang', 'zh-CN'); } const i18n = new VueI18n({ locale: window.localStorage.getItem('lang') || 'zh-CN', messages: { 'zh-CN': Object.assign(iviewZh, commonZh, componentsZh, require('./lang/zh-CN.json')), 'en-US': Object.assign(iviewEn, commonEn, componentsEn, require('./lang/en-US.json')), 'zh-TW': Object.assign(iviewTw, commonTw, componentsTw, require('./lang/zh-TW.json')) } }); window.emsConfig = { i18n }; window.$app = new Vue({ el: '#app', router: router, store, i18n, created() { if (sessionStorage.crctoken) { $axios.defaults.headers.crctoken = sessionStorage.crctoken; } else { this.$router.push({ name: 'login' }); } }, render: h => h(App) });