创建时间: 2026-05-01最后更新: 2026-05-01

1. 概述

前面已经把 API 路由按域拆开,也把 web 子站里的请求按 api.ts 文件拆开了。但当前还有一个问题没有解决:web 子站这边,服务端组件和客户端组件的请求方式还没有统一

我们想要的方式是,封装一个方法:可以直接通过如下方式调用接口

index.tsx
1
import type { PingRequest, PingResponse } from '@repo/contracts'
2
import { http } from '@/http'
3
4
export function postPing(payload: PingRequest) {
5
return http.post<PingRequest, PingResponse>('/rpc/system/ping', payload)
6
}

如果不提前封装,请求代码很快就会出现两种分裂:

  • 服务端组件里自己拼 fetch(url, init)
  • 客户端组件里再写一套 baseURL、query、JSON body 和错误兜底

所以这篇文章要做的事情很明确:封装一个单入口的 http 模块,让 web/admin 子站里的服务端组件和客户端组件都走同一套请求方式。

订阅后可阅读剩余内容
AI 电子伴侣企业级项目实战
已发布145计划发布120目标已完成121%