1. 删除大量旧的示例页面、组件示例和静态菜单配置 2. 新增菜单扁平数组转树形结构工具函数 3. 重构菜单加载逻辑,改为从后端动态获取并格式化 4. 新增全局权限检查方法和自定义权限指令 5. 优化侧边栏菜单路由跳转逻辑,自动跳转第一个有权限的子页面 6. 移除路由中对旧demo模块的引用
47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
// Vue
|
|
import Vue from 'vue'
|
|
import i18n from './i18n'
|
|
import App from './App'
|
|
// 核心插件
|
|
import d2Admin from '@/plugin/d2admin'
|
|
// store
|
|
import store from '@/store/index'
|
|
|
|
// 菜单和路由设置
|
|
import router from './router'
|
|
import { frameInRoutes } from '@/router/routes'
|
|
|
|
// 核心插件
|
|
Vue.use(d2Admin)
|
|
|
|
// 权限控制指令
|
|
Vue.directive('permission', {
|
|
bind: (el, binding) => {
|
|
if (!Vue.prototype.$permission(binding.value)) {
|
|
el.parentNode ? el.parentNode.removeChild(el) : el.style.display = 'none'
|
|
}
|
|
}
|
|
})
|
|
|
|
new Vue({
|
|
router,
|
|
store,
|
|
i18n,
|
|
render: h => h(App),
|
|
created () {
|
|
// 处理路由 得到每一级的路由设置
|
|
this.$store.commit('d2admin/page/init', frameInRoutes)
|
|
// 静态菜单和搜索由 account.load → sourceDataLoad 从后端动态加载
|
|
},
|
|
mounted () {
|
|
// 展示系统信息
|
|
this.$store.commit('d2admin/releases/versionShow')
|
|
// 用户登录后从数据库加载一系列的设置(含菜单)
|
|
this.$store.dispatch('d2admin/account/load')
|
|
// 获取并记录用户 UA
|
|
this.$store.commit('d2admin/ua/get')
|
|
// 初始化全屏监听
|
|
this.$store.dispatch('d2admin/fullscreen/listen')
|
|
}
|
|
}).$mount('#app')
|