zhangjf e36ac36af5 fix: 修复后端兼容性和前后端配置问题
后端修复:
- Spring Boot 降级到 3.1.12 以兼容 MyBatis-Plus 3.5.6
- 添加 RedisConfig 配置 RedisTemplate Bean
- 修复数据库连接字符编码 characterEncoding=UTF-8
- 添加健康检查接口 /api/v1/health 到认证白名单
- 实体字段同步数据库: WorkLog 添加 recordTime, LogTemplate 添加 templateContent/instruction
- 修复 logback 滚动策略配置
- 密码验证临时改为明文比对(测试用)

前端修复:
- API baseURL 统一修正为 /wlog/api/v1
- Vite 配置添加 base 路径 (/wladmin/, /wlmobile/)

脚本修复:
- stop.sh/status.sh 使用动态 APP_HOME 获取路径
2026-02-24 22:47:14 +08:00

74 lines
1.8 KiB
TypeScript

import axios from 'axios'
import type { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios'
import { showFailToast } from 'vant'
import { TOKEN_KEY } from '@/utils/constants'
// 创建 axios 实例
const service: AxiosInstance = axios.create({
baseURL: '/wlog/api/v1',
timeout: 15000
})
// 请求拦截器
service.interceptors.request.use(
(config) => {
const token = localStorage.getItem(TOKEN_KEY)
if (token) {
config.headers['Authorization'] = `Bearer ${token}`
}
return config
},
(error) => {
return Promise.reject(error)
}
)
// 响应拦截器
service.interceptors.response.use(
(response: AxiosResponse) => {
const res = response.data
// 业务成功
if (res.success) {
return res.data
}
// 业务失败
showFailToast(res.message || '请求失败')
return Promise.reject(new Error(res.message || '请求失败'))
},
(error) => {
// 401 未登录或 Token 过期
if (error.response?.status === 401) {
localStorage.removeItem(TOKEN_KEY)
localStorage.removeItem('worklog_user_info')
window.location.href = '/login'
return Promise.reject(error)
}
showFailToast(error.response?.data?.message || '网络错误')
return Promise.reject(error)
}
)
// 封装请求方法
export const request = {
get<T>(url: string, config?: AxiosRequestConfig): Promise<T> {
return service.get(url, config)
},
post<T>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T> {
return service.post(url, data, config)
},
put<T>(url: string, data?: any, config?: AxiosRequestConfig): Promise<T> {
return service.put(url, data, config)
},
delete<T>(url: string, config?: AxiosRequestConfig): Promise<T> {
return service.delete(url, config)
}
}
export default service