05 API 与请求层
5.1 请求模块
请求层位于 src/api/request/,由请求实例、请求方法和拦截器组成。业务页面不应直接创建 Axios 实例。
统一处理内容包括 baseURL、超时、Token、租户或公司信息、HTTP 方法、文件上传下载、响应转换、业务错误和登录失效。
5.2 请求生命周期
text
页面/API 模块 → request(method, url, data, config)
→ 请求拦截器注入认证和公共参数
→ Axios
→ 响应拦截器解析成功、业务错误和登录失效
→ 页面处理结果页面只传递业务参数,公共 Header 和认证参数应集中处理。
5.3 错误处理
区分网络错误、HTTP 错误、登录失效和业务失败。登录失效时清理用户状态并跳转登录;业务错误保留后端信息并交给调用方处理。拦截器不要吞掉异常,调用方应能通过 catch 完成后续处理。
5.4 文件上传
上传接口使用 FormData,按接口要求设置 Content-Type,并处理文件类型/大小、上传中、成功 URL 或 ID、失败重试等状态。
5.5 新增接口
在 src/api/ 对应业务模块新增方法,复用统一请求实例,明确请求方法、URL、参数位置和响应结构。页面只调用业务 API 方法,不直接拼接接口路径。
