import { defineMock } from "./base"; export default defineMock([ { url: "menus/routes", method: ["GET"], body: { code: "00000", data: [ { path: "/Home", component: "@/pages/HomePage.vue", name: "Home", meta: { title: "首页", icon: "home-icon", hidden: false, alwaysShow: true, keepAlive: true, params: null }, children: [ { path: "/menjizhen-item", component: "@/pages/zl-station/menjizhenItemView.vue", name: "MenjizhenItem", meta: { title: "门急诊医生站", icon: "doctor-icon", hidden: false, alwaysShow: true, keepAlive: true, params: null } }, { path: "/zhuyuan-item", component: "@/pages/zl-station/zhuyuanItemView.vue", name: "ZhuyuanItem", meta: { title: "住院医生站", icon: "hospital-icon", hidden: false, alwaysShow: true, keepAlive: true, params: null }, } ] }, { path: "/login", component: "@/pages/LoginPage.vue", name: "LoginView", meta: { title: "登录", icon: "login-icon", hidden: true, alwaysShow: false, keepAlive: false, params: null }, children: [] }, { path: "/:pathMatch(.*)*", component: "@/pages/404/notFoundPage.vue", name: "NotFound", meta: { title: "404", icon: "error-icon", hidden: true, alwaysShow: false, keepAlive: false, params: null }, children: [] } ], msg: "获取菜单路由成功" } }, // 获取菜单树形表格列表 { url: "menus", method: ["GET"], body: { code: "00000", "data": [ { "id": 1, "parentId": 0, "name": "首页", "type": "CATALOG", "routeName": "Home", "routePath": "/Home", "component": "@/pages/HomePage.vue", "sort": 1, "visible": 1, "icon": "home-icon", "redirect": null, "perm": null, "children": [ { "id": 11, "parentId": 1, "name": "门急诊医生站", "type": "MENU", "routeName": "MenjizhenItem", "routePath": "/menjizhen-item", "component": "@/pages/zl-station/menjizhenItemView.vue", "sort": 1, "visible": 1, "icon": "doctor-icon", "redirect": null, "perm": null, "children": [] }, { "id": 12, "parentId": 1, "name": "住院医生站", "type": "MENU", "routeName": "ZhuyuanItem", "routePath": "/zhuyuan-item", "component": "@/pages/zl-station/zhuyuanItemView.vue", "sort": 2, "visible": 1, "icon": "hospital-icon", "redirect": null, "perm": null, "children": [] } ] }, { "id": 2, "parentId": 0, "name": "登录", "type": "MENU", "routeName": "LoginView", "routePath": "/login", "component": "@/pages/LoginPage.vue", "sort": 99, "visible": 0, // 对应hidden: true "icon": "login-icon", "redirect": null, "perm": null, "children": [] } ], msg: "一切ok", }, }, // 获取菜单树形下拉列表 { url: "menus/options", method: ["GET"], body: { code: "00000", "data": [ { "value": 1, "label": "首页", "children": [ { "value": 11, "label": "门急诊医生站", }, { "value": 12, "label": "住院医生站", } ] }, { "value": 2, "label": "登录", "children": [] } ], msg: "一切ok", } }, // 新增菜单 { url: "menus", method: ["POST"], body({ body }) { return { code: "00000", data: null, msg: "新增菜单" + body.name + "成功", }; }, }, // 获取菜单表单数据 { url: "menus/:id/form", method: ["GET"], body: ({ params }) => { return { code: "00000", data: menuMap[params.id], msg: "一切ok", }; }, }, // 修改菜单 { url: "menus/:id", method: ["PUT"], body({ body }) { return { code: "00000", data: null, msg: "修改菜单" + body.name + "成功", }; }, }, // 删除菜单 { url: "menus/:id", method: ["DELETE"], body({ params }) { return { code: "00000", data: null, msg: "删除菜单" + params.id + "成功", }; }, }, ]); // 菜单映射表数据 const menuMap: Record = { 1: { id: 1, parentId: 0, name: "首页", type: "CATALOG", routeName: "Home", routePath: "/Home", component: "@/pages/HomePage.vue", perm: null, visible: 1, sort: 1, icon: "home-icon", redirect: null, keepAlive: 1, alwaysShow: 1, params: null }, 11: { id: 11, parentId: 1, name: "门急诊医生站", type: "MENU", routeName: "MenjizhenItem", routePath: "/menjizhen-item", component: "@/pages/zl-station/menjizhenItemView.vue", perm: null, visible: 1, sort: 1, icon: "doctor-icon", redirect: null, keepAlive: 1, alwaysShow: 1, params: null }, 12: { id: 12, parentId: 1, name: "住院医生站", type: "MENU", routeName: "ZhuyuanItem", routePath: "/zhuyuan-item", component: "@/pages/zl-station/zhuyuanItemView.vue", perm: null, visible: 1, sort: 2, icon: "hospital-icon", redirect: null, keepAlive: 1, alwaysShow: 1, params: null }, 2: { id: 2, parentId: 0, name: "登录", type: "MENU", routeName: "LoginView", routePath: "/login", component: "@/pages/LoginPage.vue", perm: null, visible: 0, sort: 99, icon: "login-icon", redirect: null, keepAlive: 0, alwaysShow: 0, params: null } };