场景引擎实施细则 v1.0

🕐 时效标注(2026-09-13 文档治理):近期设计件,口径以 TASKS 现行与契约 v1.3 为准。
版本:v1.0 | 日期:2026-09-02 | 起草:波波(云端)| 状态:施工图,待义父派工口令 🟡 部分落地——①C 端四真页 ✅ 已验收(WIP-139 M0-M4,commit 419ceaf:play-scene/local-scene/scene-kora/scene-certificate)+底座四件(WIP-136,00afca2)+场景卡配置化(WIP-137/138,6601421);②B 端点位任务面板 ✅ 已交付(WIP-138 M1 PointTasks);③admin 配置端 + B 端剩余两页仍待派工(WIP-151 📋 已登记)。⇒ 本细则 §三 B 端/admin 段尚未全部施工,勿按「全落地」理解|状态词修正 2026-09-09(波波 WIP-237 倒挂治理,刘总授权)
上位:《C端场景引擎主轴方案 v1.0》《场景玩法脑暴池 v1.0》(骨架级 ①⑤⑥ 已入本章)| 载体:C 端小程序 + admin 配置端 + B 端 H5 点位任务
对齐基线:迁移至 036(本细则新表从 037 起);site_config 维度注册制;task_templates(035)家族字段 attract/instore/reputation/…

一、数据模型(027+ 新表,全部幂等建表)

1.1 场景配置(零发版扩展的载体)

scene_cards(site_config 新维度 key=scene_cards,validate 函数照注册制补 _validate_scenes)
├─ scenes[]:scene_id / 名称 / 状态(active|draft) / 排序 / 背景图 / 状态条文案组
├─ points[]:point_id / 名称 / 码牌绑定码值 / 坐标(仅展示非判定) / 叙事卡引用(内容池 id) / 关联商户(可空)
└─ 判定参数默认值(产品可在制作时覆盖,见 1.3)

1.2 游客侧表

scene_checkins        打卡流水:user_id / point_id / scene_id / checked_at / client_queue_id(离线幂等) / sync_at
scene_progress        进行中场景:user_id / scene_id / started_at / last_point_at / status(active|done|abandoned)
scene_certificates    完成证书:user_id / product_id(判定来源,见 1.3) / scene_id / serial_no / issued_at / meta(JSONB: 圈数/用时/点位集)

1.3 判定配置随产品走(义父 17:21 拍板)

products 表(既有)增列 completion_rule JSONB NULL:
{ "required_points": ["talin","drolma-la",...],   // 必集点位(商户制作产品时多选)
  "min_gap_days": 0,                               // 最少间隔天数(Camino 式,默认 0)
  "tier": "loose|strict" }                         // loose=首尾即成 / strict=含关键点

二、接口契约清单(进 OpenAPI,先契约后前端)

#接口方法说明
1/scenesGET场景卡列表(site_config 驱动,含我的进行中状态)
2/scenes/{id}/judgeGET实时判定(weather_window 按场景参数出结论)
3/scenes/{id}/progressGET/POST我的进度 / 开始·放弃
4/scenes/checkinPOST打卡提交(码值+client_queue_id 幂等;离线队列回放)
5/scenes/certificateGET我的证书列表/详情(复用 17 页数据面)
6/notifications/badgeGET红点(WIP-131 共用)
7/admin/scenesCRUD场景管理(admin 二期,零发版加场景)
8/points/{code}/taskGET点位福钥任务挂载查询(铁三角:商户 task_templates 触发)

三、页面清单

C 端小程序(静态稿 92-95 → 真页)

静态稿真页内容
92pages/play-scene场景卡流+进行中卡+判定状态
93pages/local-scene在地服务方+沿线筛选
94pages/scene-kora转山进行时(判定卡/点位 timeline/叙事卡/扫码底栏)
95pages/scene-cert完成证书+判定来源卡

B 端 H5(依赖 WIP-131 骨架)

admin 配置端

四、玩法池升级设计(骨架级 ①⑤⑥ 进 v1.1 核心章)

① 主线任务链(业态=任务 NPC)

⑤ 一站一业(线路自动铺单)

⑥ 业态互导

五、板块包拆分建议(派工等义父口令)

包内容依赖建议
WIP-136027 迁移+场景契约+C 端四真页(转山首发)132 码牌、124/125 内容池扣子一号/二号任一
WIP-137admin 场景管理页(配置化扩展本体)136排 136 后
WIP-138B 端"我的点位任务"面板(H5)131 骨架可与 136 并行

六、验收锚点(各包通用)

  1. 打卡幂等:同 client_queue_id 重放不重复计章
  2. 离线:无网打卡本地暂存,恢复后自动补同步,界面状态正确
  3. 判定:天气窗口结论与场景参数一致;参数在 site_config 改动后即时生效(零发版验证)
  4. 证书:未配置 completion_rule 的产品不产生证书;serial_no 全局唯一
  5. 福钥:点位任务发放走 035 四道闸记录可查;无商户点位打卡零福钥
  6. 视觉:四真页与静态稿 92-95 逐区一致(A8 同款令牌检查)