Files
suixinkan_ios_new/suixinkan/Features/QueueManagement/QueueManagement.md
汉秋 c39c3d3c75 新增订单长尾流程,并迁移排队、消息、结算与审核模块
将定金订单、历史拍摄与多行程上传接入 Orders,并以真实页面替换首页排队管理、消息中心、景区结算与提现审核占位入口。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-25 13:39:02 +08:00

1.5 KiB

排队管理模块

模块职责

Features/QueueManagement 承接首页 /scenic-queuequeue_management 权限入口,负责景区打卡点队列列表、叫号、过号、完成、重新排队、用户标记、队列设置、排队二维码和配置日志。

代码结构

  • ScenicQueueAPI:封装 /api/app/scenic-queue/.../api/app/socket-token
  • QueueManagementViewModel:管理已保存打卡点门禁、当前排队/过号列表分页、统计、队列动作和页面前台实时监听。
  • ScenicQueueSettingsViewModel:管理打卡点设置加载、本地快照兜底、表单校验、保存、二维码和配置日志。
  • ScenicQueueSettingsStore:按 userId + scenicId + spotId 作用域保存本地排队设置,并兼容旧 key。
  • Core/Queue:承接排队 WebSocket、远端叫号去重、语音播报和页面离开后的短轮询运行时。

业务边界

  • 列表页从当前账号景区和打卡点上下文读取数据;没有已保存打卡点时只显示设置引导,不自动选择第一个打卡点。
  • 叫号成功后只做本地已叫号标记;过号、完成、重新排队和用户标记成功后刷新当前打卡点列表。
  • 页面可见时由 QueueManagementViewModel 维护 WebSocket 监听;页面离开后由 ScenicQueueRuntime 按本地开关进行短轮询。
  • 设置保存前校验拍摄时长、通知阈值、播报间隔、读秒阈值、排队范围、排队次数、过号顺延和自定义播报长度。