推进活动系统最小成品闭环与游客体验

This commit is contained in:
2026-04-07 19:05:18 +08:00
parent 1a6008449e
commit 6cd16f08dd
102 changed files with 16087 additions and 3556 deletions

295
f2t.md
View File

@@ -1,13 +1,13 @@
# F2T 协作清单
> 文档版本v1.12
> 最后更新2026-04-03 23:42:00
> 文档版本v2.1
> 最后更新2026-04-07 21:52:00
> 历史归档: [f2t.archive.md](D:/dev/cmr-mini/f2t.archive.md)
说明:
- 本文件由前端线程维护,写给总控线程
- 只写事实和请求
- 不写长讨论稿
- 每条尽量包含:时间、谁提的、当前事实、需要确认什么、是否已解决
- 主文件只保留当前阶段真正需要看的信息
- 长历史已转入归档
---
@@ -19,71 +19,20 @@
## 已确认
### F2T-001
### F2T-当前主线
- 时间2026-04-03 14:28:00
- 时间2026-04-07 21:52:00
- 谁提的frontend
- 当前事实:
- 总控已确认:准备页当前阶段允许按“预览态运行对象摘要”展示
- 后端后续如补 `pre-launch runtime preview` 能力,再升级为正式预览态
- 需要确认什么:
-
- 是否已解决:是
### F2T-002
- 时间2026-04-03 14:28:00
- 谁提的frontend
- 当前事实:
- 地图页和单局结果页已开始消费 `launch.runtime`
- 当前做法为:
- 地图页:在“当前游戏”摘要里追加 runtime 对象行
- 单局结果页:优先读 `result.session.runtime`,没有时回退到 launch 快照
- 需要确认什么:
-
- 是否已解决:是
### F2T-003
- 时间2026-04-03 14:42:00
- 谁提的frontend
- 当前事实:
- 历史结果列表页已开始展示 runtime 摘要
- 当前展示内容:
- `place`
- `map`
- `course variant`
- 当前仍保持摘要态展示,不改列表主结构
- 需要确认什么:
-
- 是否已解决:是
### F2T-004
- 时间2026-04-03 14:42:00
- 谁提的frontend
- 当前事实:
- 首页 `ongoing / recent` 已开始展示 runtime 摘要
- 当前展示内容:
- `place`
- `map`
- `course variant`
- 当前仍保持摘要态展示,不改首页卡片结构
- 需要确认什么:
-
- 是否已解决:是
### F2T-005
- 时间2026-04-03 18:10:00
- 谁提的frontend
- 当前事实:
- 总控已确认前端当前阶段切换为“活动运营域摘要第一刀”
- 当前只允许:
- 活动详情页轻摘要
- 准备页轻摘要
- 会话快照接线
- 当前不做复杂运营样式,也不重构 runtime 主链
- 当前前端仍按总控主线推进:
- 活动列表第一刀回归与小修
- 活动详情页用户化
- 活动准备页用户化
- 结果页 / 历史页活动链衔接小修
- 同时已补齐两条可复用入口层能力:
- 地图体验第一刀
- 游客模式第一刀
- 当前不扩新主链,不重做首页主入口,不做复杂运营样式
- 需要确认什么:
-
- 是否已解决:是
@@ -98,173 +47,128 @@
## 已完成
### F2T-D001
### F2T-D011
- 时间2026-04-03 14:50:00
- 时间2026-04-07 10:42:00
- 谁提的frontend
- 当前事实:
- 已完成 `launch.runtime -> GameLaunchEnvelope.runtime` 适配
- 已完成赛后跳结果页时的 runtime 快照兜底透传
- 已完成准备页、地图页、单局结果页、历史结果列表页、首页摘要第一阶段可视化接入
- 活动详情页用户化第一刀已完成
- 当前详情页已收成:
- `当前状态`
- `赛道与版本`
- `canLaunch=false` 时主按钮文案已收成 `查看准备状态`
- 需要确认什么:
-
- 是否已解决:是
### F2T-D002
### F2T-D012
- 时间2026-04-03 14:50:00
- 时间2026-04-07 11:22:00
- 谁提的frontend
- 当前事实:
- 已新增 [第五刀联调回归清单](D:/dev/cmr-mini/doc/gameplay/第五刀联调回归清单.md)
- 当前回归口径已固定覆盖
- 准备页
- 地图页
- 单局结果页
- 历史结果列表页
- 首页 `ongoing / recent`
- 恢复链
- 活动准备页用户化第一刀已完成
- 当前准备页已收成
- `当前准备状态`
- `活动版本摘要`
- `本局对象预览`
- `赛道选择`
- `设备准备`
- 需要确认什么:
-
- 是否已解决:是
### F2T-D003
### F2T-D013
- 时间2026-04-03 19:20:00
- 时间2026-04-07 11:41:00
- 谁提的frontend
- 当前事实:
- 已完成活动运营域摘要第一刀轻接线:
- 活动详情页开始展示 `currentPresentation / currentContentBundle`
- 准备页开始展示活动运营摘要
- `launch.presentation / launch.contentBundle` 已适配进 `GameLaunchEnvelope`
- 会话快照会随 `launchEnvelope` 一起保留活动运营摘要
- 当前仍保持“摘要接线”边界,没有扩新页面主链
- 结果页 / 历史页活动链衔接第一轮小修已完成
- 当前已补:
- 单局结果页 `返回活动`
- 历史结果页 `查看单局结果 / 返回活动`
- 需要确认什么:
-
- 是否已解决:是
### F2T-D004
### F2T-D014
- 时间2026-04-03 19:38:00
- 时间2026-04-07 12:56:00
- 谁提的frontend
- 当前事实:
- 已新增 [活动运营域摘要第一刀联调回归清单](D:/dev/cmr-mini/doc/gameplay/活动运营域摘要第一刀联调回归清单.md)
- 当前回归口径已固定覆盖
- 活动详情页摘要
- 准备页摘要
- `launch.presentation / launch.contentBundle` 会话快照
- 与 runtime 主链隔离
- 缺字段降级
- 准备页地图预览方案已落地并进入 V1
- 当前 V1 已完成
- 低级别正式瓦片底图
- 准备页只读预览卡
- 前端叠加当前已知 KML 点位
- 多赛道数据不足时保留预览区并显示空态/说明提示
- 当前 V1 不做:
- 腿线
- 拖拽
- 缩放
- 复杂交互
- 需要确认什么:
-
- 是否已解决:是
### F2T-D005
### F2T-D015
- 时间2026-04-03 19:48:00
- 时间2026-04-07 18:40:00
- 谁提的frontend
- 当前事实:
- 已按总控最新口径把联调方式标准化
- 当前活动运营域摘要第一刀回归默认统一使用 backend 的一键测试环境
- `Bootstrap Demo`
- `一键补齐 Runtime 并发布`
- 不再建议前后端各自手工铺多份 demo 对象
- 地图体验第一刀已完成
- 当前已具备
- 首页 `地图体验` 入口
- 地图列表页
- 地图详情页
- 地图下默认体验活动入口
- 默认体验活动继续复用现有活动详情/准备页/地图主链
- 需要确认什么:
-
- 是否已解决:是
### F2T-D006
### F2T-D016
- 时间2026-04-03 16:26:37
- 时间2026-04-07 19:10:00
- 谁提的frontend
- 当前事实:
- 已按 backend 新增 dev 调试接口切换当前联调诊断主出口:
- `POST /dev/client-logs`
- 当前首页、活动页、准备页、地图关键链路会主动上报:
- `entry-home`
- `event-play`
- `event-prepare`
- `launch-diagnostic`
- `runtime-compiler`
- `session-recovery`
- 登录后自动连接模拟器日志的链路已撤掉
- 地图内调试面板继续保留,仅作为本地开发辅助,不再作为当前联调主诊断口
- 游客模式第一刀已完成
- 当前已具备:
- 登录页 `游客体验`
- 游客进入地图列表/地图详情/默认体验活动
- 无登录态时活动详情/准备页自动走 `/public/...`
- 游客结果页优先展示本地结果摘要
- 需要确认什么:
- 当前更适合做一轮整链真回归
- 是否已解决:是
### F2T-D017
- 时间2026-04-07 20:05:00
- 谁提的frontend
- 当前事实:
- 准备页进入地图链路已收口
- 当前已补:
- 防连点
- 状态反馈/进度条
- 12 秒超时保护
- 从地图主动退出后清理准备页残留载入态
- 需要确认什么:
-
- 是否已解决:是
### F2T-D007
### F2T-D018
- 时间2026-04-03 16:45:26
- 时间2026-04-07 21:40:00
- 谁提的frontend
- 当前事实:
- backend 已确认积分赛误进顺序赛的根因在 backend demo 首页卡片入口配置,不在前端玩法解析
- 前端本轮未再修改 runtime / manifest 消费主链
- 前端仅补了联调日志口径优化:
- 非多赛道玩法不再上报空字符串 `assignmentMode`
- 日志新增前端本地递增 `details.seq`
- `launchVariantId``runtimeCourseVariantId` 明确区分
- 需要确认什么:
-
- 是否已解决:是
### F2T-D008
- 时间2026-04-03 22:05:00
- 谁提的frontend
- 当前事实:
- 已按总控当前口径更新 [活动卡片列表最小产品方案](D:/dev/cmr-mini/doc/gameplay/活动卡片列表最小产品方案.md)
- 当前文档只收 3 类准备项:
- 最小字段表
- 缺字段降级策略
- 最小页面结构建议
- 当前未启动活动卡片列表页正式开发
- 当前未扩新页面链,也未改首页现有活动入口实现
- 需要确认什么:
-
- 是否已解决:是
### F2T-D009
- 时间2026-04-03 22:12:00
- 谁提的frontend
- 当前事实:
- 已按 backend 对 `currentPresentation / currentContentBundle` 的语义要求完成前端小范围修正
- 活动页与准备页当前统一使用:
- `当前发布展示版本`
- `当前发布内容包版本`
- 当两项为空时,前端当前统一解释为:
- 当前发布 release 未绑定
- 或当前尚未发布
- 活动页与准备页的继续进入动作,当前统一优先受 `play.canLaunch` 控制
- 需要确认什么:
-
- 是否已解决:是
### F2T-D010
- 时间2026-04-03 23:42:00
- 谁提的frontend
- 当前事实:
- 已按总控当前 `v1.9` 口径启动“活动卡片列表最小产品化第一刀”
- 当前已落地:
- 独立活动列表页:`/pages/events/events`
- 最小筛选:`全部 / 体验`
- 最小卡片展示:
- `title`
- `subtitle`
- `summary`
- `status`
- `timeWindow`
- `ctaText`
- `isDefaultExperience`
- `eventType`
- `currentPresentation`
- `currentContentBundle`
- 从列表跳活动详情页
- 当前第一刀仍保持边界:
- 不重做首页现有入口区
- 仅在首页补一个“活动列表”独立入口
- 不扩更多玩家侧新链
- 后台/新线程协同文档已补齐
- 当前新增:
- [准备页地图预览方案](D:/dev/cmr-mini/doc/gameplay/准备页地图预览方案.md)
- [地图列表与默认体验活动方案](D:/dev/cmr-mini/doc/gameplay/地图列表与默认体验活动方案.md)
- [后台游戏定制支持方案](D:/dev/cmr-mini/doc/backend/后台游戏定制支持方案.md)
- [后端总体架构与当前执行清单](D:/dev/cmr-mini/doc/backend/后端总体架构与当前执行清单.md)
- [最大配置模板后台落地裁剪表](D:/dev/cmr-mini/doc/config/最大配置模板后台落地裁剪表.md)
- [f2f.md](D:/dev/cmr-mini/f2f.md)
- 需要确认什么:
-
- 是否已解决:是
@@ -273,8 +177,13 @@
## 下一步
- 当前进入活动卡片列表最小产品化第一刀联调回归与小范围修复阶段
- 当前重点验证:
- 当前继续做:
- 活动列表第一刀回归与小修
- 活动详情页/准备页用户化打磨
- 准备页地图预览 V1 稳定性验证
- 游客模式整链真回归
- 当前重点观察:
- 列表字段是否足够
- `全部 / 体验` 分组是否符合预期
- 卡片点击进入活动详情页是否稳定
- 列表到详情页跳转是否稳定
- 准备页地图预览底图、点位叠加和空态提示是否稳定
- 游客模式公共 `play / launch / result` 是否完全闭环