Skip to content

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 方法,不直接拼接接口路径。