# 07. API 层(请求封装与域拆分) - 示例:`src/api/router.ts` 调用 `request({ url: '/router/getList', method: 'get' })` - 请求封装:`src/utils/request.ts`(axios 拦截器、token 注入、401/402/403 处理、错误提示) - 刷新令牌:`src/api/refreshToken.ts`(402 时重试队列) - 请求异常入库:通过 `@vab/plugins/errorLog`(见 `library/plugins/errorLog.ts`) ## AI 复用原则 - 以“域”为单位抽取:`src/api/.ts` - 抽取前先定位 `request` 封装(通常在 `src/utils/request` 或相近位置) - 若新项目变更 baseURL/token/error 规范,优先在规格里声明差异,然后再做迁移适配 ## 验收点 - 基础请求能发起 - 错误处理与鉴权逻辑符合项目约束