feat: 对接角色权限与操作日志相关接口字段

This commit is contained in:
ZhuRui
2026-07-30 16:57:22 +08:00
parent 7276425abf
commit 1638643811
16 changed files with 930 additions and 533 deletions
+72
View File
@@ -0,0 +1,72 @@
/**
* 角色管理 API
*/
import { get, post } from '@/utils/request';
import { USE_MOCK, MOCK_DELAY } from '@/config/mock';
import { buildMockRoleListPage } from '@/config/mock/roleList';
import { buildMockRoleUsageUserPage } from '@/config/mock/roleUsageUser';
import { buildMockPermissionTree } from '@/config/mock/permissionTree';
import type {
RoleListQueryParams,
RoleUsageUserQueryParams,
TournamentAdminRolePageVO,
RoleUsageUserVO,
PermissionTreeNode,
PageData,
ApiResult,
} from './types';
export type {
TournamentAdminRolePageVO,
RoleUsageUserVO,
RoleListQueryParams,
RoleUsageUserQueryParams,
PermissionTreeNode,
PageData,
ApiResult,
} from './types';
const delay = (ms: number) => new Promise<void>((r) => setTimeout(r, ms));
/** GET /sys/role/page — 角色列表分页 */
export async function getRoleList(
params: RoleListQueryParams,
): Promise<ApiResult<PageData<TournamentAdminRolePageVO>>> {
if (USE_MOCK) {
await delay(MOCK_DELAY);
const page = Number(params.page) || 1;
const limit = Number(params.limit) || 10;
return { code: 200, msg: 'success', data: buildMockRoleListPage(page, limit) };
}
return get('/sys/role/page', params as Record<string, any>);
}
/** GET /sys/role/usageUserPage — 角色下用户列表分页 */
export async function getRoleUsageUserList(
params: RoleUsageUserQueryParams,
): Promise<ApiResult<PageData<RoleUsageUserVO>>> {
if (USE_MOCK) {
await delay(MOCK_DELAY);
const page = Number(params.page) || 1;
const limit = Number(params.limit) || 10;
return { code: 200, msg: 'success', data: buildMockRoleUsageUserPage(page, limit) };
}
return get('/sys/role/usageUserPage', params as Record<string, any>);
}
/** GET /admin/sys/role/permissionList?roleId=xxx — 角色权限树 */
export async function getPermissionTree(
roleId: number | string,
): Promise<ApiResult<PermissionTreeNode[]>> {
if (USE_MOCK) {
await delay(MOCK_DELAY);
const id = Number(roleId) || 0;
return { code: 200, msg: 'success', data: buildMockPermissionTree(id) };
}
return get('/admin/sys/role/permissionList', { roleId: String(roleId) });
}
/** POST /admin/sys/role/del — 删除角色 */
export async function deleteRole(id: number): Promise<ApiResult<null>> {
return post('/admin/sys/role/del', { id });
}