diff --git a/mock/auth.mock.ts b/mock/auth.mock.ts index 90f08f74..59803e5c 100644 --- a/mock/auth.mock.ts +++ b/mock/auth.mock.ts @@ -22,7 +22,7 @@ export default defineMock([ code: "00000", data: { accessToken: - "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImp0aSI6IjE2YWJkNTlkOTAxNzQwZDliYmI3ZjczODBhZDkyNzNhIiwidXNlcklkIjoyLCJ1c2VybmFtZSI6ImFkbWluIiwiZGVwdElkIjoxLCJkYXRhU2NvcGUiOjEsImF1dGhvcml0aWVzIjpbIlJPTEVfQURNSU4iXSwiZXhwIjoxNjkxMTAzMzgyfQ.P4cuIfmPepl3HuguhMS7NXn5a7IUPpsLbmtA_rHOhHk", + "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImRlcHRJZCI6MSwiZGF0YVNjb3BlIjoxLCJ1c2VySWQiOjIsImlhdCI6MTcyODE5MzA1MiwiYXV0aG9yaXRpZXMiOlsiUk9MRV9BRE1JTiJdLCJqdGkiOiJhZDg3NzlhZDZlYWY0OWY3OTE4M2ZmYmI5OWM4MjExMSJ9.58YHwL3sNNC22jyAmOZeSm-7MITzfHb_epBIz7LvWeA", tokenType: "Bearer", refreshToken: null, expires: null, diff --git a/mock/dict-data.mock.ts b/mock/dict-data.mock.ts new file mode 100644 index 00000000..28c4929b --- /dev/null +++ b/mock/dict-data.mock.ts @@ -0,0 +1,133 @@ +import { defineMock } from "./base"; + +export default defineMock([ + { + url: "dict-data/page", + method: ["GET"], + body: { + code: "00000", + data: { + list: [ + { + id: 1, + dictCode: "gender", + label: "男", + value: "1", + sort: 1, + status: 1, + }, + { + id: 2, + dictCode: "gender", + label: "女", + value: "2", + sort: 2, + status: 1, + }, + { + id: 3, + dictCode: "gender", + label: "保密", + value: "0", + sort: 3, + status: 1, + }, + ], + total: 3, + }, + msg: "一切ok", + }, + }, + + // 新增字典数据 + { + url: "dict-data", + method: ["POST"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "新增字典" + body.name + "成功", + }; + }, + }, + + // 获取字典数据表单 + { + url: "dict-data/:id/form", + method: ["GET"], + body: ({ params }) => { + return { + code: "00000", + data: dictMap[params.id], + msg: "一切ok", + }; + }, + }, + + // 修改字典数据 + { + url: "dict-data/:id", + method: ["PUT"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "修改字典数据" + body.name + "成功", + }; + }, + }, + + // 删除字典 + { + url: "dict-data/:id", + method: ["DELETE"], + body({ params }) { + return { + code: "00000", + data: null, + msg: "删除字典" + params.id + "成功", + }; + }, + }, +]); + +// 字典数据映射表数据 +const dictMap: Record = { + 1: { + code: "00000", + data: { + id: 1, + value: "1", + label: "男", + sort: 1, + status: 1, + tagType: "primary", + }, + msg: "一切ok", + }, + 2: { + code: "00000", + data: { + id: 2, + value: "2", + label: "女", + sort: 2, + status: 1, + tagType: "danger", + }, + msg: "一切ok", + }, + 3: { + code: "00000", + data: { + id: 3, + value: "0", + label: "保密", + sort: 3, + status: 1, + tagType: "info", + }, + msg: "一切ok", + }, +}; diff --git a/mock/menu.mock.ts b/mock/menu.mock.ts index a31ef4f7..e1389ce0 100644 --- a/mock/menu.mock.ts +++ b/mock/menu.mock.ts @@ -413,1058 +413,6 @@ export default defineMock([ }, }, - { - url: "menus", - method: ["GET"], - body: { - code: "00000", - data: [ - { - id: 1, - parentId: 0, - name: "系统管理", - type: "CATALOG", - routeName: "", - routePath: "/system", - component: "Layout", - sort: 1, - visible: 1, - icon: "system", - redirect: "/system/user", - perm: null, - children: [ - { - id: 2, - parentId: 1, - name: "用户管理", - type: "MENU", - routeName: "User", - routePath: "user", - component: "system/user/index", - sort: 1, - visible: 1, - icon: "el-icon-User", - redirect: null, - perm: null, - children: [ - { - id: 105, - parentId: 2, - name: "用户查询", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 0, - visible: 1, - icon: "", - redirect: null, - perm: "sys:user:query", - children: [], - }, - { - id: 31, - parentId: 2, - name: "用户新增", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 1, - visible: 1, - icon: "", - redirect: "", - perm: "sys:user:add", - children: [], - }, - { - id: 32, - parentId: 2, - name: "用户编辑", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 2, - visible: 1, - icon: "", - redirect: "", - perm: "sys:user:edit", - children: [], - }, - { - id: 33, - parentId: 2, - name: "用户删除", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 3, - visible: 1, - icon: "", - redirect: "", - perm: "sys:user:delete", - children: [], - }, - { - id: 88, - parentId: 2, - name: "重置密码", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 4, - visible: 1, - icon: "", - redirect: null, - perm: "sys:user:password:reset", - children: [], - }, - { - id: 106, - parentId: 2, - name: "用户导入", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 5, - visible: 1, - icon: "", - redirect: null, - perm: "sys:user:import", - children: [], - }, - { - id: 107, - parentId: 2, - name: "用户导出", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 6, - visible: 1, - icon: "", - redirect: null, - perm: "sys:user:export", - children: [], - }, - ], - }, - { - id: 3, - parentId: 1, - name: "角色管理", - type: "MENU", - routeName: "Role", - routePath: "role", - component: "system/role/index", - sort: 2, - visible: 1, - icon: "role", - redirect: null, - perm: null, - children: [ - { - id: 70, - parentId: 3, - name: "角色新增", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 1, - visible: 1, - icon: "", - redirect: null, - perm: "sys:role:add", - children: [], - }, - { - id: 71, - parentId: 3, - name: "角色编辑", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 2, - visible: 1, - icon: "", - redirect: null, - perm: "sys:role:edit", - children: [], - }, - { - id: 72, - parentId: 3, - name: "角色删除", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 3, - visible: 1, - icon: "", - redirect: null, - perm: "sys:role:delete", - children: [], - }, - ], - }, - { - id: 4, - parentId: 1, - name: "菜单管理", - type: "MENU", - routeName: "Menu", - routePath: "menu", - component: "system/menu/index", - sort: 3, - visible: 1, - icon: "menu", - redirect: null, - perm: null, - children: [ - { - id: 73, - parentId: 4, - name: "菜单新增", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 1, - visible: 1, - icon: "", - redirect: null, - perm: "sys:menu:add", - children: [], - }, - { - id: 75, - parentId: 4, - name: "菜单删除", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 3, - visible: 1, - icon: "", - redirect: null, - perm: "sys:menu:delete", - children: [], - }, - { - id: 74, - parentId: 4, - name: "菜单编辑", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 3, - visible: 1, - icon: "", - redirect: null, - perm: "sys:menu:edit", - children: [], - }, - ], - }, - { - id: 5, - parentId: 1, - name: "部门管理", - type: "MENU", - routeName: "Dept", - routePath: "dept", - component: "system/dept/index", - sort: 4, - visible: 1, - icon: "tree", - redirect: null, - perm: null, - children: [ - { - id: 76, - parentId: 5, - name: "部门新增", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 1, - visible: 1, - icon: "", - redirect: null, - perm: "sys:dept:add", - children: [], - }, - { - id: 77, - parentId: 5, - name: "部门编辑", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 2, - visible: 1, - icon: "", - redirect: null, - perm: "sys:dept:edit", - children: [], - }, - { - id: 78, - parentId: 5, - name: "部门删除", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 3, - visible: 1, - icon: "", - redirect: null, - perm: "sys:dept:delete", - children: [], - }, - ], - }, - { - id: 6, - parentId: 1, - name: "字典管理", - type: "MENU", - routeName: "Dict", - routePath: "dict", - component: "system/dict/index", - sort: 5, - visible: 1, - icon: "dict", - redirect: null, - perm: null, - children: [ - { - id: 79, - parentId: 6, - name: "字典类型新增", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 1, - visible: 1, - icon: "", - redirect: null, - perm: "sys:dict_type:add", - children: [], - }, - { - id: 81, - parentId: 6, - name: "字典类型编辑", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 2, - visible: 1, - icon: "", - redirect: null, - perm: "sys:dict_type:edit", - children: [], - }, - { - id: 84, - parentId: 6, - name: "字典类型删除", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 3, - visible: 1, - icon: "", - redirect: null, - perm: "sys:dict_type:delete", - children: [], - }, - { - id: 85, - parentId: 6, - name: "字典数据新增", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 4, - visible: 1, - icon: "", - redirect: null, - perm: "sys:dict:add", - children: [], - }, - { - id: 86, - parentId: 6, - name: "字典数据编辑", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 5, - visible: 1, - icon: "", - redirect: null, - perm: "sys:dict:edit", - children: [], - }, - { - id: 87, - parentId: 6, - name: "字典数据删除", - type: "BUTTON", - routeName: null, - routePath: "", - component: null, - sort: 6, - visible: 1, - icon: "", - redirect: null, - perm: "sys:dict:delete", - children: [], - }, - ], - }, - ], - }, - { - id: 40, - parentId: 0, - name: "接口文档", - type: "CATALOG", - routeName: null, - routePath: "/api", - component: "Layout", - sort: 7, - visible: 1, - icon: "api", - redirect: "", - perm: null, - children: [ - { - id: 41, - parentId: 40, - name: "Apifox", - type: "MENU", - routeName: null, - routePath: "apifox", - component: "demo/api/apifox", - sort: 1, - visible: 1, - icon: "api", - redirect: "", - perm: null, - children: [], - }, - ], - }, - { - id: 26, - parentId: 0, - name: "平台文档", - type: "CATALOG", - routeName: null, - routePath: "/doc", - component: "Layout", - sort: 8, - visible: 1, - icon: "document", - redirect: "https://juejin.cn/post/7228990409909108793", - perm: null, - children: [ - { - id: 102, - parentId: 26, - name: "平台文档(内嵌)", - type: "EXTLINK", - routeName: null, - routePath: "internal-doc", - component: "demo/internal-doc", - sort: 1, - visible: 1, - icon: "document", - redirect: "", - perm: null, - children: [], - }, - { - id: 30, - parentId: 26, - name: "平台文档(外链)", - type: "EXTLINK", - routeName: null, - routePath: "https://juejin.cn/post/7228990409909108793", - component: "", - sort: 2, - visible: 1, - icon: "link", - redirect: "", - perm: null, - children: [], - }, - ], - }, - { - id: 20, - parentId: 0, - name: "多级菜单", - type: "CATALOG", - routeName: null, - routePath: "/multi-level", - component: "Layout", - sort: 9, - visible: 1, - icon: "cascader", - redirect: "", - perm: null, - children: [ - { - id: 21, - parentId: 20, - name: "菜单一级", - type: "MENU", - routeName: null, - routePath: "multi-level1", - component: "demo/multi-level/level1", - sort: 1, - visible: 1, - icon: "", - redirect: "", - perm: null, - children: [ - { - id: 22, - parentId: 21, - name: "菜单二级", - type: "MENU", - routeName: null, - routePath: "multi-level2", - component: "demo/multi-level/children/level2", - sort: 1, - visible: 1, - icon: "", - redirect: null, - perm: null, - children: [ - { - id: 23, - parentId: 22, - name: "菜单三级-1", - type: "MENU", - routeName: null, - routePath: "multi-level3-1", - component: "demo/multi-level/children/children/level3-1", - sort: 1, - visible: 1, - icon: "", - redirect: "", - perm: null, - children: [], - }, - { - id: 24, - parentId: 22, - name: "菜单三级-2", - type: "MENU", - routeName: null, - routePath: "multi-level3-2", - component: "demo/multi-level/children/children/level3-2", - sort: 2, - visible: 1, - icon: "", - redirect: "", - perm: null, - children: [], - }, - ], - }, - ], - }, - ], - }, - { - id: 36, - parentId: 0, - name: "组件封装", - type: "CATALOG", - routeName: null, - routePath: "/component", - component: "Layout", - sort: 10, - visible: 1, - icon: "menu", - redirect: "", - perm: null, - children: [ - { - id: 108, - parentId: 36, - name: "增删改查", - type: "MENU", - routeName: null, - routePath: "curd", - component: "demo/curd/index", - sort: 0, - visible: 1, - icon: "", - redirect: "", - perm: null, - children: [], - }, - { - id: 109, - parentId: 36, - name: "列表选择器", - type: "MENU", - routeName: null, - routePath: "table-select", - component: "demo/table-select/index", - sort: 1, - visible: 1, - icon: "", - redirect: "", - perm: null, - children: [], - }, - { - id: 37, - parentId: 36, - name: "富文本编辑器", - type: "MENU", - routeName: null, - routePath: "wang-editor", - component: "demo/wang-editor", - sort: 2, - visible: 1, - icon: "", - redirect: "", - perm: null, - children: [], - }, - { - id: 38, - parentId: 36, - name: "图片上传", - type: "MENU", - routeName: null, - routePath: "upload", - component: "demo/upload", - sort: 3, - visible: 1, - icon: "", - redirect: "", - perm: null, - children: [], - }, - { - id: 95, - parentId: 36, - name: "字典组件", - type: "MENU", - routeName: null, - routePath: "dict-demo", - component: "demo/dict", - sort: 4, - visible: 1, - icon: "", - redirect: "", - perm: null, - children: [], - }, - { - id: 39, - parentId: 36, - name: "图标选择器", - type: "MENU", - routeName: null, - routePath: "icon-selector", - component: "demo/icon-selector", - sort: 4, - visible: 1, - icon: "", - redirect: "", - perm: null, - children: [], - }, - ], - }, - { - id: 110, - parentId: 0, - name: "路由参数", - type: "CATALOG", - routeName: null, - routePath: "/route-param", - component: "Layout", - sort: 11, - visible: 1, - icon: "el-icon-ElementPlus", - redirect: null, - perm: null, - children: [ - { - id: 111, - parentId: 110, - name: "参数(type=1)", - type: "MENU", - routeName: null, - routePath: "route-param-type1", - component: "demo/route-param", - sort: 1, - visible: 1, - icon: "el-icon-Star", - redirect: null, - perm: null, - children: [], - }, - { - id: 112, - parentId: 110, - name: "参数(type=2)", - type: "MENU", - routeName: null, - routePath: "route-param-type2", - component: "demo/route-param", - sort: 2, - visible: 1, - icon: "el-icon-StarFilled", - redirect: null, - perm: null, - children: [], - }, - ], - }, - { - id: 89, - parentId: 0, - name: "功能演示", - type: "CATALOG", - routeName: null, - routePath: "/function", - component: "Layout", - sort: 12, - visible: 1, - icon: "menu", - redirect: "", - perm: null, - children: [ - { - id: 97, - parentId: 89, - name: "Icons", - type: "MENU", - routeName: null, - routePath: "icon-demo", - component: "demo/icons", - sort: 2, - visible: 1, - icon: "el-icon-Notification", - redirect: "", - perm: null, - children: [], - }, - { - id: 90, - parentId: 89, - name: "Websocket", - type: "MENU", - routeName: null, - routePath: "/function/websocket", - component: "demo/websocket", - sort: 3, - visible: 1, - icon: "", - redirect: "", - perm: null, - children: [], - }, - { - id: 91, - parentId: 89, - name: "敬请期待...", - type: "CATALOG", - routeName: null, - routePath: "other/:id", - component: "demo/other", - sort: 4, - visible: 1, - icon: "", - redirect: "", - perm: null, - children: [], - }, - ], - }, - ], - msg: "一切ok", - }, - }, - - { - url: "menus/options", - method: ["GET"], - body: { - code: "00000", - data: [ - { - value: 1, - label: "系统管理", - children: [ - { - value: 2, - label: "用户管理", - children: [ - { - value: 105, - label: "用户查询", - }, - { - value: 31, - label: "用户新增", - }, - { - value: 32, - label: "用户编辑", - }, - { - value: 33, - label: "用户删除", - }, - { - value: 88, - label: "重置密码", - }, - { - value: 106, - label: "用户导入", - }, - { - value: 107, - label: "用户导出", - }, - ], - }, - { - value: 3, - label: "角色管理", - children: [ - { - value: 70, - label: "角色新增", - }, - { - value: 71, - label: "角色编辑", - }, - { - value: 72, - label: "角色删除", - }, - ], - }, - { - value: 4, - label: "菜单管理", - children: [ - { - value: 73, - label: "菜单新增", - }, - { - value: 75, - label: "菜单删除", - }, - { - value: 74, - 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: 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: 108, - label: "增删改查", - }, - { - value: 109, - label: "列表选择器", - }, - { - value: 37, - label: "富文本编辑器", - }, - { - value: 38, - label: "图片上传", - }, - { - value: 95, - label: "字典组件", - }, - { - value: 39, - label: "图标选择器", - }, - ], - }, - { - value: 110, - label: "路由参数", - children: [ - { - value: 111, - label: "参数(type=1)", - }, - { - value: 112, - label: "参数(type=2)", - }, - ], - }, - { - value: 89, - label: "功能演示", - children: [ - { - value: 97, - label: "Icons", - }, - { - value: 90, - label: "Websocket", - }, - { - value: 91, - label: "敬请期待...", - }, - ], - }, - ], - msg: "一切ok", - }, - }, - // 新增菜单 { url: "menus", diff --git a/mock/notice.mock.ts b/mock/notice.mock.ts new file mode 100644 index 00000000..7b5a37f0 --- /dev/null +++ b/mock/notice.mock.ts @@ -0,0 +1,419 @@ +import { defineMock } from "./base"; + +export default defineMock([ + { + url: "notices/page", + method: ["GET"], + body: { + code: "00000", + data: { + list: [ + { + id: 1, + title: "v2.12.0 新增系统日志,访问趋势统计功能。", + publishStatus: 1, + type: 1, + publisherName: "系统管理员", + level: "L", + publishTime: "2024-09-30 17:21", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + { + id: 2, + title: "v2.13.0 新增菜单搜索。", + publishStatus: 1, + type: 1, + publisherName: "系统管理员", + level: "L", + publishTime: "2024-09-30 17:22", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + { + id: 3, + title: "\r\nv2.14.0 新增个人中心。", + publishStatus: 1, + type: 1, + publisherName: "系统管理员", + level: "L", + publishTime: "2024-09-30 17:23", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + { + id: 4, + title: "v2.15.0 登录页面改造。", + publishStatus: 1, + type: 1, + publisherName: "系统管理员", + level: "L", + publishTime: "2024-09-30 17:24", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + { + id: 5, + title: "v2.16.0 通知公告、字典翻译组件。", + publishStatus: 1, + type: 1, + publisherName: "系统管理员", + level: "L", + publishTime: "2024-09-30 17:25", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + { + id: 6, + title: "系统将于本周六凌晨 2 点进行维护,预计维护时间为 2 小时。", + publishStatus: 1, + type: 2, + publisherName: "系统管理员", + level: "L", + publishTime: "2024-09-30 17:26", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + { + id: 7, + title: "最近发现一些钓鱼邮件,请大家提高警惕,不要点击陌生链接。", + publishStatus: 1, + type: 3, + publisherName: "系统管理员", + level: "L", + publishTime: "2024-09-30 17:27", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + { + id: 8, + title: "国庆假期从 10 月 1 日至 10 月 7 日放假,共 7 天。", + publishStatus: 1, + type: 4, + publisherName: "系统管理员", + level: "L", + publishTime: "2024-09-30 17:28", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + { + id: 9, + title: "公司将在 10 月 15 日举办新产品发布会,敬请期待。", + publishStatus: 1, + type: 5, + publisherName: "系统管理员", + level: "L", + publishTime: "2024-09-30 17:29", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + { + id: 10, + title: + "v2.16.1 版本修复了 WebSocket 重复连接导致的后台线程阻塞问题,优化了通知公告。", + publishStatus: 1, + type: 1, + publisherName: "系统管理员", + level: "L", + publishTime: "2024-09-30 17:30", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + ], + total: 10, + }, + msg: "一切ok", + }, + }, + + // 新增通知 + { + url: "notices", + method: ["POST"], + body({ body }) { + return { + code: "00000", + data: null, + msg: "新增成功", + }; + }, + }, + + // 获取通知表单数据 + { + url: "notices/:id/form", + method: ["GET"], + body: ({ params }) => { + return { + code: "00000", + data: noticeMap[params.id], + msg: "一切ok", + }; + }, + }, + + // 获取通知详情 + { + url: "notices/:id/detail", + method: ["GET"], + body: ({ params }) => { + return { + code: "00000", + data: noticeMap[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 + "成功", + }; + }, + }, + + // 我的通知分页列表 + { + url: "notices/my-page", + method: ["GET"], + body: { + code: "00000", + data: { + list: [ + { + id: 10, + title: + "v2.16.1 版本修复了 WebSocket 重复连接导致的后台线程阻塞问题,优化了通知公告。", + type: 1, + level: "L", + publisherName: "系统管理员", + publishTime: "2024-09-30 17:30", + isRead: 0, + }, + { + id: 9, + title: "公司将在 10 月 15 日举办新产品发布会,敬请期待。", + type: 5, + level: "L", + publisherName: "系统管理员", + publishTime: "2024-09-30 17:29", + isRead: 0, + }, + { + id: 8, + title: "国庆假期从 10 月 1 日至 10 月 7 日放假,共 7 天。", + type: 4, + level: "L", + publisherName: "系统管理员", + publishTime: "2024-09-30 17:28", + isRead: 0, + }, + { + id: 7, + title: "最近发现一些钓鱼邮件,请大家提高警惕,不要点击陌生链接。", + type: 3, + level: "L", + publisherName: "系统管理员", + publishTime: "2024-09-30 17:27", + isRead: 0, + }, + { + id: 6, + title: "系统将于本周六凌晨 2 点进行维护,预计维护时间为 2 小时。", + type: 2, + level: "L", + publisherName: "系统管理员", + publishTime: "2024-09-30 17:26", + isRead: 0, + }, + ], + total: 10, + }, + msg: "一切ok", + }, + }, +]); + +// 通知映射表数据 +const noticeMap: Record = { + 1: { + id: 1, + title: "v2.12.0 新增系统日志,访问趋势统计功能。", + publishStatus: 1, + type: 1, + publisherName: "系统管理员", + level: "L", + levelLabel: null, + publishTime: "2024-09-30 17:21", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + 2: { + id: 2, + title: "v2.13.0 新增菜单搜索。", + publishStatus: 1, + type: 1, + publisherName: "系统管理员", + level: "L", + levelLabel: null, + publishTime: "2024-09-30 17:22", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + 3: { + id: 3, + title: "\r\nv2.14.0 新增个人中心。", + publishStatus: 1, + type: 1, + publisherName: "系统管理员", + level: "L", + levelLabel: null, + publishTime: "2024-09-30 17:23", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + 4: { + id: 4, + title: "v2.15.0 登录页面改造。", + publishStatus: 1, + type: 1, + publisherName: "系统管理员", + level: "L", + levelLabel: null, + publishTime: "2024-09-30 17:24", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + + 5: { + id: 5, + title: "v2.16.0 通知公告、字典翻译组件。", + publishStatus: 1, + type: 1, + publisherName: "系统管理员", + level: "L", + levelLabel: null, + publishTime: "2024-09-30 17:25", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + 6: { + id: 6, + title: "系统将于本周六凌晨 2 点进行维护,预计维护时间为 2 小时。", + publishStatus: 1, + type: 2, + publisherName: "系统管理员", + level: "L", + levelLabel: null, + publishTime: "2024-09-30 17:26", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + 7: { + id: 7, + title: "最近发现一些钓鱼邮件,请大家提高警惕,不要点击陌生链接。", + publishStatus: 1, + type: 3, + publisherName: "系统管理员", + level: "L", + levelLabel: null, + publishTime: "2024-09-30 17:27", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + 8: { + id: 8, + title: "国庆假期从 10 月 1 日至 10 月 7 日放假,共 7 天。", + publishStatus: 1, + type: 4, + publisherName: "系统管理员", + level: "L", + levelLabel: null, + publishTime: "2024-09-30 17:28", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + 9: { + id: 9, + title: "公司将在 10 月 15 日举办新产品发布会,敬请期待。", + publishStatus: 1, + type: 5, + publisherName: "系统管理员", + level: "L", + levelLabel: null, + publishTime: "2024-09-30 17:29", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, + 10: { + id: 10, + title: + "v2.16.1 版本修复了 WebSocket 重复连接导致的后台线程阻塞问题,优化了通知公告。", + publishStatus: 1, + type: 1, + publisherName: "系统管理员", + level: "L", + levelLabel: null, + publishTime: "2024-09-30 17:30", + isRead: null, + targetType: 1, + createTime: "2024-09-28 11:21", + revokeTime: "2024-09-30 17:21", + }, +}; diff --git a/mock/user.mock.ts b/mock/user.mock.ts index 3d0163a3..e82a2e15 100644 --- a/mock/user.mock.ts +++ b/mock/user.mock.ts @@ -8,33 +8,44 @@ export default defineMock([ code: "00000", data: { userId: 2, - nickname: "系统管理员", username: "admin", + nickname: "系统管理员", avatar: - "https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif", - roles: ["ROOT"], + "https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif", + roles: ["ADMIN"], perms: [ + "sys:notice:edit", "sys:menu:delete", - "sys:dept:edit", - "sys:dict_type:add", "sys:dict:edit", + "sys:notice:query", "sys:dict:delete", - "sys:dict_type:edit", + "sys:config:add", + "sys:config:refresh", "sys:menu:add", "sys:user:add", + "sys:user:export", "sys:role:edit", "sys:dept:delete", - "sys:user:edit", - "sys:user:delete", + "sys:config:update", "sys:user:password:reset", - "sys:dept:add", - "sys:role:delete", + "sys:notice:revoke", + "sys:user:import", + "sys:user:delete", "sys:dict_type:delete", - "sys:menu:edit", "sys:dict:add", "sys:role:add", + "sys:notice:publish", + "sys:notice:delete", + "sys:dept:edit", + "sys:dict_type:edit", "sys:user:query", - "sys:user:export", + "sys:user:edit", + "sys:config:delete", + "sys:dept:add", + "sys:notice:add", + "sys:role:delete", + "sys:menu:edit", + "sys:config:query", ], }, msg: "一切ok", @@ -55,7 +66,7 @@ export default defineMock([ mobile: "17621210366", gender: 1, avatar: - "https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif", + "https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif", email: "", status: 1, deptId: 1, @@ -68,7 +79,7 @@ export default defineMock([ mobile: "17621210366", gender: 1, avatar: - "https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif", + "https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif", email: "youlaitech@163.com", status: 1, deptId: 3, @@ -212,7 +223,7 @@ const userMap: Record = { mobile: "17621210366", gender: 1, avatar: - "https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif", + "https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif", email: "", status: 1, deptId: 1, @@ -225,7 +236,7 @@ const userMap: Record = { mobile: "17621210366", gender: 1, avatar: - "https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif", + "https://foruda.gitee.com/images/1723603502796844527/03cdca2a_716974.gif", email: "youlaitech@163.com", status: 1, deptId: 3,