2018-07-16 22:22:55 +08:00
|
|
|
import 'babel-polyfill'
|
2018-07-16 10:54:24 +08:00
|
|
|
import Vue from 'vue'
|
2018-07-16 22:22:55 +08:00
|
|
|
import App from './App'
|
2018-07-31 13:02:50 +08:00
|
|
|
import 'flex.css'
|
2018-07-16 22:22:55 +08:00
|
|
|
import ElementUI from 'element-ui'
|
|
|
|
|
import 'element-ui/lib/theme-chalk/index.css'
|
|
|
|
|
import VCharts from 'v-charts'
|
|
|
|
|
import contentmenu from 'v-contextmenu'
|
|
|
|
|
import 'v-contextmenu/dist/index.css'
|
|
|
|
|
import vueJsonTreeView from 'vue-json-tree-view'
|
|
|
|
|
import i18n from './i18n'
|
|
|
|
|
import store from '@/store/index'
|
2018-07-17 16:29:40 +08:00
|
|
|
import '@/assets/svg-icons'
|
2018-07-16 22:22:55 +08:00
|
|
|
import '@/components'
|
2018-08-07 19:08:42 +08:00
|
|
|
import '@/mock'
|
2018-08-02 14:08:36 +08:00
|
|
|
import '@/plugin/axios'
|
2018-08-02 19:44:45 +08:00
|
|
|
import pluginLog from '@/plugin/log'
|
2018-08-22 08:59:46 +08:00
|
|
|
import pluginOpen from '@/plugin/open'
|
2018-08-22 09:13:26 +08:00
|
|
|
import pluginD2Admin from '@/plugin/d2admin'
|
2018-08-02 14:08:36 +08:00
|
|
|
import pluginError from '@/plugin/error'
|
2018-07-16 22:22:55 +08:00
|
|
|
import pluginImport from '@/plugin/import'
|
|
|
|
|
import pluginExport from '@/plugin/export'
|
2018-07-25 22:17:41 +08:00
|
|
|
|
|
|
|
|
// 菜单和路由设置
|
2018-07-16 10:54:24 +08:00
|
|
|
import router from './router'
|
2018-07-25 22:17:41 +08:00
|
|
|
import { menuHeader, menuAside } from '@/menu'
|
|
|
|
|
import { frameInRoutes } from '@/router/routes'
|
2018-07-16 22:22:55 +08:00
|
|
|
|
|
|
|
|
Vue.use(ElementUI)
|
|
|
|
|
Vue.use(VCharts)
|
|
|
|
|
Vue.use(contentmenu)
|
2018-08-02 19:44:45 +08:00
|
|
|
Vue.use(pluginLog)
|
2018-08-22 08:59:46 +08:00
|
|
|
Vue.use(pluginOpen)
|
2018-08-22 09:13:26 +08:00
|
|
|
Vue.use(pluginD2Admin)
|
2018-08-02 14:08:36 +08:00
|
|
|
Vue.use(pluginError)
|
2018-07-16 22:22:55 +08:00
|
|
|
Vue.use(pluginImport)
|
|
|
|
|
Vue.use(pluginExport)
|
|
|
|
|
Vue.use(vueJsonTreeView)
|
2018-07-16 10:54:24 +08:00
|
|
|
|
|
|
|
|
new Vue({
|
|
|
|
|
router,
|
|
|
|
|
store,
|
2018-07-16 22:22:55 +08:00
|
|
|
i18n,
|
|
|
|
|
render: h => h(App),
|
|
|
|
|
created () {
|
|
|
|
|
// 处理路由 得到每一级的路由设置
|
2018-08-22 08:52:25 +08:00
|
|
|
this.$store.commit('d2admin/page/init', frameInRoutes)
|
2018-07-17 22:49:13 +08:00
|
|
|
// 设置顶栏菜单
|
2018-08-08 16:04:10 +08:00
|
|
|
this.$store.commit('d2admin/menu/headerSet', menuHeader)
|
2018-07-16 22:22:55 +08:00
|
|
|
},
|
|
|
|
|
mounted () {
|
2018-07-17 23:59:20 +08:00
|
|
|
// 展示系统信息
|
2018-08-21 23:25:57 +08:00
|
|
|
this.$store.commit('d2admin/releases/versionShow')
|
|
|
|
|
// 检查最新版本
|
|
|
|
|
this.$store.dispatch('d2admin/releases/checkUpdate')
|
2018-07-18 13:57:52 +08:00
|
|
|
// 用户登陆后从数据库加载一系列的设置
|
2018-08-09 14:12:34 +08:00
|
|
|
this.$store.commit('d2admin/account/load')
|
2018-08-21 23:25:57 +08:00
|
|
|
// 获取并记录用户 UA
|
|
|
|
|
this.$store.commit('d2admin/ua/get')
|
2018-07-16 22:22:55 +08:00
|
|
|
// 初始化全屏监听
|
2018-08-22 08:34:16 +08:00
|
|
|
this.$store.commit('d2admin/fullscreen/listen')
|
2018-07-16 22:22:55 +08:00
|
|
|
},
|
2018-07-17 22:49:13 +08:00
|
|
|
watch: {
|
|
|
|
|
// 监听路由 控制侧边栏显示
|
|
|
|
|
'$route.matched' (val) {
|
2018-07-23 23:05:14 +08:00
|
|
|
const _side = menuAside.filter(menu => menu.path === val[0].path)
|
2018-08-08 16:04:10 +08:00
|
|
|
this.$store.commit('d2admin/menu/asideSet', _side.length > 0 ? _side[0].children : [])
|
2018-07-17 22:49:13 +08:00
|
|
|
}
|
2018-07-16 22:22:55 +08:00
|
|
|
}
|
2018-07-16 10:54:24 +08:00
|
|
|
}).$mount('#app')
|