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[]> {
|
export async function getRoutes(): Promise<RouteInfo[]> {
|
||||||
try {
|
try {
|
||||||
// 调用后端API获取当前用户的路由(provincial_admin应该有所有路由权限)
|
// 调用后端API获取当前用户的路由(provincial_admin应该有所有路由权限)
|
||||||
const response = await get<any>('/rbac/user/routes');
|
const response = await get<any>('/api/rbac/user/routes');
|
||||||
|
|
||||||
if (response.error) {
|
if (response.error) {
|
||||||
console.error('❌ [getRoutes] API调用失败:', response.error);
|
console.error('❌ [getRoutes] API调用失败:', response.error);
|
||||||
@@ -375,7 +375,7 @@ export async function getAllRoutes(
|
|||||||
export async function getRoleRoutePermissions(roleId: number): Promise<RoleRoutePermission[]> {
|
export async function getRoleRoutePermissions(roleId: number): Promise<RoleRoutePermission[]> {
|
||||||
try {
|
try {
|
||||||
// 使用 axios-client 的 get 函数调用真实后端API
|
// 使用 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) {
|
if (response.error) {
|
||||||
throw new Error(response.error);
|
throw new Error(response.error);
|
||||||
@@ -417,7 +417,7 @@ export async function getRoleRoutesWithPermissions(roleId: number): Promise<{
|
|||||||
selectedPermissionIds: number[];
|
selectedPermissionIds: number[];
|
||||||
}> {
|
}> {
|
||||||
try {
|
try {
|
||||||
const response = await get<any>(`/rbac/roles/${roleId}/routes`);
|
const response = await get<any>(`/api/rbac/roles/${roleId}/routes`);
|
||||||
|
|
||||||
if (response.error) {
|
if (response.error) {
|
||||||
throw new Error(response.error);
|
throw new Error(response.error);
|
||||||
@@ -566,7 +566,7 @@ export async function updateRoleRoutePermissions(
|
|||||||
): Promise<{ success: boolean; message: string; code?: number }> {
|
): Promise<{ success: boolean; message: string; code?: number }> {
|
||||||
try {
|
try {
|
||||||
// 使用 axios-client 的 put 函数调用真实后端API
|
// 使用 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,
|
route_ids: routeIds,
|
||||||
permission: 'RW'
|
permission: 'RW'
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -2,7 +2,10 @@ export const MINIMAL_MENU_PREFIXES = [
|
|||||||
'/home',
|
'/home',
|
||||||
'/chat-with-llm',
|
'/chat-with-llm',
|
||||||
'/files',
|
'/files',
|
||||||
'/documents'
|
'/documents',
|
||||||
|
'/settings',
|
||||||
|
'/entry-modules',
|
||||||
|
'/role-permissions'
|
||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
export const MINIMAL_HOME_TARGETS = [
|
export const MINIMAL_HOME_TARGETS = [
|
||||||
|
|||||||
@@ -6,14 +6,13 @@ import { Modal } from "~/components/ui/Modal";
|
|||||||
import { toastService } from "~/components/ui/Toast";
|
import { toastService } from "~/components/ui/Toast";
|
||||||
import {
|
import {
|
||||||
getRoles,
|
getRoles,
|
||||||
getRoutes,
|
getAllRoutes,
|
||||||
getRoleRoutePermissions,
|
getRoleRoutePermissions,
|
||||||
updateRoleRoutePermissions,
|
updateRoleRoutePermissions,
|
||||||
getRoleRoutesWithPermissions,
|
getRoleRoutesWithPermissions,
|
||||||
saveRoleApiPermissions,
|
saveRoleApiPermissions,
|
||||||
getRolePermissions,
|
getRolePermissions,
|
||||||
getRoleUsers,
|
getRoleUsers,
|
||||||
getAllUsers,
|
|
||||||
getUsersWithRoles,
|
getUsersWithRoles,
|
||||||
assignUserRoles,
|
assignUserRoles,
|
||||||
createRole,
|
createRole,
|
||||||
@@ -75,14 +74,14 @@ export async function clientLoader({ request }: ClientLoaderFunctionArgs) {
|
|||||||
try {
|
try {
|
||||||
const [roles, routes, users] = await Promise.all([
|
const [roles, routes, users] = await Promise.all([
|
||||||
getRoles(),
|
getRoles(),
|
||||||
getRoutes(),
|
getAllRoutes(),
|
||||||
getAllUsers()
|
getUsersWithRoles()
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
roles,
|
roles,
|
||||||
routes,
|
routes,
|
||||||
users
|
users: users.items || []
|
||||||
};
|
};
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("加载数据失败:", error);
|
console.error("加载数据失败:", error);
|
||||||
@@ -1047,15 +1046,15 @@ export default function RolePermissions() {
|
|||||||
|
|
||||||
const [rolesData, routesData, usersData] = await Promise.all([
|
const [rolesData, routesData, usersData] = await Promise.all([
|
||||||
getRoles(),
|
getRoles(),
|
||||||
getRoutes(),
|
getAllRoutes(),
|
||||||
getAllUsers()
|
getUsersWithRoles()
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// v3.3: 角色列表对所有人可见(不过滤)
|
// v3.3: 角色列表对所有人可见(不过滤)
|
||||||
const filteredRoles = rolesData;
|
const filteredRoles = rolesData;
|
||||||
|
|
||||||
// v3.3: 根据用户地区过滤可见的用户列表
|
// v3.3: 根据用户地区过滤可见的用户列表
|
||||||
const filteredUsers = usersData;
|
const filteredUsers = usersData.items || [];
|
||||||
// let filteredUsers = usersData;
|
// let filteredUsers = usersData;
|
||||||
// if (isCityAdmin && currentUserArea) {
|
// if (isCityAdmin && currentUserArea) {
|
||||||
// // 市级管理员只能看到同地区的用户(使用 area 字段)
|
// // 市级管理员只能看到同地区的用户(使用 area 字段)
|
||||||
|
|||||||
Reference in New Issue
Block a user