# hyb-oa Client Runbook (P1-5) ## 1. 前置条件 - Node.js >= 20 - 后端服务可用(`http://127.0.0.1:3000`) ## 2. 安装与启动 ```bash cd /home/shunli/Projects/hyb-oa/client npm install npm run dev ``` 默认前端地址:`http://127.0.0.1:5173` ## 3. 本地联调建议顺序 ```bash 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. 菜单与权限(当前壳层) - 仪表盘:登录即可访问。 - 我的报销:`expense.view_own` 或 `expense.view_all`。 - 待我处理:`expense.approve`。 - 票据中心:`invoice.upload` / `invoice.view_own` / `invoice.manage`。 - 审计工作台:`system.audit.view`(finance_mgr/admin)。 - 个人设置:登录即可访问。 ## 6. 风格资源复用策略(锁定) - 视觉 Token 来源:`/home/shunli/Projects/hyb-web`。 - 采用“复制到 client + 单向同步”,不做跨仓软链与自动联动。 - 如需同步风格,请记录来源 commit 并通过评审。 ## 7. 可用脚本 ```bash npm run dev npm run typecheck npm run build npm run preview ```