API 请求工具与封装
目录
简介
lmes-web-base 项目中的 API 请求工具层是一个高度封装的 axios 实例,提供了完整的 HTTP 请求解决方案。该工具层不仅负责基础的网络通信,还集成了权限验证、状态管理、错误处理、加载状态等多个高级功能,为整个应用提供了统一且强大的 API 访问能力。
核心特性包括:
- 自动化的 Authorization 头注入
- Content-Type 标准化处理
- 环境适配的 baseURL 配置
- 携带凭据(withCredentials)支持
- 请求拦截器集成权限校验与加载状态管理
- 响应拦截器统一处理各种错误场景
- 支持取消请求(CancelToken)
- 数据预处理与转换机制
- 国际化错误消息支持
项目架构概览
图表来源
核心请求工具分析
axios 实例配置
// baseURL 环境适配
let baseURL = ''
const params = new URLSearchParams(location.search)
baseURL = baseURL || params.get('baseURL') || ''
console.info('[baseURL]', baseURL)
// axios 实例创建
const service = axios.create({
baseURL,
headers: {},
})