From 8d4f3561d5431dfb6df5edb3d643d93a0bb7dba1 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 11 十二月 2020 18:45:57 +0800 Subject: [PATCH] 修复mybatis-plus插件不生效bug --- ruoyi-ui/src/store/modules/permission.js | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 57 insertions(+), 0 deletions(-) diff --git a/ruoyi-ui/src/store/modules/permission.js b/ruoyi-ui/src/store/modules/permission.js new file mode 100644 index 0000000..5ade2ed --- /dev/null +++ b/ruoyi-ui/src/store/modules/permission.js @@ -0,0 +1,57 @@ +import { constantRoutes } from '@/router' +import { getRouters } from '@/api/menu' +import Layout from '@/layout/index' +import ParentView from '@/components/ParentView'; + +const permission = { + state: { + routes: [], + addRoutes: [] + }, + mutations: { + SET_ROUTES: (state, routes) => { + state.addRoutes = routes + state.routes = constantRoutes.concat(routes) + } + }, + actions: { + // 鐢熸垚璺敱 + GenerateRoutes({ commit }) { + return new Promise(resolve => { + // 鍚戝悗绔姹傝矾鐢辨暟鎹� + getRouters().then(res => { + const accessedRoutes = filterAsyncRouter(res.data) + accessedRoutes.push({ path: '*', redirect: '/404', hidden: true }) + commit('SET_ROUTES', accessedRoutes) + resolve(accessedRoutes) + }) + }) + } + } +} + +// 閬嶅巻鍚庡彴浼犳潵鐨勮矾鐢卞瓧绗︿覆锛岃浆鎹负缁勪欢瀵硅薄 +function filterAsyncRouter(asyncRouterMap) { + return asyncRouterMap.filter(route => { + if (route.component) { + // Layout ParentView 缁勪欢鐗规畩澶勭悊 + if (route.component === 'Layout') { + route.component = Layout + } else if (route.component === 'ParentView') { + route.component = ParentView + } else { + route.component = loadView(route.component) + } + } + if (route.children != null && route.children && route.children.length) { + route.children = filterAsyncRouter(route.children) + } + return true + }) +} + +export const loadView = (view) => { // 璺敱鎳掑姞杞� + return (resolve) => require([`@/views/${view}`], resolve) +} + +export default permission -- Gitblit v1.9.3