开放多项目大屏免登录访问
需求描述:/admin/display 需要无需管理员登录即可直接查看多项目公开运行状态。 实现思路:新增公开字段白名单接口与独立大屏页面,移除该路由的管理员会话依赖,同时保留 /api/admin/overview 的鉴权并补充隐私、路由和页面回归测试。 验证:Go 全量测试通过;前端 18 个测试文件共 59 项通过,TypeScript 检查通过。
This commit is contained in:
@@ -593,3 +593,12 @@
|
||||
- 根因已确认:跨营业日创建新场次时,旧场次可能仍保留 `RUNNING/PAUSED`;手机号查询没有像员工队列和公屏一样选择最新场次,因此把旧、新场次中的同号同时返回。
|
||||
- 修复在数据库查询层增加按项目关联的“最新活动场次”子查询,不采用结果数组去重;这样旧场次同号会被排除,当前场次中同手机号的 `00001`、`00002` 等合法不同号码仍全部返回。
|
||||
- 本次不需要数据库迁移,也不修改历史数据;重新发布 API 后查询立即按新口径生效。
|
||||
|
||||
# 2026-07-31 管理端大屏中心免登录访问
|
||||
|
||||
- `/admin/display` 当前被 `AuthProvider portal="admin"` 与 `RequireAdmin` 包裹,未登录会跳转 `/admin/login`。
|
||||
- `AdminPage` 无条件轮询 `/api/admin/overview`;该接口包含 `active_tickets` 的完整手机号、姓氏等授权数据,不能直接取消后端鉴权。
|
||||
- 大屏组件实际只消费项目 ID、名称、状态、当前公开票号、等待票/人数、累计取号/体验人数、预计等待等字段。
|
||||
- 采用新公开接口返回字段白名单,并让公开路由使用独立页面壳;其他 `/admin/*` 页面和 `/api/admin/*` 接口保持原鉴权。
|
||||
- 工作区已有 `DisplayPage.tsx` 与对应测试的未提交语音播报改动,本轮不覆盖、不整理这些用户改动。
|
||||
- 线上 URL 在普通读取器中被安全校验拒绝,应用内浏览器两次只读打开均超时;没有据此推断线上当前页面状态,也未执行部署。
|
||||
|
||||
Reference in New Issue
Block a user