feat: 对接角色权限与操作日志相关接口字段
This commit is contained in:
@@ -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 });
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
/**
|
||||
* 角色管理 — 类型定义
|
||||
* 对应 OpenAPI: /admin/sys/role/*
|
||||
*/
|
||||
|
||||
/** 角色列表项 */
|
||||
export interface TournamentAdminRolePageVO {
|
||||
/** 角色ID */
|
||||
roleId: number;
|
||||
/** 角色名称 */
|
||||
roleName: string;
|
||||
/** 角色用户数量 */
|
||||
userCount: number;
|
||||
/** 角色创建时间 */
|
||||
createTime: string;
|
||||
}
|
||||
|
||||
/** 角色列表查询参数 */
|
||||
export interface RoleListQueryParams {
|
||||
page?: string;
|
||||
limit?: string;
|
||||
/** 角色名称(模糊搜索) */
|
||||
name?: string;
|
||||
}
|
||||
|
||||
/** 角色下用户列表项 */
|
||||
export interface RoleUsageUserVO {
|
||||
realName: string;
|
||||
phone: string;
|
||||
createTime: string;
|
||||
/** 状态: 0=停用、1=正常 */
|
||||
status: number;
|
||||
}
|
||||
|
||||
/** 角色下用户列表查询参数 */
|
||||
export interface RoleUsageUserQueryParams {
|
||||
page?: string;
|
||||
limit?: string;
|
||||
/** 用户姓名或手机号 */
|
||||
text?: string;
|
||||
roleId?: string;
|
||||
}
|
||||
|
||||
export interface PageData<T> {
|
||||
total: number;
|
||||
list: T[];
|
||||
}
|
||||
export interface ApiResult<T> {
|
||||
code: number;
|
||||
msg: string;
|
||||
data: T;
|
||||
}
|
||||
|
||||
/** 权限树节点(后端 /admin/sys/role/permissionList 返回) */
|
||||
export interface PermissionTreeNode {
|
||||
/** 主键 */
|
||||
id: number;
|
||||
/** 上级ID */
|
||||
pid: number;
|
||||
/** 标题 */
|
||||
name: string;
|
||||
/** 是否选中:true=是,false=否,null=空(仅叶节点有意义,父节点遵循级联逻辑) */
|
||||
selected: boolean | null;
|
||||
/** 子节点 */
|
||||
children?: PermissionTreeNode[];
|
||||
}
|
||||
Reference in New Issue
Block a user