文件
hyb-oa/client/README.md
T
wangsli c290e03fef feat(client): 初始化前端壳与鉴权守卫(P1-5)
- 技术栈:React 18 + TypeScript + Vite + Tailwind

- API 层:ApiError + 401 自动刷新 + single-flight 重试

- 鉴权:内存 Access Token + Cookie Refresh + 启动 bootstrap

- RBAC:权限映射 + RequireAuth/RequirePermission 路由守卫

- 布局:OA 工作台壳层 + 侧边栏 + 5 个占位页面

- 样式:复用 hyb-web 视觉 token(单向同步)

- 文档:新增 client README,补充 server 联调说明
2026-02-07 16:43:57 +08:00

1.1 KiB
原始文件 Blame 文件历史

hyb-oa Client Runbook (P1-5)

1. 前置条件

  • Node.js >= 20
  • 后端服务可用(http://127.0.0.1:3000)

2. 安装与启动

cd /home/shunli/Projects/hyb-oa/client
npm install
npm run dev

默认前端地址:http://127.0.0.1:5173

3. 本地联调建议顺序

cd /home/shunli/Projects/hyb-oa

docker compose up -d db

cd /home/shunli/Projects/hyb-oa/server
npm run prisma:migrate:deploy
npm run seed:dev
npm run dev

cd /home/shunli/Projects/hyb-oa/client
npm run dev

4. 鉴权与会话说明

  • Access Token 仅保存在内存,不写入 localStorage/sessionStorage。
  • Refresh Token 由后端通过 HttpOnly Cookie 维护。
  • 前端在 401 时自动调用 /api/auth/refresh 并重试一次请求。
  • 登录与刷新请求都会附带 x-device-fingerprint。

5. 风格资源复用策略(锁定)

  • 视觉 Token 来源:/home/shunli/Projects/hyb-web。
  • 采用“复制到 client + 单向同步”,不做跨仓软链与自动联动。
  • 如需同步风格,请记录来源 commit 并通过评审。

6. 可用脚本

npm run dev
npm run typecheck
npm run build
npm run preview