feat: add party-size queueing and call modes
This commit is contained in:
20
README.md
20
README.md
@@ -1,6 +1,6 @@
|
||||
# 景区排队叫号系统
|
||||
|
||||
这是一个面向景区多项目运营的轻量排队叫号系统。当前实现目标是首个可运行纵向切片:员工独立 H5 的取号和批量叫号,游客私密状态页,管理端的运营概览、项目设置与大屏中心,实体公示大屏,设备模拟器和审计基础。
|
||||
这是一个面向景区多项目运营的轻量排队叫号系统。一个排队号码可绑定多名同行游客;项目可配置按号码叫号、按人数叫号或同时支持两种方式。系统包含员工独立 H5、游客取号与私密状态页、管理端运营概览/项目设置/大屏中心、实体公示大屏、设备模拟器和审计基础。
|
||||
|
||||
产品与交互基线见:
|
||||
|
||||
@@ -43,9 +43,9 @@ make web
|
||||
|
||||
`make seed` 会注入一套可直接演示的基础数据:
|
||||
|
||||
- `DEMO` 云栖观光车:运行中,含已完成批次、当前叫号、已到场、过号、取消和等待队列。
|
||||
- `RAFT` 峡谷漂流:暂停中,含候场队列,用于验证暂停态。
|
||||
- `CABLE` 云顶索道:未开放,用于验证空队列和未开放态。
|
||||
- `DEMO` 云栖观光车:运行中,同时支持按号码与按人数叫号,包含 1–10 人/号的多人数测试数据。
|
||||
- `RAFT` 峡谷漂流:暂停中,仅按人数叫号,包含 1–6 人/号的候场队列。
|
||||
- `CABLE` 云顶索道:未开放,仅按号码叫号,用于验证空队列和未开放态。
|
||||
|
||||
命令会在终端输出公示屏与游客页的本地路径。它可重复执行:每次只重置上述演示项目,不会删除其他项目。本地演示员工账号和固定演示令牌禁止用于生产。
|
||||
|
||||
@@ -66,15 +66,15 @@ docker compose up -d postgres
|
||||
- `/staff/login`:员工 H5 独立登录,只接受员工账号。
|
||||
- `/admin/login`:管理端独立登录,只接受管理员账号。
|
||||
- 两端使用独立会话 Cookie,可在同一浏览器同时登录,不会互相覆盖。
|
||||
- `/staff`:员工 H5 叫号页,聚焦当前批次与叫下一批。
|
||||
- `/staff/tickets`:员工 H5 取号页与等待队列核对。
|
||||
- 员工端每次“叫下一批”会自动结束上一批,再按 FIFO 叫出固定数量的连续号码。
|
||||
- `/visitor`:游客运营测试手机号查询入口;查询成功后跳转到号码状态页;正式上线前需替换为验证码或外部身份接口。
|
||||
- `/staff`:员工 H5 叫号页;同时支持两种方式的项目会并列显示“按号码叫号”和“按人数叫号”操作栏,队列逐号显示绑定人数。
|
||||
- `/staff/tickets`:员工 H5 取号页;同行人数必填且创建后不可修改,取值范围由项目配置。
|
||||
- 按号码叫号取队首连续 N 个号码;按人数叫号取合计人数不超过目标值的最长连续队首,不拆号、不跳号。队首单号人数大于目标时拒绝操作。
|
||||
- `/visitor`:游客自助取号与手机号查询入口,通过页面顶部的“取号 / 查号” Tab 切换;手机号查询仍是运营测试入口,正式上线前需替换为验证码或外部身份接口。
|
||||
- `/visitor/phone`:手机号查询后的游客号码状态页,不再显示手机号输入框。
|
||||
- `/visitor/:token`:游客私密状态页。
|
||||
- `/display/:token`:单项目只读公示屏。
|
||||
- `/admin`:管理端运营概览。
|
||||
- `/admin/projects`:管理端项目规则与预计等待时间设置。
|
||||
- `/admin/projects`:配置项目支持的叫号方式、单号人数范围、两种方式各自的默认值与防误触单次上限,以及按单人间隔计算的预计等待时间。
|
||||
- `/admin/display`:管理端大屏中心,可全屏展示多项目的公开运行状态。
|
||||
|
||||
## 质量检查
|
||||
@@ -87,7 +87,7 @@ make build
|
||||
make smoke-real
|
||||
```
|
||||
|
||||
`make smoke-real` 会创建一个临时 PostgreSQL 数据库,启动独立 Go API,写入受控测试手机号并完成员工全号、游客尾四位、管理端全号、公屏零手机号的真实接口验收;结束后自动关闭测试 API 并删除临时数据库。它不使用前端 mock,也不会改动日常开发数据库。
|
||||
`make smoke-real` 会创建一个临时 PostgreSQL 数据库并启动独立 Go API,验证多人取号、人数模式不超过目标的连续 FIFO 选择、号码模式、号码数/人数双统计,以及员工全号、游客尾四位、管理端全号、公屏零手机号的隐私边界;结束后自动关闭测试 API 并删除临时数据库。它不使用前端 mock,也不会改动日常开发数据库。
|
||||
|
||||
核心叫号写操作必须由服务端事务、行锁、幂等键和队列修订号共同保护;前端按钮禁用不能替代这些约束。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user