超管后台 - 编辑管理员

This commit is contained in:
柳清爽
2025-04-10 16:11:15 +08:00
parent c23d0433ef
commit e81a75b67e
12 changed files with 724 additions and 204 deletions

View File

@@ -84,4 +84,41 @@ export async function getAdministrators(
*/
export async function getAdministratorDetail(id: number | string): Promise<ApiResponse<AdministratorDetail>> {
return apiRequest(`/administrator/detail/${id}`);
}
/**
* 更新管理员信息
* @param id 管理员ID
* @param data 更新的数据
* @returns 更新结果
*/
export async function updateAdministrator(
id: number | string,
data: {
username: string;
name: string;
password?: string;
permissionIds?: number[];
}
): Promise<ApiResponse<null>> {
return apiRequest('/administrator/update', 'POST', {
id,
...data
});
}
/**
* 添加管理员
* @param data 管理员数据
* @returns 添加结果
*/
export async function addAdministrator(
data: {
username: string;
name: string;
password: string;
permissionIds?: number[];
}
): Promise<ApiResponse<null>> {
return apiRequest('/administrator/add', 'POST', data);
}

View File

@@ -25,6 +25,9 @@ export async function getMenus(onlyEnabled: boolean = true): Promise<MenuItem[]>
const params = new URLSearchParams();
params.append('only_enabled', onlyEnabled ? '1' : '0');
// 禁用缓存,每次都获取最新的基于用户权限的菜单
params.append('use_cache', '0');
const response = await apiRequest<MenuItem[]>(`/menu/tree?${params.toString()}`);
return response.data || [];
@@ -107,4 +110,21 @@ export async function updateMenuStatus(id: number, status: 0 | 1): Promise<boole
console.error('更新菜单状态失败:', error);
return false;
}
}
/**
* 获取一级菜单(用于权限设置)
* @returns 一级菜单列表
*/
export async function getTopLevelMenus(): Promise<ApiResponse<MenuItem[]>> {
try {
return await apiRequest<MenuItem[]>('/menu/toplevel');
} catch (error) {
console.error('获取一级菜单失败:', error);
return {
code: 500,
msg: '获取一级菜单失败',
data: []
};
}
}