Former-commit-id: 610c12b2a8679bfcad918e3d24d04a1a6af41c4c [formerly 610c12b2a8679bfcad918e3d24d04a1a6af41c4c [formerly 610c12b2a8679bfcad918e3d24d04a1a6af41c4c [formerly 610c12b2a8679bfcad918e3d24d04a1a6af41c4c [formerly cc710028c0810b73facbb1f00ba054da58bd88da [formerly 39767add7846a4a3f27fb79c47d121ceb1d3d6a0]]]]] Former-commit-id: 740804501e73b47382d505ce1fa24e7bba3beb3b Former-commit-id: a61192c10d96e687b6fe7ebd5e40e2a2cc816d8b Former-commit-id: e142163ddd0be72d2de796dc90a54de29e64da4d [formerly 1f32a6afe0a2302808606bcb9c9776e93d4d805b] Former-commit-id: 2bd41fd483228f0aff6255f5be5b72aa72e4b64e Former-commit-id: bfd7e5e99f4774d60e8433e4f519d1d44db187ad Former-commit-id: 8c4f66b40505956019099d80abbdaaa88808b011 Former-commit-id: aa887c968ab01b652512c95dc5b8503f68230c49 Former-commit-id: 0785746511cac0ba75c813f15e5b0914fbd916c1
106 lines
2.9 KiB
JavaScript
106 lines
2.9 KiB
JavaScript
import 'babel-polyfill'
|
|
import Vue from 'vue'
|
|
import App from './App'
|
|
import ElementUI from 'element-ui'
|
|
import 'element-ui/lib/theme-chalk/index.css'
|
|
import 'simplemde/dist/simplemde.min.css'
|
|
import 'github-markdown-css'
|
|
import VCharts from 'v-charts'
|
|
import screenfull from 'screenfull'
|
|
import contentmenu from 'v-contextmenu'
|
|
import 'v-contextmenu/dist/index.css'
|
|
import vueJsonTreeView from 'vue-json-tree-view'
|
|
import i18n from './i18n'
|
|
import util from '@/libs/util'
|
|
import store from '@/store/index'
|
|
import { frameInRoutes } from '@/router/routes'
|
|
import { menusAside, menusHeader } from '@/menu'
|
|
import '@/assets/library/font-awesome-4.7.0/css/font-awesome.min.css'
|
|
import '@/assets/library/highlight/styles/atom-one-light.css'
|
|
import '@/assets/svg-icons'
|
|
import '@/components'
|
|
import '@/plugin/axios'
|
|
import '@/mock/register'
|
|
import pluginImport from '@/plugin/import'
|
|
import pluginExport from '@/plugin/export'
|
|
import pluginOpen from '@/plugin/open'
|
|
import router from './router'
|
|
|
|
Vue.use(ElementUI)
|
|
Vue.use(VCharts)
|
|
Vue.use(contentmenu)
|
|
Vue.use(pluginImport)
|
|
Vue.use(pluginExport)
|
|
Vue.use(pluginOpen)
|
|
Vue.use(vueJsonTreeView)
|
|
|
|
Vue.config.productionTip = false
|
|
|
|
Vue.prototype.$env = process.env.NODE_ENV
|
|
Vue.prototype.$baseUrl = process.env.BASE_URL
|
|
|
|
new Vue({
|
|
router,
|
|
store,
|
|
i18n,
|
|
render: h => h(App),
|
|
created () {
|
|
// 处理路由 得到每一级的路由设置
|
|
this.getAllTagFromRoutes()
|
|
// 设置顶栏菜单
|
|
this.$store.commit('d2adminMenusHeaderSet', menusHeader)
|
|
},
|
|
mounted () {
|
|
// D2Admin 开发环境检查更新
|
|
util.checkUpdate(this)
|
|
// 获取并记录用户 UA 同时对危险环境做出判断
|
|
util.uaGet(this)
|
|
// 展示系统信息
|
|
util.showInfo()
|
|
// 用户登陆后从数据库加载一系列的设置
|
|
this.$store.commit('d2adminLoginSuccessLoad')
|
|
// 初始化全屏监听
|
|
this.fullscreenListenerInit()
|
|
},
|
|
watch: {
|
|
// 监听路由 控制侧边栏显示
|
|
'$route.matched' (val) {
|
|
const _side = menusAside.filter(menu => menu.path === val[0].path)
|
|
this.$store.commit('d2adminMenusAsideSet', _side.length > 0 ? _side[0].children : [])
|
|
}
|
|
},
|
|
methods: {
|
|
/**
|
|
* 初始化全屏监听
|
|
*/
|
|
fullscreenListenerInit () {
|
|
if (screenfull.enabled) {
|
|
screenfull.on('change', () => {
|
|
if (!screenfull.isFullscreen) {
|
|
this.$store.commit('d2adminFullScreenSet', false)
|
|
}
|
|
})
|
|
}
|
|
},
|
|
/**
|
|
* 处理路由 得到每一级的路由设置
|
|
*/
|
|
getAllTagFromRoutes () {
|
|
// 所有加载在主框架内的页面
|
|
const pool = []
|
|
const push = function (routes) {
|
|
routes.forEach(route => {
|
|
if (route.children) {
|
|
push(route.children)
|
|
} else {
|
|
const { meta, name, path } = route
|
|
pool.push({ meta, name, path })
|
|
}
|
|
})
|
|
}
|
|
push(frameInRoutes)
|
|
this.$store.commit('d2adminTagPoolSet', pool)
|
|
}
|
|
}
|
|
}).$mount('#app')
|