|  |  |  | 
|---|
|  |  |  | import store from './store' | 
|---|
|  |  |  | import ElementUI from 'element-ui' | 
|---|
|  |  |  | import './assets/style/element-variables.scss' | 
|---|
|  |  |  | import { ElementTiptapPlugin } from 'element-tiptap' | 
|---|
|  |  |  | import 'element-tiptap/lib/index.css' | 
|---|
|  |  |  | import VueClipboard from 'vue-clipboard2' | 
|---|
|  |  |  | import directives from './directives' | 
|---|
|  |  |  | import filters from './filters' | 
|---|
|  |  |  | import plugins from './plugins' | 
|---|
|  |  |  | import { mapState, mapMutations } from 'vuex' | 
|---|
|  |  |  | import { fetchMenuTree } from './api/system/menu' | 
|---|
|  |  |  | import preventReClick from '@/directives/directive' | 
|---|
|  |  |  | Vue.use(preventReClick) | 
|---|
|  |  |  | import Treeselect from '@riophae/vue-treeselect' | 
|---|
|  |  |  | import '@riophae/vue-treeselect/dist/vue-treeselect.css' | 
|---|
|  |  |  | Vue.component('treeselect', Treeselect) | 
|---|
|  |  |  | Vue.config.productionTip = false | 
|---|
|  |  |  | Vue.use(ElementUI, { | 
|---|
|  |  |  | size: 'small' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | Vue.use(ElementTiptapPlugin, { | 
|---|
|  |  |  | lang: 'zh' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | Vue.use(VueClipboard) | 
|---|
|  |  |  | Vue.use(directives) | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | ...mapMutations(['switchCollapseMenu', 'setHomePage']), | 
|---|
|  |  |  | // 初始化本地配置 | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 初始化本地配置 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | initLocalConfig () { | 
|---|
|  |  |  | // 菜单状态配置 | 
|---|
|  |  |  | const menuStatus = window.localStorage.getItem('MENU_STATUS') | 
|---|
|  |  |  | 
|---|
|  |  |  | this.switchCollapseMenu(menuStatus === 'true') | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 初始化路由 | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 初始化路由 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @returns {Promise<void>} | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | async initRoutes () { | 
|---|
|  |  |  | if (this.loading || this.userInfo == null) { | 
|---|
|  |  |  | return | 
|---|
|  |  |  | 
|---|
|  |  |  | this.loading = false | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 新建路由 | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 新建路由 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param routes 需添加的路由 | 
|---|
|  |  |  | * @param parents 需添加到的目标列表 | 
|---|
|  |  |  | * @private | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | __addRouters (routes, parents = []) { | 
|---|
|  |  |  | if (routes == null || routes.length === 0) { | 
|---|
|  |  |  | return | 
|---|