zhangjf 8490b7a2c6 fix: 全面修复网关路由与前端API路径一致性问题
问题分析:
1. 后端Controller路径不一致:
   - fund-cust: /api/v1/customer (不是/api/v1/cust/customer)
   - fund-proj: /api/v1/project (不是/api/v1/proj/project)
   - fund-sys: /api/v1/auth 和 /api/v1/sys/* 两种路径

2. 之前的错误修改导致路径不匹配

解决方案:
- 网关: StripPrefix=1 + PrefixPath=/api/v1
- 前端: baseURL=/fund,路径直接对应后端路径

网关路由配置:
- fund-sys: /fund/auth/**,/fund/sys/** -> /api/v1/auth/*,/api/v1/sys/*
- fund-cust: /fund/customer/** -> /api/v1/customer/*
- fund-proj: /fund/project/**,/fund/requirement/** -> /api/v1/project/*,/api/v1/requirement/*
- fund-exp: /fund/exp/** -> /api/v1/exp/*
- fund-receipt: /fund/receipt/** -> /api/v1/receipt/*
- fund-report: /fund/report/** -> /api/v1/report/*
- fund-file: /fund/file/** -> /api/v1/file/*

前端API路径规范:
- 认证: /auth/login -> /api/v1/auth/login
- 用户: /sys/user/page -> /api/v1/sys/user/page
- 客户: /customer/page -> /api/v1/customer/page
- 项目: /project/page -> /api/v1/project/page
- 支出: /exp/expense/page -> /api/v1/exp/expense/page
- 收款: /receipt/receivable/page -> /api/v1/receipt/receivable/page
- 报表: /report/stats -> /api/v1/report/stats
- 文件: /file/upload -> /api/v1/file/upload

修改文件:
- fund-gateway/application.yml: 路由配置调整
- TenantGatewayFilter.java: 白名单路径修正
- TokenAuthFilter.java: 白名单路径修正
- fund-admin/src/api/*.ts: 所有API路径修正
- fund-mobile/src/api/index.ts: 所有API路径修正
- FileUpload组件: 上传路径修正
2026-02-22 23:06:54 +08:00

30 lines
736 B
TypeScript

import { request } from './request'
export function getRoleList(params: { pageNum: number; pageSize: number; roleName?: string }) {
return request.get('/sys/role/page', { params })
}
export function getRoleById(id: number) {
return request.get(`/sys/role/${id}`)
}
export function createRole(data: any) {
return request.post('/sys/role', data)
}
export function updateRole(data: any) {
return request.put('/sys/role', data)
}
export function deleteRole(id: number) {
return request.delete(`/sys/role/${id}`)
}
export function getRoleMenus(id: number) {
return request.get(`/sys/role/${id}/menus`)
}
export function assignMenus(id: number, menuIds: number[]) {
return request.put(`/sys/role/${id}/menus`, menuIds)
}