API 快速开始
认证流程
系统使用 JWT(JSON Web Token)进行身份认证,流程如下:
Token 说明
| Token | 有效期 | 存储位置 | 用途 |
|---|---|---|---|
| accessToken | 2 小时 | 内存 | 访问 API 资源 |
| refreshToken | 7 天 | localStorage | 刷新 accessToken |
请求头规范
所有需要认证的接口必须携带以下请求头:
http
Authorization: Bearer {accessToken}
Content-Type: application/jsonToken 刷新机制
当 accessToken 过期时,前端会自动使用 refreshToken 刷新:
typescript
// src/utils/request.ts
axiosInstance.interceptors.response.use(
response => response,
async error => {
if (error.response?.status === 401) {
const refreshToken = localStorage.getItem('refreshToken')
if (refreshToken) {
const res = await axios.post('/api/v1/auth/refresh-token', null, {
params: { refreshToken }
})
const newToken = res.data.data.accessToken
// 更新 Token 并重试原请求
localStorage.setItem('accessToken', newToken)
error.config.headers.Authorization = `Bearer ${newToken}`
return axios.request(error.config)
}
}
return Promise.reject(error)
}
)统一响应格式
所有接口遵循统一响应格式:
typescript
interface ApiResponse<T> {
code: string // 状态码(见错误码表)
msg: string // 提示信息
data: T // 业务数据
}