import Mock from 'mockjs2' import { builder } from '../util' const info = options => { console.log('options', options) const userInfo = { id: '4291d7da9005377ec9aec4a71ea837f', name: '天野远子', username: 'admin', password: '', avatar: '/avatar2.jpg', status: 1, telephone: '', lastLoginIp: '27.154.74.117', lastLoginTime: 1534837621348, creatorId: 'admin', createTime: 1497160610259, merchantCode: 'TLif2btpzg079h15bk', deleted: 0, roleId: 'admin', role: {} } // role const roleObj = { id: 'admin', name: '管理员', describe: '拥有所有权限', status: 1, creatorId: 'system', createTime: 1497160610259, deleted: 0, permissions: [ { roleId: 'admin', permissionId: 'dashboard', permissionName: '仪表盘', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'query', describe: '查询', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false }, { action: 'delete', describe: '删除', defaultCheck: false } ], actionList: null, dataAccess: null }, { roleId: 'admin', permissionId: 'userlist', permissionName: '仪表盘', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'query', describe: '查询', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false }, { action: 'delete', describe: '删除', defaultCheck: false } ], actionList: null, dataAccess: null }, { roleId: 'admin', permissionId: 'exception', permissionName: '异常页面权限', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'query', describe: '查询', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false }, { action: 'delete', describe: '删除', defaultCheck: false } ], actionList: null, dataAccess: null }, { roleId: 'admin', permissionId: 'result', permissionName: '结果权限', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'query', describe: '查询', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false }, { action: 'delete', describe: '删除', defaultCheck: false } ], actionList: null, dataAccess: null }, { roleId: 'admin', permissionId: 'profile', permissionName: '详细页权限', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'query', describe: '查询', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false }, { action: 'delete', describe: '删除', defaultCheck: false } ], actionList: null, dataAccess: null }, { roleId: 'admin', permissionId: 'table', permissionName: '表格权限', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'import', describe: '导入', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false } ], actionList: null, dataAccess: null }, { roleId: 'admin', permissionId: 'form', permissionName: '表单权限', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'query', describe: '查询', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false }, { action: 'delete', describe: '删除', defaultCheck: false } ], actionList: null, dataAccess: null }, { roleId: 'admin', permissionId: 'order', permissionName: '订单管理', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'query', describe: '查询', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false }, { action: 'delete', describe: '删除', defaultCheck: false } ], actionList: null, dataAccess: null }, { roleId: 'admin', permissionId: 'permission', permissionName: '权限管理', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false }, { action: 'delete', describe: '删除', defaultCheck: false } ], actionList: null, dataAccess: null }, { roleId: 'admin', permissionId: 'role', permissionName: '角色管理', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false }, { action: 'delete', describe: '删除', defaultCheck: false } ], actionList: null, dataAccess: null }, { roleId: 'admin', permissionId: 'table', permissionName: '桌子管理', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"query","defaultCheck":false,"describe":"查询"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'query', describe: '查询', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false }, { action: 'delete', describe: '删除', defaultCheck: false } ], actionList: null, dataAccess: null }, { roleId: 'admin', permissionId: 'user', permissionName: '用户管理', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"export","defaultCheck":false,"describe":"导出"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'import', describe: '导入', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false }, { action: 'delete', describe: '删除', defaultCheck: false }, { action: 'export', describe: '导出', defaultCheck: false } ], actionList: null, dataAccess: null } ] } roleObj.permissions.push({ roleId: 'admin', permissionId: 'support', permissionName: '超级模块', actions: '[{"action":"add","defaultCheck":false,"describe":"新增"},{"action":"import","defaultCheck":false,"describe":"导入"},{"action":"get","defaultCheck":false,"describe":"详情"},{"action":"update","defaultCheck":false,"describe":"修改"},{"action":"delete","defaultCheck":false,"describe":"删除"},{"action":"export","defaultCheck":false,"describe":"导出"}]', actionEntitySet: [ { action: 'add', describe: '新增', defaultCheck: false }, { action: 'import', describe: '导入', defaultCheck: false }, { action: 'get', describe: '详情', defaultCheck: false }, { action: 'update', describe: '修改', defaultCheck: false }, { action: 'delete', describe: '删除', defaultCheck: false }, { action: 'export', describe: '导出', defaultCheck: false } ], actionList: null, dataAccess: null }) userInfo.role = roleObj return builder(userInfo) } /** * 使用 用户登录的 token 获取用户有权限的菜单 * 返回结构必须按照这个结构体形式处理,或根据 * /src/router/generator-routers.js 文件的菜单结构处理函数对应即可 * @param {*} options * @returns */ const userNav = options => { const nav = [ // dashboard { name: 'dashboard', parentId: 0, id: 1, meta: { title: 'menu.dashboard', icon: 'dashboard', show: true }, component: 'RouteView', redirect: '/dashboard/workplace' }, { name: 'workplace', parentId: 1, id: 7, meta: { title: 'menu.dashboard.monitor', show: true }, component: 'Workplace' }, { name: 'monitor', path: 'https://www.baidu.com/', parentId: 1, id: 3, meta: { title: 'menu.dashboard.workplace', target: '_blank', show: true } }, { name: 'Analysis', parentId: 1, id: 2, meta: { title: 'menu.dashboard.analysis', show: true }, component: 'Analysis', path: '/dashboard/analysis' }, // 用户列表首页 { name: 'Userlist', parentId: 1, id: 2, meta: { title: '用户管理', show: true }, component: 'userlist', path: '/userlist/index' }, // form { name: 'form', parentId: 0, id: 10, meta: { icon: 'form', title: 'menu.form' }, redirect: '/form/base-form', component: 'RouteView' }, { name: 'basic-form', parentId: 10, id: 6, meta: { title: 'menu.form.basic-form' }, component: 'BasicForm' }, { name: 'step-form', parentId: 10, id: 5, meta: { title: 'menu.form.step-form' }, component: 'StepForm' }, { name: 'advanced-form', parentId: 10, id: 4, meta: { title: 'menu.form.advanced-form' }, component: 'AdvanceForm' }, // list { name: 'list', parentId: 0, id: 10010, meta: { icon: 'table', title: 'menu.list', show: true }, redirect: '/list/table-list', component: 'RouteView' }, { name: 'table-list', parentId: 10010, id: 10011, path: '/list/table-list/:pageNo([1-9]\\d*)?', meta: { title: 'menu.list.table-list', show: true }, component: 'TableList' }, { name: 'basic-list', parentId: 10010, id: 10012, meta: { title: 'menu.list.basic-list', show: true }, component: 'StandardList' }, { name: 'card', parentId: 10010, id: 10013, meta: { title: 'menu.list.card-list', show: true }, component: 'CardList' }, { name: 'search', parentId: 10010, id: 10014, meta: { title: 'menu.list.search-list', show: true }, redirect: '/list/search/article', component: 'SearchLayout' }, { name: 'article', parentId: 10014, id: 10015, meta: { title: 'menu.list.search-list.articles', show: true }, component: 'SearchArticles' }, { name: 'project', parentId: 10014, id: 10016, meta: { title: 'menu.list.search-list.projects', show: true }, component: 'SearchProjects' }, { name: 'application', parentId: 10014, id: 10017, meta: { title: 'menu.list.search-list.applications', show: true }, component: 'SearchApplications' }, // profile { name: 'profile', parentId: 0, id: 10018, meta: { title: 'menu.profile', icon: 'profile', show: true }, redirect: '/profile/basic', component: 'RouteView' }, { name: 'basic', parentId: 10018, id: 10019, meta: { title: 'menu.profile.basic', show: true }, component: 'ProfileBasic' }, { name: 'advanced', parentId: 10018, id: 10020, meta: { title: 'menu.profile.advanced', show: true }, component: 'ProfileAdvanced' }, // result { name: 'result', parentId: 0, id: 10021, meta: { title: 'menu.result', icon: 'check-circle-o', show: true }, redirect: '/result/success', component: 'PageView' }, { name: 'success', parentId: 10021, id: 10022, meta: { title: 'menu.result.success', hiddenHeaderContent: true, show: true }, component: 'ResultSuccess' }, { name: 'fail', parentId: 10021, id: 10023, meta: { title: 'menu.result.fail', hiddenHeaderContent: true, show: true }, component: 'ResultFail' }, // Exception { name: 'exception', parentId: 0, id: 10024, meta: { title: 'menu.exception', icon: 'warning', show: true }, redirect: '/exception/403', component: 'RouteView' }, { name: '403', parentId: 10024, id: 10025, meta: { title: 'menu.exception.not-permission', show: true }, component: 'Exception403' }, { name: '404', parentId: 10024, id: 10026, meta: { title: 'menu.exception.not-find', show: true }, component: 'Exception404' }, { name: '500', parentId: 10024, id: 10027, meta: { title: 'menu.exception.server-error', show: true }, component: 'Exception500' }, // account { name: 'account', parentId: 0, id: 10028, meta: { title: 'menu.account', icon: 'user', show: true }, redirect: '/account/center', component: 'RouteView' }, { name: 'center', parentId: 10028, id: 10029, meta: { title: 'menu.account.center', show: true }, component: 'AccountCenter' }, // 特殊三级菜单 { name: 'settings', parentId: 10028, id: 10030, meta: { title: 'menu.account.settings', hideHeader: true, hideChildren: true, show: true }, redirect: '/account/settings/basic', component: 'AccountSettings' }, { name: 'BasicSettings', path: '/account/settings/basic', parentId: 10030, id: 10031, meta: { title: 'account.settings.menuMap.basic', show: false }, component: 'BasicSetting' }, { name: 'SecuritySettings', path: '/account/settings/security', parentId: 10030, id: 10032, meta: { title: 'account.settings.menuMap.security', show: false }, component: 'SecuritySettings' }, { name: 'CustomSettings', path: '/account/settings/custom', parentId: 10030, id: 10033, meta: { title: 'account.settings.menuMap.custom', show: false }, component: 'CustomSettings' }, { name: 'BindingSettings', path: '/account/settings/binding', parentId: 10030, id: 10034, meta: { title: 'account.settings.menuMap.binding', show: false }, component: 'BindingSettings' }, { name: 'NotificationSettings', path: '/account/settings/notification', parentId: 10030, id: 10034, meta: { title: 'account.settings.menuMap.notification', show: false }, component: 'NotificationSettings' } ] const json = builder(nav) console.log('json', json) return json } Mock.mock(/\/api\/user\/info/, 'get', info) Mock.mock(/\/api\/user\/nav/, 'get', userNav)