main
role-user
员工端 C 端工作台,基于 access-manage 后端和 role-admin 管理后台建设。
当前已搭建 React + Next.js App Router + TypeScript 前端骨架,采用移动优先、PWA 友好的工作台形态。
启动
pnpm install
cp .env.example .env.local
pnpm dev
默认访问:
- 登录页:http://localhost:3210/login
- 工作台:http://localhost:3210/dashboard
- 任务:http://localhost:3210/tasks
- 排班:http://localhost:3210/schedule
- 公告:http://localhost:3210/announcements
- 门店:http://localhost:3210/store
- 我的:http://localhost:3210/me
环境变量
ACCESS_MANAGE_API_BASE_URL=http://localhost:3500/api
ROLE_USER_SESSION_COOKIE=role_user_session
ACCESS_MANAGE_API_BASE_URL 指向 access-manage 服务端 API 根路径。员工登录会调用后端 POST /api/auth/employee/login,登录成功后只把 JWT 写入 Next.js 服务端 HttpOnly Cookie,不写入 localStorage。
可用命令
pnpm dev
pnpm typecheck
pnpm lint
pnpm build
当前实现范围
- Next.js App Router 项目结构、TypeScript、ESLint、
@/*路径别名和基础样式。 - BFF Route Handlers:
POST /api/auth/loginPOST|GET /api/auth/logoutGET /api/auth/mePATCH /api/auth/me/passwordGET /api/permissions/meGET /api/mobile/tasksGET /api/mobile/tasks/:idPOST /api/mobile/tasks/:id/startPOST /api/mobile/tasks/:id/completePOST /api/mobile/tasks/:id/commentGET /api/mobile/announcementsGET /api/mobile/announcements/:idPOST /api/mobile/announcements/:id/readGET /api/mobile/shiftsGET /api/mobile/shifts/todayGET /api/mobile/storeGET /api/mobile/store/employees
- 页面:
/login/dashboard/tasks/tasks/:id/schedule/announcements/announcements/:id/store/me
- 首页已消费正式
mobile/bootstrap的latestAnnouncements、tasks、overdueTaskCount、todayShift/todayShifts。 /announcements支持全部、未读、已读筛选;公告详情进入后通过 BFF 标记已读。/tasks支持全部、待处理、处理中、已完成筛选;任务详情支持开始、完成和追加备注。/schedule支持今日、未来、全部排班筛选。/me已接入本人修改密码表单,前端不持久化密码或 token。/dashboard、/tasks、/announcements、/schedule会在后端临时不可用或 5xx 时保持基础资料和业务空态。/store会尝试读取当前门店详情和本店员工列表;后端权限或接口不可用时保持门店基础信息和空态。- 移动端底部导航、加载态、空态、会话缺失跳登录、401 清理 Cookie 的服务端路径。
- PWA manifest、应用图标、基础 service worker、安全响应头和参照 SeaCloud 的移动端工作台视觉系统。
文档
docs/C_EMPLOYEE_APP_REQUIREMENTS.md: C 端员工工作台需求文档。docs/FULLSTACK_BACKEND_GAP_ANALYSIS.md: C 端员工工作台三端缺口与改动范围分析。RTK.md: 本项目 Codex/Agent 协作规则。
关联项目
/Users/mac033/Desktop/my-project/access-manage: 服务端 API。/Users/mac033/Desktop/my-project/role-admin: 管理后台。
安全边界
- 不展示任何明文密码。
- 不把密码、JWT 或权限 token 持久化到前端存储。
- 员工端修改密码已通过 BFF 接入后端
PATCH /api/auth/me/password。 - 公告、任务、排班已按正式后端接口接入列表、筛选、详情和员工端操作;后端临时不可用时页面保留业务空态。
Description
Languages
TypeScript
78.9%
CSS
20.5%
JavaScript
0.6%