fix: 1. 全局axios添加formData文件上传的检测,删除Content-Type让axios自动检测。
2. 完善入口模块管理的接口的对接。 3. 完善角色权限管理的接口对接和测试。 4. 完善主页的入口模块的图标的显示和图片的显示。
This commit is contained in:
@@ -450,7 +450,9 @@ export async function saveRoleApiPermissions(
|
||||
data_scope: 'ALL'
|
||||
}));
|
||||
|
||||
const response = await post<any>(`/api/v3/rbac/roles/${roleId}/permissions`, {
|
||||
// v3.4: 使用文档规范的API路径(查询参数方式)
|
||||
const response = await post<any>('/api/v3/rbac/role-permissions', {
|
||||
role_id: roleId,
|
||||
permissions,
|
||||
replace: true // 替换模式:先删除现有权限,再插入新权限
|
||||
});
|
||||
@@ -621,8 +623,10 @@ export async function getAllUsers(params?: {
|
||||
if (params?.page_size) queryParams.page_size = params.page_size;
|
||||
if (params?.username) queryParams.search = params.username;
|
||||
|
||||
// 使用 axios-client 的 get 函数,会自动添加 baseURL 和 Authorization
|
||||
const response = await get<any>('/admin/users/users', queryParams);
|
||||
// v3.3: 使用标准 RBAC API,后端会自动根据用户角色进行地区过滤
|
||||
// 省级管理员: 返回所有地区用户
|
||||
// 市级管理员: 只返回同地区用户
|
||||
const response = await get<any>('/api/v2/users', queryParams);
|
||||
|
||||
if (response.error) {
|
||||
throw new Error(response.error);
|
||||
@@ -643,6 +647,8 @@ export async function getAllUsers(params?: {
|
||||
}
|
||||
}
|
||||
|
||||
console.log('获取的用户列表', users )
|
||||
|
||||
|
||||
const userList = users.map(user => ({
|
||||
id: user.user_id || user.id, // 优先使用 user_id,兼容不同的后端响应格式
|
||||
@@ -685,6 +691,15 @@ export async function assignUserRoles(
|
||||
throw new Error(response.error);
|
||||
}
|
||||
|
||||
// v3.4: 检查后端返回的code(200表示成功)
|
||||
if (response.data && response.data.code && response.data.code !== 200) {
|
||||
// 后端返回错误,如权限不足(403)等
|
||||
return {
|
||||
success: false,
|
||||
message: response.data.message || '分配失败'
|
||||
};
|
||||
}
|
||||
|
||||
// 后端响应格式: { code: 200, message: "角色分配成功", data: { user_id, roles: [...] } }
|
||||
let message = '用户角色分配成功';
|
||||
if (response.data && response.data.message) {
|
||||
@@ -995,7 +1010,10 @@ export async function getRolePermissions(roleId: number): Promise<RolePermission
|
||||
try {
|
||||
const { get } = await import('~/api/axios-client');
|
||||
|
||||
const response = await get<any>(`/api/v3/rbac/roles/${roleId}/permissions`);
|
||||
// v3.4: 使用文档规范的API路径(查询参数方式)
|
||||
const response = await get<any>('/api/v3/rbac/role-permissions', {
|
||||
role_id: roleId
|
||||
});
|
||||
|
||||
if (response.error) {
|
||||
throw new Error(response.error);
|
||||
@@ -1039,7 +1057,9 @@ export async function assignPermissionsToRole(
|
||||
replace = false
|
||||
): Promise<{ success: boolean; message: string }> {
|
||||
try {
|
||||
const response = await post<any>(`${RBAC_API_BASE}/roles/${roleId}/permissions`, {
|
||||
// v3.4: 使用文档规范的API路径(查询参数方式)
|
||||
const response = await post<any>(`${RBAC_API_BASE}/role-permissions`, {
|
||||
role_id: roleId,
|
||||
permissions: permissions.map(p => ({
|
||||
permission_id: p.permission_id,
|
||||
grant_type: p.grant_type || 'GRANT',
|
||||
@@ -1072,8 +1092,9 @@ export async function updateRolePermission(
|
||||
config: Partial<RolePermissionConfig>
|
||||
): Promise<{ success: boolean; message: string }> {
|
||||
try {
|
||||
// v3.4: 使用文档规范的API路径(查询参数方式)
|
||||
const response = await put<any>(
|
||||
`${RBAC_API_BASE}/roles/${roleId}/permissions/${permissionId}`,
|
||||
`${RBAC_API_BASE}/role-permissions?role_id=${roleId}&permission_id=${permissionId}`,
|
||||
config
|
||||
);
|
||||
handleApiResponse<any>(response);
|
||||
@@ -1098,7 +1119,8 @@ export async function revokeRolePermission(
|
||||
permissionId: number
|
||||
): Promise<{ success: boolean; message: string }> {
|
||||
try {
|
||||
const response = await del<any>(`${RBAC_API_BASE}/roles/${roleId}/permissions/${permissionId}`);
|
||||
// v3.4: 使用文档规范的API路径(查询参数方式)
|
||||
const response = await del<any>(`${RBAC_API_BASE}/role-permissions?role_id=${roleId}&permission_id=${permissionId}`);
|
||||
handleApiResponse<any>(response);
|
||||
|
||||
return { success: true, message: '权限移除成功' };
|
||||
|
||||
Reference in New Issue
Block a user