feat: stabilize document type and upload flows
This commit is contained in:
@@ -516,7 +516,8 @@ export async function getRoleRoutesWithPermissions(roleId: number): Promise<{
|
||||
*/
|
||||
export async function saveRoleApiPermissions(
|
||||
roleId: number,
|
||||
permissionIds: number[]
|
||||
permissionIds: number[],
|
||||
scopePermissionIds: number[] = []
|
||||
): Promise<{ success: boolean; message: string }> {
|
||||
try {
|
||||
// 构建权限配置
|
||||
@@ -530,7 +531,8 @@ export async function saveRoleApiPermissions(
|
||||
const response = await post<any>('/api/v3/rbac/role-permissions', {
|
||||
role_id: roleId,
|
||||
permissions,
|
||||
replace: true // 替换模式:先删除现有权限,再插入新权限
|
||||
replace: true, // 替换模式:仅替换当前页面涉及的权限范围
|
||||
replace_scope_permission_ids: scopePermissionIds
|
||||
});
|
||||
|
||||
if (response.error) {
|
||||
@@ -555,6 +557,52 @@ export async function saveRoleApiPermissions(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 原子保存角色的菜单权限与 API 权限
|
||||
* @param roleId 角色ID
|
||||
* @param routeIds 路由ID数组
|
||||
* @param permissionIds 权限ID数组
|
||||
* @param scopePermissionIds 本页允许被替换清理的权限范围
|
||||
*/
|
||||
export async function saveRoleAccess(
|
||||
roleId: number,
|
||||
routeIds: number[],
|
||||
permissionIds: number[],
|
||||
scopePermissionIds: number[] = []
|
||||
): Promise<{ success: boolean; message: string; code?: number }> {
|
||||
try {
|
||||
const response = await post<any>(`/api/v3/rbac/roles/${roleId}/access`, {
|
||||
route_ids: routeIds,
|
||||
permission_ids: permissionIds,
|
||||
route_permission: 'RW',
|
||||
replace_scope_permission_ids: scopePermissionIds
|
||||
});
|
||||
|
||||
if (response.error) {
|
||||
throw new Error(response.error);
|
||||
}
|
||||
|
||||
if (response.data?.code && response.data.code !== 200) {
|
||||
return {
|
||||
success: false,
|
||||
message: response.data.message || '角色权限保存失败',
|
||||
code: response.data.code
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: response.data?.message || '角色权限保存成功'
|
||||
};
|
||||
} catch (error) {
|
||||
console.error('❌ [saveRoleAccess] 保存角色联合权限失败:', error);
|
||||
return {
|
||||
success: false,
|
||||
message: error instanceof Error ? error.message : '角色权限保存失败'
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新角色的路由权限 - v3.2更新
|
||||
* @param roleId 角色ID
|
||||
|
||||
Reference in New Issue
Block a user