zhangjf 797feff8c2 feat: fund-gateway增加/fund context path
修改内容:
1. fund-gateway/application.yml:
   - 所有路由Path添加/fund前缀
   - StripPrefix从1改为2(剥离/fund和模块名两级)
   - 例:/fund/sys/... -> 转发到 /api/v1/sys/...

2. 前端API配置:
   - fund-admin/src/api/request.ts: baseURL改为'/fund'
   - fund-mobile/src/api/request.ts: baseURL改为'/fund'

3. Nginx部署脚本:
   - 添加/fund/路径代理配置
   - 保留/api/代理兼容旧版

API调用示例:
- 旧版:/sys/auth/login
- 新版:/fund/sys/auth/login

网关路由:
- /fund/sys/** -> lb://fund-sys/api/v1/sys/**
- /fund/cust/** -> lb://fund-cust/api/v1/cust/**
- ...
2026-02-22 22:24:20 +08:00

58 lines
1.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import axios from 'axios'
const request = axios.create({
baseURL: '/fund',
timeout: 15000,
headers: {
'Content-Type': 'application/json'
}
})
// 请求拦截器
request.interceptors.request.use(
(config) => {
const token = localStorage.getItem('token')
if (token) {
config.headers['Authorization'] = `Bearer ${token}`
}
// 添加租户ID从URL路径的tid参数获取存储在localStorage中
const tid = localStorage.getItem('tid') || '1'
config.headers['X-Tenant-Id'] = tid
return config
},
(error) => {
return Promise.reject(error)
}
)
// 响应拦截器
request.interceptors.response.use(
(response) => {
const res = response.data
if (res.code && res.code !== 200) {
return Promise.reject(new Error(res.message || '请求失败'))
}
return res
},
(error) => {
// 提取更详细的错误信息
let message = '网络错误'
if (error.response) {
const status = error.response.status
const data = error.response.data
if (data && data.message) {
message = data.message
} else if (data && data.error) {
message = `${status}: ${data.error}`
} else {
message = `请求失败 (${status})`
}
} else if (error.message) {
message = error.message
}
return Promise.reject(new Error(message))
}
)
export default request