feat: restore settings routes for admin modules
This commit is contained in:
@@ -271,7 +271,7 @@ export async function getRoleDetail(roleId: number): Promise<RoleInfo | null> {
|
||||
export async function getRoutes(): Promise<RouteInfo[]> {
|
||||
try {
|
||||
// 调用后端API获取当前用户的路由(provincial_admin应该有所有路由权限)
|
||||
const response = await get<any>('/rbac/user/routes');
|
||||
const response = await get<any>('/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<RoleRoutePermission[]> {
|
||||
try {
|
||||
// 使用 axios-client 的 get 函数调用真实后端API
|
||||
const response = await get<any>(`/rbac/roles/${roleId}/routes`);
|
||||
const response = await get<any>(`/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<any>(`/rbac/roles/${roleId}/routes`);
|
||||
const response = await get<any>(`/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<any>(`/rbac/roles/${roleId}/routes`, {
|
||||
const response = await put<any>(`/api/rbac/roles/${roleId}/routes`, {
|
||||
route_ids: routeIds,
|
||||
permission: 'RW'
|
||||
});
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 字段)
|
||||
|
||||
Reference in New Issue
Block a user