Эх сурвалжийг харах

feat: add user nav api mock

Sendya 5 жил өмнө
parent
commit
cd6eed361b

+ 120 - 0
src/mock/services/user.js

@@ -370,4 +370,124 @@ const info = (options) => {
   return builder(userInfo)
 }
 
+const userNav = (options) => {
+  const nav = [
+    {
+      'name': 'dashboard',
+      'parentId': -1,
+      'id': 1,
+      'meta': {
+        'icon': 'dashboard',
+        'title': '仪表盘',
+        'show': true
+      },
+      'component': 'RouteView'
+    },
+    {
+      'name': 'analysis',
+      'parentId': 1,
+      'id': 2,
+      'meta': {
+        'title': '分析页',
+        'show': true
+      },
+      'component': 'Analysis'
+    },
+    {
+      'name': 'monitor',
+      'parentId': 1,
+      'id': 3,
+      'meta': {
+        'title': '监控页',
+        'show': true
+      },
+      'component': 'Monitor'
+    },
+    {
+      'name': 'workplace',
+      'parentId': 1,
+      'id': 7,
+      'meta': {
+        'title': '工作台',
+        'show': true
+      },
+      'component': 'Workplace'
+    },
+    {
+      'name': 'permission',
+      'parentId': 10,
+      'id': 4,
+      'meta': {
+        'title': '权限管理',
+        'show': true
+      },
+      'component': 'PermissionList'
+    },
+    {
+      'name': 'role',
+      'parentId': 10,
+      'id': 5,
+      'meta': {
+        'title': '角色管理',
+        'show': true
+      },
+      'component': 'RoleList'
+    },
+    {
+      'name': 'user',
+      'parentId': 10,
+      'id': 6,
+      'meta': {
+        'title': '用户管理',
+        'show': true
+      },
+      'component': 'UserList'
+    },
+    {
+      'name': 'system',
+      'parentId': -1,
+      'id': 10,
+      'meta': {
+        'icon': 'setting',
+        'title': '系统管理',
+        'show': true
+      },
+      'component': 'PageView'
+    },
+    {
+      'name': 'features',
+      'parentId': -1,
+      'id': 11,
+      'meta': {
+        'icon': 'ordered-list',
+        'title': '功能管理',
+        'show': true
+      },
+      'component': 'PageView'
+    },
+    {
+      'name': 'task',
+      'parentId': 11,
+      'id': 12,
+      'meta': {
+        'title': '任务列表',
+        'show': true
+      },
+      'component': 'TaskList'
+    },
+    {
+      'name': 'tag',
+      'parentId': 11,
+      'id': 13,
+      'meta': {
+        'title': '标签列表',
+        'show': true
+      },
+      'component': 'TagList'
+    }
+  ]
+  return builder(nav)
+}
+
 Mock.mock(/\/api\/user\/info/, 'get', info)
+Mock.mock(/\/api\/user\/nav/, 'get', userNav)

+ 12 - 4
src/router/generator-routers.js

@@ -15,7 +15,8 @@ const constantRouterComponents = {
   '500': () => import(/* webpackChunkName: "error" */ '@/views/exception/500'),
 
   // 你需要动态引入的页面组件
-  'Analysis': () => import('@/views/dashboard/Analysis')
+  'Analysis': () => import('@/views/dashboard/Analysis'),
+  'Workplace': () => import('@/views/dashboard/Workplace')
 }
 
 // 前端未找到页面路由(固定不用改)
@@ -25,6 +26,7 @@ const notFoundRouter = {
 
 // 根级菜单
 const rootRouter = {
+  key: '',
   name: 'index',
   path: '',
   component: 'BasicLayout',
@@ -43,12 +45,18 @@ const rootRouter = {
 export const generatorDynamicRouter = (token) => {
   return new Promise((resolve, reject) => {
     loginService.getCurrentUserNav(token).then(res => {
+      console.log('res', res)
+      const { result } = res
+      const menuNav = []
       const childrenNav = []
       //      后端数据, 根级树数组,  根级 PID
-      listToTree(res, childrenNav, 0)
+      listToTree(result, childrenNav, -1)
       rootRouter.children = childrenNav
-      const routers = generator(rootRouter)
+      menuNav.push(rootRouter)
+      console.log('menuNav', menuNav)
+      const routers = generator(menuNav)
       routers.push(notFoundRouter)
+      console.log('routers', routers)
       resolve(routers)
     }).catch(err => {
       reject(err)
@@ -112,7 +120,7 @@ const listToTree = (list, tree, parentId) => {
     if (item.parentId === parentId) {
       const child = {
         ...item,
-        key: item.key | item.name,
+        key: item.key || item.name,
         children: []
       }
       // 迭代 list, 找到当前菜单相符合的所有子菜单

+ 2 - 1
src/store/index.js

@@ -4,7 +4,8 @@ import Vuex from 'vuex'
 import app from './modules/app'
 import user from './modules/user'
 import i18n from './modules/i18n'
-import permission from './modules/permission'
+// import permission from './modules/permission'
+import permission from './modules/async-router'
 import getters from './getters'
 
 Vue.use(Vuex)