Files
UHD_Media_Tool/apps/web/README.md
T

23 lines
1.4 KiB
Markdown

# @umt/web
TanStack Router SPA 控制台,沿用 uhd_web 设计系统(token 见 `app/app.css`,规范见 `docs/design/`)。只通过 `/api/v1` 与 server 通信,请求/响应类型一律来自 `@umt/contracts`,不手写重复 DTO。开发端口 5180,`/api` 默认代理到 http://localhost:4390,可用 `VITE_API_TARGET` 覆盖。
## 命令
在仓库根目录执行:
- `bun run dev:web`:开发服务器(5180)。
- `cd apps/web && bun run build`:TanStack Router SPA 生产构建到 `build/client`,由 server 的 `WEB_ROOT` 同端口托管。
- `cd apps/web && bun run test`:单测(`app/**/*.test.ts`)。
- `bun run test:web:smoke`:Playwright 全页面冒烟,前提与环境变量见仓库 README。
- `bun run check:tokens`:设计 token 守卫。
## 目录
- `app/routes/`:页面(`app/router.tsx` 登记全部路由);`app/routes/console/` 为控制台。
- `index.html` 与 `app/entry.client.tsx`:Vite 浏览器入口;`app/root.tsx` 提供主题、查询缓存与页面标题。
- `app/lib/router-compat.tsx`:现有链接与导航 hook 的兼容入口,查询参数保持字符串和重复值,旧页面的 `clientLoader` 重定向由 `app/router.tsx` 执行。
- `app/api/`:按资源分的 react-query hook,路径与 schema 取 `@umt/contracts` 的 `Api` 注册表。
- `app/components/`:业务组件与 `ui/` 基础组件。
- Agent 页的 `?mock=1` 演示模式只在开发构建或后端 `pi.provider = "fake"` 时生效,生产构建连真实模型时忽略。