问题:前端API包含/api/v1导致路径重复
- 前端: /fund/sys/api/v1/auth/login
- 网关StripPrefix=2后: /api/v1/auth/login
- PrefixPath=/api/v1后: /api/v1/api/v1/auth/login ❌
修复:移除前端API中的/api/v1前缀
fund-admin修改:
- auth.ts: /sys/auth/login
- user.ts: /sys/sys/user/page
- tenant.ts: /sys/sys/tenant/page
- customer.ts: /cust/cust/customer/page
- project.ts: /proj/proj/project/page
- expense.ts: /exp/exp/expense/page
- receivable.ts: /receipt/receipt/receivable/page
- report.ts: /report/report/dashboard/stats
- file.ts: /file/file/upload
- menu.ts: /sys/sys/menu/tree
- role.ts: /sys/sys/role/page
- dept.ts: /sys/sys/dept/list
- config.ts: /sys/sys/config/page
- FileUpload组件: /fund/file/file/upload
fund-mobile修改:
- index.ts: 统一移除/api/v1,添加模块名重复
路由流程示例:
- 前端请求: /fund/sys/auth/login
- StripPrefix=2: /auth/login
- PrefixPath=/api/v1: /api/v1/auth/login ✓
66 lines
1.4 KiB
TypeScript
66 lines
1.4 KiB
TypeScript
import { request } from './request'
|
|
|
|
export interface Tenant {
|
|
id: number
|
|
tenantCode: string
|
|
tenantName: string
|
|
contact: string
|
|
phone: string
|
|
email: string
|
|
address: string
|
|
status: number
|
|
statusName: string
|
|
expireTime: string
|
|
maxUsers: number
|
|
remark: string
|
|
createdTime: string
|
|
}
|
|
|
|
export interface TenantDTO {
|
|
id?: number
|
|
tenantCode: string
|
|
tenantName: string
|
|
contact?: string
|
|
phone?: string
|
|
email?: string
|
|
address?: string
|
|
status?: number
|
|
expireTime?: string
|
|
maxUsers?: number
|
|
remark?: string
|
|
}
|
|
|
|
// 分页查询租户
|
|
export function pageTenants(pageNum: number, pageSize: number, keyword?: string) {
|
|
return request.get<{ records: Tenant[], total: number }>(`/sys/sys/tenant/page`, {
|
|
params: { pageNum, pageSize, keyword }
|
|
})
|
|
}
|
|
|
|
// 获取租户详情
|
|
export function getTenantById(id: number) {
|
|
return request.get<Tenant>(`/sys/sys/tenant/${id}`)
|
|
}
|
|
|
|
// 创建租户
|
|
export function createTenant(data: TenantDTO) {
|
|
return request.post<number>('/sys/sys/tenant', data)
|
|
}
|
|
|
|
// 更新租户
|
|
export function updateTenant(data: TenantDTO) {
|
|
return request.put<boolean>('/sys/sys/tenant', data)
|
|
}
|
|
|
|
// 删除租户
|
|
export function deleteTenant(id: number) {
|
|
return request.delete<boolean>(`/sys/sys/tenant/${id}`)
|
|
}
|
|
|
|
// 更新租户状态
|
|
export function updateTenantStatus(id: number, status: number) {
|
|
return request.put<boolean>(`/sys/sys/tenant/${id}/status`, null, {
|
|
params: { status }
|
|
})
|
|
}
|