feat: 完善基础增删改查`Mock`接口

This commit is contained in:
郝先瑞 2024-03-05 18:32:37 +08:00
parent e87d9f7da0
commit bc0fad3146
5 changed files with 858 additions and 75 deletions

View File

@ -67,4 +67,81 @@ export default defineMock([
msg: "一切ok", 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<string, any> = {
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,
},
};

View File

@ -91,4 +91,157 @@ export default defineMock([
msg: "一切ok", 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<string, any> = {
1: {
id: 1,
name: "性别",
code: "gender",
status: 1,
remark: null,
},
2: {
id: 2,
name: "状态",
code: "status",
status: 1,
remark: null,
},
};
// 字典映射表数据
const dictMap: Record<string, any> = {
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,
},
};

View File

@ -1066,4 +1066,379 @@ export default defineMock([
msg: "一切ok", 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<string, any> = {
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,
},
};

View File

@ -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", url: "roles/:id/form",
method: ["GET"], method: ["GET"],
body: ({ params }) => { 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 { return {
code: "00000", code: "00000",
data: formData, data: roleMap[params.id],
msg: "一切ok", 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<string, any> = {
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,
},
};

View File

@ -47,48 +47,6 @@ export default defineMock([
data: { data: {
list: [ list: [
{ {
id: 2,
username: "admin",
nickname: "系统管理员",
mobile: "17621210366",
genderLabel: "男",
avatar:
"https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif",
email: null,
status: 1,
deptName: "有来技术",
roleNames: "系统管理员",
createTime: "2019-10-10",
},
{
id: 3,
username: "test",
nickname: "测试小用户",
mobile: "17621210366",
genderLabel: "男",
avatar:
"https://oss.youlai.tech/youlai-boot/2023/05/16/811270ef31f548af9cffc026dfc3777b.gif",
email: null,
status: 1,
deptName: "测试部门",
roleNames: "访问游客",
createTime: "2021-06-04",
},
],
total: 2,
},
msg: "一切ok",
},
},
{
url: "users/:userId/form",
method: ["GET"],
body: ({ params }) => {
const userId = params.userId;
let formData = null;
if (userId == 2) {
formData = {
id: 2, id: 2,
username: "admin", username: "admin",
nickname: "系统管理员", nickname: "系统管理员",
@ -100,9 +58,8 @@ export default defineMock([
status: 1, status: 1,
deptId: 1, deptId: 1,
roleIds: [2], roleIds: [2],
}; },
} else if (userId == 3) { {
formData = {
id: 3, id: 3,
username: "test", username: "test",
nickname: "测试小用户", nickname: "测试小用户",
@ -114,14 +71,105 @@ export default defineMock([
status: 1, status: 1,
deptId: 3, deptId: 3,
roleIds: [3], roleIds: [3],
}; },
} ],
total: 2,
},
msg: "一切ok",
},
},
// 新增用户
{
url: "users",
method: ["POST"],
body({ body }) {
return { return {
code: "00000", code: "00000",
data: formData, data: null,
msg: "新增用户" + body.nickname + "成功",
};
},
},
// 获取用户表单数据
{
url: "users/:userId/form",
method: ["GET"],
body: ({ params }) => {
return {
code: "00000",
data: userMap[params.userId],
msg: "一切ok", 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<string, any> = {
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],
},
};