--- id: api-client name: API 客户端层 area: frontend status: concept --- ## 概述 封装后端 API 调用,包含统一鉴权、错误处理和接口类型定义。以 packages/api 形式跨 app 共享,或在各 app 内独立维护。 ## 任务卡 ### 💭 HTTP 客户端实例配置 - status: concept - complexity: M - files: packages/utils/src/request.ts, apps/app-one/src/api/client.ts - acceptance: 配置 baseURL、超时时间,请求拦截器自动附加 Authorization header,响应拦截器统一处理 401/403/500 错误码 ### 💭 API 接口类型化封装 - status: concept - complexity: M - files: apps/app-one/src/api/types.ts, apps/app-one/src/api/auth.ts - acceptance: 每个 API 模块导出类型安全的请求函数(入参和返回值均有 TS 类型),不使用 any ### 💭 数据请求缓存与 SWR 集成 - status: concept - complexity: M - files: apps/app-one/src/api/hooks/useAuthQuery.ts - acceptance: 基于 SWR 或 React Query 封装常用接口 hook,支持缓存、重试、乐观更新,避免重复请求