doum
2025-09-26 9057e04efad1b7d61c77a72e5c37a504d0aee935
admin/src/main.js
@@ -4,22 +4,18 @@
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)
@@ -45,7 +41,9 @@
  },
  methods: {
    ...mapMutations(['switchCollapseMenu', 'setHomePage']),
    // 初始化本地配置
    /**
     * 初始化本地配置
     */
    initLocalConfig () {
      // 菜单状态配置
      const menuStatus = window.localStorage.getItem('MENU_STATUS')
@@ -53,7 +51,11 @@
        this.switchCollapseMenu(menuStatus === 'true')
      }
    },
    // 初始化路由
    /**
     * 初始化路由
     *
     * @returns {Promise<void>}
     */
    async initRoutes () {
      if (this.loading || this.userInfo == null) {
        return
@@ -95,7 +97,13 @@
          this.loading = false
        })
    },
    // 新建路由
    /**
     * 新建路由
     *
     * @param routes 需添加的路由
     * @param parents 需添加到的目标列表
     * @private
     */
    __addRouters (routes, parents = []) {
      if (routes == null || routes.length === 0) {
        return