From 790b9566e11c6a5d1e6cf9bf085c1a99bf9c2e5f Mon Sep 17 00:00:00 2001 From: wren <“porlong@qq.com”> Date: Wed, 29 Apr 2026 18:39:45 +0800 Subject: [PATCH] feat: restore settings routes for admin modules --- app/api/role-permissions/role-permissions.ts | 8 ++++---- app/config/minimal-scope.ts | 5 ++++- app/routes/role-permissions._index.tsx | 15 +++++++-------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/app/api/role-permissions/role-permissions.ts b/app/api/role-permissions/role-permissions.ts index 8c79ff1..3bc306c 100644 --- a/app/api/role-permissions/role-permissions.ts +++ b/app/api/role-permissions/role-permissions.ts @@ -271,7 +271,7 @@ export async function getRoleDetail(roleId: number): Promise { export async function getRoutes(): Promise { try { // 调用后端API获取当前用户的路由(provincial_admin应该有所有路由权限) - const response = await get('/rbac/user/routes'); + const response = await get('/api/rbac/user/routes'); if (response.error) { console.error('❌ [getRoutes] API调用失败:', response.error); @@ -375,7 +375,7 @@ export async function getAllRoutes( export async function getRoleRoutePermissions(roleId: number): Promise { try { // 使用 axios-client 的 get 函数调用真实后端API - const response = await get(`/rbac/roles/${roleId}/routes`); + const response = await get(`/api/rbac/roles/${roleId}/routes`); if (response.error) { throw new Error(response.error); @@ -417,7 +417,7 @@ export async function getRoleRoutesWithPermissions(roleId: number): Promise<{ selectedPermissionIds: number[]; }> { try { - const response = await get(`/rbac/roles/${roleId}/routes`); + const response = await get(`/api/rbac/roles/${roleId}/routes`); if (response.error) { throw new Error(response.error); @@ -566,7 +566,7 @@ export async function updateRoleRoutePermissions( ): Promise<{ success: boolean; message: string; code?: number }> { try { // 使用 axios-client 的 put 函数调用真实后端API - const response = await put(`/rbac/roles/${roleId}/routes`, { + const response = await put(`/api/rbac/roles/${roleId}/routes`, { route_ids: routeIds, permission: 'RW' }); diff --git a/app/config/minimal-scope.ts b/app/config/minimal-scope.ts index dd10f3a..c8cd81d 100644 --- a/app/config/minimal-scope.ts +++ b/app/config/minimal-scope.ts @@ -2,7 +2,10 @@ export const MINIMAL_MENU_PREFIXES = [ '/home', '/chat-with-llm', '/files', - '/documents' + '/documents', + '/settings', + '/entry-modules', + '/role-permissions' ] as const; export const MINIMAL_HOME_TARGETS = [ diff --git a/app/routes/role-permissions._index.tsx b/app/routes/role-permissions._index.tsx index fac08cd..a2a44fb 100644 --- a/app/routes/role-permissions._index.tsx +++ b/app/routes/role-permissions._index.tsx @@ -6,14 +6,13 @@ import { Modal } from "~/components/ui/Modal"; import { toastService } from "~/components/ui/Toast"; import { getRoles, - getRoutes, + getAllRoutes, getRoleRoutePermissions, updateRoleRoutePermissions, getRoleRoutesWithPermissions, saveRoleApiPermissions, getRolePermissions, getRoleUsers, - getAllUsers, getUsersWithRoles, assignUserRoles, createRole, @@ -75,14 +74,14 @@ export async function clientLoader({ request }: ClientLoaderFunctionArgs) { try { const [roles, routes, users] = await Promise.all([ getRoles(), - getRoutes(), - getAllUsers() + getAllRoutes(), + getUsersWithRoles() ]); return { roles, routes, - users + users: users.items || [] }; } catch (error) { console.error("加载数据失败:", error); @@ -1047,15 +1046,15 @@ export default function RolePermissions() { const [rolesData, routesData, usersData] = await Promise.all([ getRoles(), - getRoutes(), - getAllUsers() + getAllRoutes(), + getUsersWithRoles() ]); // v3.3: 角色列表对所有人可见(不过滤) const filteredRoles = rolesData; // v3.3: 根据用户地区过滤可见的用户列表 - const filteredUsers = usersData; + const filteredUsers = usersData.items || []; // let filteredUsers = usersData; // if (isCityAdmin && currentUserArea) { // // 市级管理员只能看到同地区的用户(使用 area 字段)