diff --git a/mock/dept.mock.ts b/mock/dept.mock.ts index 91f53e5..eac3aa8 100644 --- a/mock/dept.mock.ts +++ b/mock/dept.mock.ts @@ -67,4 +67,81 @@ export default defineMock([ msg: "一切ok", }, }, + + // 新增部门 + { + url: "dept", + method: ["POST"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "新增部门" + body.name + "成功", + }; + }, + }, + + // 获取部门表单数据 + { + url: "dept/:id/form", + method: ["GET"], + body: ({ params }) => { + return { + code: "00000", + data: deptMap[params.id], + msg: "一切ok", + }; + }, + }, + + // 修改部门 + { + url: "dept/:id", + method: ["PUT"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "修改部门" + body.name + "成功", + }; + }, + }, + + // 删除部门 + { + url: "dept/:id", + method: ["DELETE"], + body({ params }) { + return { + code: "00000", + data: null, + msg: "删除部门" + params.id + "成功", + }; + }, + }, ]); + +// 部门映射表数据 +const deptMap: Record = { + 1: { + id: 1, + name: "有来技术", + parentId: 0, + status: 1, + sort: 1, + }, + 2: { + id: 2, + name: "研发部门", + parentId: 1, + status: 1, + sort: 1, + }, + 3: { + id: 3, + name: "测试部门", + parentId: 1, + status: 1, + sort: 1, + }, +}; diff --git a/mock/dict.mock.ts b/mock/dict.mock.ts index 03d1155..178a75a 100644 --- a/mock/dict.mock.ts +++ b/mock/dict.mock.ts @@ -91,4 +91,157 @@ export default defineMock([ msg: "一切ok", }, }, + + // 新增字典类型 + { + url: "dict/types", + method: ["POST"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "新增字典类型" + body.name + "成功", + }; + }, + }, + + // 获取字典类型表单数据 + { + url: "dict/types/:id/form", + method: ["GET"], + body: ({ params }) => { + return { + code: "00000", + data: dictTypeMap[params.id], + msg: "一切ok", + }; + }, + }, + + // 修改字典类型 + { + url: "dict/types/:id", + method: ["PUT"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "修改字典类型" + body.name + "成功", + }; + }, + }, + + // 删除字典类型 + { + url: "dict/types/:id", + method: ["DELETE"], + body({ params }) { + return { + code: "00000", + data: null, + msg: "删除字典类型" + params.id + "成功", + }; + }, + }, + + // 新增字典 + { + url: "dict", + method: ["POST"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "新增字典" + body.name + "成功", + }; + }, + }, + + // 获取字典表单数据 + { + url: "dict/:id/form", + method: ["GET"], + body: ({ params }) => { + return { + code: "00000", + data: dictMap[params.id], + msg: "一切ok", + }; + }, + }, + + // 修改字典 + { + url: "dict/:id", + method: ["PUT"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "修改字典类型" + body.name + "成功", + }; + }, + }, + + // 删除字典 + { + url: "dict/:id", + method: ["DELETE"], + body({ params }) { + return { + code: "00000", + data: null, + msg: "删除字典" + params.id + "成功", + }; + }, + }, ]); + +// 字典类型映射表数据 +const dictTypeMap: Record = { + 1: { + id: 1, + name: "性别", + code: "gender", + status: 1, + remark: null, + }, + 2: { + id: 2, + name: "状态", + code: "status", + status: 1, + remark: null, + }, +}; + +// 字典映射表数据 +const dictMap: Record = { + 1: { + id: 1, + typeCode: "gender", + name: "男", + value: "1", + status: 1, + sort: 1, + remark: null, + }, + 2: { + id: 2, + typeCode: "gender", + name: "女", + value: "2", + status: 1, + sort: 2, + remark: null, + }, + 3: { + id: 3, + typeCode: "gender", + name: "未知", + value: "0", + status: 1, + sort: 1, + remark: null, + }, +}; diff --git a/mock/menu.mock.ts b/mock/menu.mock.ts index c61a6f0..2160636 100644 --- a/mock/menu.mock.ts +++ b/mock/menu.mock.ts @@ -1066,4 +1066,379 @@ export default defineMock([ msg: "一切ok", }, }, + + { + url: "menus/options", + method: ["GET"], + body: { + code: "00000", + data: [ + { + value: 1, + label: "系统管理", + children: [ + { + value: 2, + label: "用户管理", + children: [ + { + value: 31, + label: "用户新增", + }, + { + value: 32, + label: "用户编辑", + }, + { + value: 33, + label: "用户删除", + }, + { + value: 88, + label: "重置密码", + }, + ], + }, + { + value: 3, + label: "角色管理", + children: [ + { + value: 70, + label: "角色新增", + }, + { + value: 71, + label: "角色编辑", + }, + { + value: 72, + label: "角色删除", + }, + ], + }, + { + value: 4, + label: "菜单管理", + children: [ + { + value: 73, + label: "菜单新增", + }, + { + value: 74, + label: "菜单编辑", + }, + { + value: 75, + label: "菜单删除", + }, + ], + }, + { + value: 5, + label: "部门管理", + children: [ + { + value: 76, + label: "部门新增", + }, + { + value: 77, + label: "部门编辑", + }, + { + value: 78, + label: "部门删除", + }, + ], + }, + { + value: 6, + label: "字典管理", + children: [ + { + value: 79, + label: "字典类型新增", + }, + { + value: 81, + label: "字典类型编辑", + }, + { + value: 84, + label: "字典类型删除", + }, + { + value: 85, + label: "字典数据新增", + }, + { + value: 86, + label: "字典数据编辑", + }, + { + value: 87, + label: "字典数据删除", + }, + ], + }, + ], + }, + { + value: 40, + label: "接口文档", + children: [ + { + value: 41, + label: "Apifox", + }, + { + value: 103, + label: "Swagger", + }, + { + value: 104, + label: "Knife4j", + }, + ], + }, + { + value: 26, + label: "平台文档", + children: [ + { + value: 102, + label: "平台文档(内嵌)", + }, + { + value: 30, + label: "平台文档(外链)", + }, + ], + }, + { + value: 20, + label: "多级菜单", + children: [ + { + value: 21, + label: "菜单一级", + children: [ + { + value: 22, + label: "菜单二级", + children: [ + { + value: 23, + label: "菜单三级-1", + }, + { + value: 24, + label: "菜单三级-2", + }, + ], + }, + ], + }, + ], + }, + { + value: 36, + label: "组件封装", + children: [ + { + value: 37, + label: "富文本编辑器", + }, + { + value: 38, + label: "图片上传", + }, + { + value: 39, + label: "图标选择器", + }, + { + value: 95, + label: "字典组件", + }, + { + value: 93, + label: "签名", + }, + { + value: 94, + label: "表格", + }, + ], + }, + { + value: 89, + label: "功能演示", + children: [ + { + value: 97, + label: "Icons", + }, + { + value: 90, + label: "Websocket", + }, + { + value: 91, + label: "敬请期待...", + }, + ], + }, + ], + 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", + path: "/system", + component: "Layout", + perm: null, + visible: 1, + sort: 1, + icon: "system", + redirect: "/system/user", + keepAlive: null, + alwaysShow: null, + }, + 2: { + id: 2, + parentId: 1, + name: "用户管理", + type: "MENU", + path: "user", + component: "system/user/index", + perm: null, + visible: 1, + sort: 1, + icon: "user", + redirect: null, + keepAlive: 1, + alwaysShow: null, + }, + 3: { + id: 3, + parentId: 1, + name: "角色管理", + type: "MENU", + path: "role", + component: "system/role/index", + perm: null, + visible: 1, + sort: 2, + icon: "role", + redirect: null, + keepAlive: 1, + alwaysShow: null, + }, + 4: { + id: 4, + parentId: 1, + name: "菜单管理", + type: "MENU", + path: "menu", + component: "system/menu/index", + perm: null, + visible: 1, + sort: 3, + icon: "menu", + redirect: null, + keepAlive: 1, + alwaysShow: null, + }, + 5: { + id: 5, + parentId: 1, + name: "部门管理", + type: "MENU", + path: "dept", + component: "system/dept/index", + perm: null, + visible: 1, + sort: 4, + icon: "tree", + redirect: null, + keepAlive: 1, + alwaysShow: null, + }, + 6: { + id: 6, + parentId: 1, + name: "字典管理", + type: "MENU", + path: "dict", + component: "system/dict/index", + perm: null, + visible: 1, + sort: 5, + icon: "dict", + redirect: null, + keepAlive: 1, + alwaysShow: null, + }, +}; diff --git a/mock/role.mock.ts b/mock/role.mock.ts index b90e1c5..cc87026 100644 --- a/mock/role.mock.ts +++ b/mock/role.mock.ts @@ -160,46 +160,176 @@ export default defineMock([ }, }, + // 新增角色 + { + url: "roles", + method: ["POST"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "新增角色" + body.name + "成功", + }; + }, + }, + + // 获取角色表单数据 { url: "roles/:id/form", method: ["GET"], body: ({ params }) => { - const id = params.id; - let formData = null; - if (id == 2) { - formData = { - id: 2, - name: "系统管理员", - code: "ADMIN", - sort: 2, - status: 1, - dataScope: 1, - }; - } else if (id == 3) { - formData = { - id: 3, - name: "访问游客", - code: "GUEST", - sort: 3, - status: 1, - dataScope: 2, - }; - } else { - formData = { - id: 4, - name: "系统管理员1", - code: "ADMIN1", - sort: 2, - status: 1, - dataScope: 1, - }; - } - return { code: "00000", - data: formData, + data: roleMap[params.id], msg: "一切ok", }; }, }, + // 修改角色 + { + url: "roles/:id", + method: ["PUT"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "修改角色" + body.name + "成功", + }; + }, + }, + + // 删除角色 + { + url: "roles/:id", + method: ["DELETE"], + body({ params }) { + return { + code: "00000", + data: null, + msg: "删除角色" + params.id + "成功", + }; + }, + }, + // 获取角色拥有的菜单ID + { + url: "roles/:id/menuIds", + method: ["GET"], + body: ({ params }) => { + return { + code: "00000", + data: [ + 1, 2, 31, 32, 33, 88, 3, 70, 71, 72, 4, 73, 75, 74, 5, 76, 77, 78, 6, + 79, 81, 84, 85, 86, 87, 40, 41, 26, 30, 20, 21, 22, 23, 24, 89, 90, + 91, 36, 37, 38, 39, 93, 94, 95, 97, 102, 89, 90, 91, 93, 94, 95, 97, + 102, 103, 104, + ], + msg: "一切ok", + }; + }, + }, + // 保存角色菜单 + { + url: "roles/:id/menus", + method: ["PUT"], + body: { + code: "00000", + data: null, + msg: "一切ok", + }, + }, ]); + +// 角色映射表数据 +const roleMap: Record = { + 2: { + id: 2, + name: "系统管理员", + code: "ADMIN", + status: 1, + sort: 2, + createTime: "2021-03-25 12:39:54", + updateTime: null, + }, + 3: { + id: 3, + name: "访问游客", + code: "GUEST", + status: 1, + sort: 3, + createTime: "2021-05-26 15:49:05", + updateTime: "2019-05-05 16:00:00", + }, + 4: { + id: 4, + name: "系统管理员1", + code: "ADMIN1", + status: 1, + sort: 2, + createTime: "2021-03-25 12:39:54", + updateTime: null, + }, + 5: { + id: 5, + name: "系统管理员2", + code: "ADMIN2", + status: 1, + sort: 2, + createTime: "2021-03-25 12:39:54", + updateTime: null, + }, + + 6: { + id: 6, + name: "系统管理员3", + code: "ADMIN3", + status: 1, + sort: 2, + createTime: "2021-03-25 12:39:54", + updateTime: null, + }, + 7: { + id: 7, + name: "系统管理员4", + code: "ADMIN4", + status: 1, + sort: 2, + createTime: "2021-03-25 12:39:54", + updateTime: null, + }, + 8: { + id: 8, + name: "系统管理员5", + code: "ADMIN5", + status: 1, + sort: 2, + createTime: "2021-03-25 12:39:54", + updateTime: null, + }, + 9: { + id: 9, + name: "系统管理员6", + code: "ADMIN6", + status: 1, + sort: 2, + createTime: "2021-03-25 12:39:54", + updateTime: "2023-12-04 11:43:15", + }, + 10: { + id: 10, + name: "系统管理员7", + code: "ADMIN7", + status: 1, + sort: 2, + createTime: "2021-03-25 12:39:54", + updateTime: null, + }, + 11: { + id: 11, + name: "系统管理员8", + code: "ADMIN8", + status: 1, + sort: 2, + createTime: "2021-03-25 12:39:54", + updateTime: null, + }, +}; diff --git a/mock/user.mock.ts b/mock/user.mock.ts index 25deaa9..b14ef24 100644 --- a/mock/user.mock.ts +++ b/mock/user.mock.ts @@ -51,28 +51,26 @@ export default defineMock([ username: "admin", nickname: "系统管理员", mobile: "17621210366", - genderLabel: "男", + gender: 1, avatar: "https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif", - email: null, + email: "", status: 1, - deptName: "有来技术", - roleNames: "系统管理员", - createTime: "2019-10-10", + deptId: 1, + roleIds: [2], }, { id: 3, username: "test", nickname: "测试小用户", mobile: "17621210366", - genderLabel: "男", + gender: 1, avatar: "https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif", - email: null, + email: "youlaitech@163.com", status: 1, - deptName: "测试部门", - roleNames: "访问游客", - createTime: "2021-06-04", + deptId: 3, + roleIds: [3], }, ], total: 2, @@ -81,47 +79,97 @@ export default defineMock([ }, }, + // 新增用户 + { + url: "users", + method: ["POST"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "新增用户" + body.nickname + "成功", + }; + }, + }, + + // 获取用户表单数据 { url: "users/:userId/form", method: ["GET"], body: ({ params }) => { - const userId = params.userId; - let formData = null; - if (userId == 2) { - formData = { - id: 2, - username: "admin", - nickname: "系统管理员", - mobile: "17621210366", - gender: 1, - avatar: - "https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif", - email: "", - status: 1, - deptId: 1, - roleIds: [2], - }; - } else if (userId == 3) { - formData = { - id: 3, - username: "test", - nickname: "测试小用户", - mobile: "17621210366", - gender: 1, - avatar: - "https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif", - email: "youlaitech@163.com", - status: 1, - deptId: 3, - roleIds: [3], - }; - } - return { code: "00000", - data: formData, + data: userMap[params.userId], msg: "一切ok", }; }, }, + // 修改用户 + { + url: "users/:userId", + method: ["PUT"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "修改用户" + body.nickname + "成功", + }; + }, + }, + + // 删除用户 + { + url: "users/:userId", + method: ["DELETE"], + body({ params }) { + return { + code: "00000", + data: null, + msg: "删除用户" + params.id + "成功", + }; + }, + }, + + // 重置密码 + { + url: "users/:userId/password", + method: ["PATCH"], + body({ query }) { + return { + code: "00000", + data: null, + msg: "重置密码成功,新密码为:" + query.password, + }; + }, + }, ]); + +// 用户映射表数据 +const userMap: Record = { + 2: { + id: 2, + username: "admin", + nickname: "系统管理员", + mobile: "17621210366", + gender: 1, + avatar: + "https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif", + email: "", + status: 1, + deptId: 1, + roleIds: [2], + }, + 3: { + id: 3, + username: "test", + nickname: "测试小用户", + mobile: "17621210366", + gender: 1, + avatar: + "https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif", + email: "youlaitech@163.com", + status: 1, + deptId: 3, + roleIds: [3], + }, +};