- uv(workspace) + pnpm monorepo;docker-compose(pg+api+web) - SQLAlchemy 16 MVP 表 + Alembic 初版迁移(无漂移,users stub) - FastAPI 骨架:统一错误信封(带 request_id) + structlog + /jobs/:id + OpenAPI - Next.js 骨架:纸感主题 token + OpenAPI→TS 客户端代码生成(gen:api) - CI(ruff/mypy/pytest + pg service + alembic 漂移校验) - 四份设计规格(PRODUCT/UX/ARCHITECTURE/DEV_PLAN) + CLAUDE.md
9 lines
383 B
TypeScript
9 lines
383 B
TypeScript
import createClient from "openapi-fetch";
|
||
|
||
import type { paths } from "./schema";
|
||
import { API_BASE_PUBLIC } from "./config";
|
||
|
||
// 类型安全的后端客户端(schema.d.ts 由 `pnpm gen:api` 从后端 OpenAPI 生成)。
|
||
// 浏览器侧使用 NEXT_PUBLIC_API_BASE;服务端读取请走 lib/api/server.ts。
|
||
export const api = createClient<paths>({ baseUrl: API_BASE_PUBLIC });
|