Former-commit-id: 1b92128e89b29eda735f274243b152009c9fda1d [formerly 1b92128e89b29eda735f274243b152009c9fda1d [formerly 1b92128e89b29eda735f274243b152009c9fda1d [formerly 1b92128e89b29eda735f274243b152009c9fda1d [formerly 6d0ad889c8a55b39aed1234f33bd4289becb382f [formerly 628b796b47811eac1da0c6ef7a2857a0dc93762a]]]]] Former-commit-id: b643ffbe716bc602991a675857c899fe4598de6b Former-commit-id: 89177da3733ab7fd98ff5c038c2c2618353d1521 Former-commit-id: 1d1328895a0adc0e43e207167b48db8a77ea49f9 [formerly 75f6252347dc0048f1ce40a56690da8f0971f95a] Former-commit-id: 422e9a18552f63ec5390a3f79688bdd733a72047 Former-commit-id: facbc0e703cfb4a43a2af3348cd69f63b7e1f425 Former-commit-id: 27f70579ee35411203e52c565854c81af6060e89 Former-commit-id: 85d532f0d569c2681dc4bd6cf2f39c3078ea30c5 Former-commit-id: 76aa5b8cc5b7097c23ddb18c93817d47591e100b
79 lines
2.2 KiB
JavaScript
79 lines
2.2 KiB
JavaScript
// polyfill
|
|
import 'babel-polyfill'
|
|
// Vue
|
|
import Vue from 'vue'
|
|
import App from './App'
|
|
// store
|
|
import store from '@/store/index'
|
|
// 模拟数据
|
|
import '@/mock'
|
|
// 多国语
|
|
import i18n from './i18n'
|
|
// 核心插件
|
|
import d2Admin from '@/plugin/d2admin'
|
|
|
|
// [ 可选插件组件 ]D2-Crud
|
|
import D2Crud from '@d2-projects/d2-crud'
|
|
// [ 可选插件组件 ] 图表
|
|
import VCharts from 'v-charts'
|
|
// [ 可选插件组件 ] 右键菜单
|
|
import contentmenu from 'v-contextmenu'
|
|
import 'v-contextmenu/dist/index.css'
|
|
// [ 可选插件组件 ] JSON 树状视图
|
|
import vueJsonTreeView from 'vue-json-tree-view'
|
|
// [ 可选插件组件 ] 网格布局组件
|
|
import { GridLayout, GridItem } from 'vue-grid-layout'
|
|
// [ 可选插件组件 ] 区域划分组件
|
|
import SplitPane from 'vue-splitpane'
|
|
|
|
// 菜单和路由设置
|
|
import router from './router'
|
|
import { menuHeader, menuAside } from '@/menu'
|
|
import { frameInRoutes } from '@/router/routes'
|
|
|
|
// 核心插件
|
|
Vue.use(d2Admin)
|
|
|
|
// 可选插件组件
|
|
Vue.use(D2Crud)
|
|
Vue.use(VCharts)
|
|
Vue.use(contentmenu)
|
|
Vue.use(vueJsonTreeView)
|
|
Vue.component('d2-grid-layout', GridLayout)
|
|
Vue.component('d2-grid-item', GridItem)
|
|
Vue.component('SplitPane', SplitPane)
|
|
|
|
new Vue({
|
|
router,
|
|
store,
|
|
i18n,
|
|
render: h => h(App),
|
|
created () {
|
|
// 处理路由 得到每一级的路由设置
|
|
this.$store.commit('d2admin/page/init', frameInRoutes)
|
|
// 设置顶栏菜单
|
|
this.$store.commit('d2admin/menu/headerSet', menuHeader)
|
|
// 初始化菜单搜索功能
|
|
this.$store.commit('d2admin/search/init', menuHeader)
|
|
},
|
|
mounted () {
|
|
// 展示系统信息
|
|
this.$store.commit('d2admin/releases/versionShow')
|
|
// 检查最新版本
|
|
this.$store.dispatch('d2admin/releases/checkUpdate')
|
|
// 用户登陆后从数据库加载一系列的设置
|
|
this.$store.commit('d2admin/account/load')
|
|
// 获取并记录用户 UA
|
|
this.$store.commit('d2admin/ua/get')
|
|
// 初始化全屏监听
|
|
this.$store.commit('d2admin/fullscreen/listen')
|
|
},
|
|
watch: {
|
|
// 监听路由 控制侧边栏显示
|
|
'$route.matched' (val) {
|
|
const _side = menuAside.filter(menu => menu.path === val[0].path)
|
|
this.$store.commit('d2admin/menu/asideSet', _side.length > 0 ? _side[0].children : [])
|
|
}
|
|
}
|
|
}).$mount('#app')
|