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

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

259
t2f.md
View File

@@ -1,181 +1,126 @@
# T2F 协作清单
> 文档版本v1.10
> 最后更新2026-04-03 19:26:23
> 文档版本v2.1
> 最后更新2026-04-07 22:35:00
说明:
- 本文件由总控维护,写给前端线程
-当前阶段实施说明,不写长讨论稿
- 正式架构与长期结论以 `doc/` 下文档为准
- 本文件由总控维护,写给 frontend 线程
-保留当前阶段信息
- 历史说明已归档到 [T2F阶段归档](D:/dev/cmr-mini/doc/archive/协作/T2F阶段归档.md)
- 正式方案以 `doc/` 下文档为准
---
## 1. 当前目标
## 当前阶段
当前前端线程已完成
当前 frontend 所处阶段
- 活动运营域摘要接线第一刀
**活动系统最小成品闭环回归与小范围修复阶段**
当前目标:
1. 活动列表可用且稳定
2. 活动详情页更像用户页
3. 活动准备页更像用户页
4. 结果页 / 历史页和活动链自然衔接
5. 地图体验链与游客体验链进入当前最小成品闭环
6. 不破坏 runtime 稳定主链
---
## 当前已完成基线
frontend 当前已稳定具备:
- runtime 摘要链第一阶段接线
- 活动运营域摘要第一刀接线
- 活动卡片列表最小产品化第一刀
当前进入:
**活动卡片列表最小产品化第一刀联调回归与小范围修复阶段**
本阶段目标:
- 在 backend 一键测试环境下回归活动列表页第一刀
- 验证卡片字段、分组、跳转与详情页链路稳定
- 只做小范围修复,不扩更多玩家侧新链
- 继续保持 runtime 主链稳定
- 独立活动列表页
- `全部 / 体验` 最小筛选
- 列表跳活动详情
- 活动详情页与准备页摘要接线
- 会话快照接线
- 地图体验第一刀
- 游客模式第一刀
- 准备页地图预览 V1
---
## 2. 当前后端已完成能力
## 当前任务
后端当前已完成:
### 1. 活动列表第一刀回归与小修
- `GET /events/{eventPublicID}` 透出:
- `currentPresentation`
- `currentContentBundle`
- `GET /events/{eventPublicID}/play` 透出:
- `currentPresentation`
- `currentContentBundle`
- `POST /events/{eventPublicID}/launch` 透出:
- `launch.presentation`
- `launch.contentBundle`
- publish 在未显式传入:
- `presentationId`
- `contentBundleId`
时,可按 event 当前 active 配置自动补齐
- runtime 主链继续保持稳定兼容:
- `resolvedRelease`
- `business`
- `variant`
- `runtime`
- backend 当前测试能力已升级:
- `Bootstrap Demo`
- `一键补齐 Runtime 并发布`
- `一键标准回归`
- `回归结果汇总`
- `当前 Launch 实际配置摘要`
- 分步日志 / 真实错误 / stack / 最后一次 curl / 预期判定
- `POST /dev/client-logs`
- 校验字段是否够用
- 校验 `全部 / 体验` 分组是否合理
- 校验列表到详情页跳转是否稳定
### 1.1 地图体验链回归
- 校验首页 `地图体验` 入口可达
- 校验地图列表 -> 地图详情 -> 默认体验活动入口链稳定
- 校验默认体验活动与普通活动衔接自然
### 1.2 游客模式第一刀回归
- 校验登录页 `游客体验` 入口
- 校验游客走 `/public/...` 链是否稳定
- 校验游客结果页本地摘要是否自然
### 2. 活动详情页用户化
- 调整信息层级
- 让活动状态、时间、CTA 更容易理解
- 不暴露后台复杂性
### 3. 活动准备页用户化
- 保留必要摘要
- 收工程感
- 不把过多 runtime/debug 信息直接给玩家
#### 准备页地图预览 V1
作为当前用户化增强项推进,只做:
- 低级别正式瓦片底图
- 前端动态叠加当前赛道
- 只读展示
当前不做:
- 拖拽
- 缩放
- 复杂交互
- `summary` 级预览
- 第二套交互地图
### 4. 结果页 / 历史页活动链衔接
- 让玩家能自然回看活动结果
- 继续只做小范围修正,不做大重构
### 5. 地图体验 / 游客体验与活动主链衔接
- 保持游客走地图默认体验链
- 保持登录用户走活动运营链
- 前台感知上区分清楚,但不要做出两套割裂产品
---
## 3. 当前已完成
## 当前不做
### 3.1 活动详情页
已开始展示:
- `currentPresentation`
- `presentationId`
- `templateKey`
- `version`
- `currentContentBundle`
- `bundleId`
- `bundleType`
- `version`
当前仍保持活动运营摘要展示,不做复杂运营样式。
### 3.2 活动准备页
已在当前 runtime 预览摘要旁边补活动运营摘要:
- 当前展示版本
- 当前内容包版本
仍然只做摘要,不重构准备页结构。
### 3.3 launch 会话快照
以下字段已收进当前会话快照:
- `launch.presentation`
- `launch.contentBundle`
这样后续结果页、历史页如果需要继续透出,就不需要重新拼接。
### 3.4 当前阶段仍不做
- 不下发复杂 `schema`
- 不消费完整 `EventPresentation` 结构
- 不把 `ContentBundle` 展开成资源明细
- 不重构首页、结果页、历史页已有结构
- 不做复杂运营化列表
- 不重做首页现有入口区
### 3.5 当前活动列表第一刀已完成
当前已落地:
1. 独立活动列表页:`/pages/events/events`
2. 最小卡片样式
3. 最小筛选:`全部 / 体验`
4. 从列表跳活动详情页
5. 首页补“活动列表”独立入口
当前第一刀最小字段已覆盖:
- `eventId`
- `title`
- `subtitle`
- `summary`
- `status`
- `timeWindow`
- `ctaText`
- `coverUrl`
- `isDefaultExperience`
- `currentPresentation`
- `currentContentBundle`
- 活动列表第二刀扩展
- 首页大改版
- 新玩家入口扩张
- 复杂运营样式
- 新玩家功能扩张
- 地图体验第二刀
- 游客模式第二刀
---
## 4. 当前阶段原则
## 一句话
- 玩家面对的是前端,前端页面必须保持干净、利落、人性化
- 先接新增摘要,不重构整条前端主链
- `resolvedRelease / business / variant` 旧字段继续保留
- runtime 主链已经稳定,不要为了活动运营摘要去动 runtime 主链
- 先做“看得见活动运营对象”,不先做复杂运营化样式
- 当前活动列表第一刀允许扩一个独立列表页,但不扩更多玩家侧新链
- 当前联调应优先复用 backend 一键测试环境,不再各自手工铺多份 demo 对象
- 当前联调应优先复用 backend 提供的结构化诊断链,不再依赖截图 + 口头描述排查
当前 frontend 最重要的事是:
---
## 5. 当前待前端回写
请前端线程后续重点回写:
1. 列表字段是否足够支持当前最小卡片
2. `全部 / 体验` 分组是否符合当前产品预期
3. 卡片点击进入活动详情页是否稳定
4. 是否需要 backend 再补名称摘要、状态字段或默认值
5. 有没有因为活动列表接线影响到 runtime 稳定主链
---
## 6. 当前总控确认
1. 活动运营域摘要第一刀视为已完成
2. 前端当前进入联调回归与小范围修复阶段
3. 当前只接受字段修正、摘要打磨、一致性修复
4. 当前不继续扩更多玩家侧新链,不做复杂运营样式
5. 如果前端发现缺字段,再由总控统一回写给 backend
6. 当前前端下一步重点是配合 backend 的一键测试环境做稳定回归
7. 当前前端继续只做:
- 联调回归
- 小范围修复
- 结构化日志补充
8. 当前活动列表第一刀已完成,暂不进入第二刀产品扩展
---
## 7. 一句话结论
当前前端最重要的事不是继续扩新页面,而是:
**把活动卡片列表最小产品化第一刀先稳住,并统一切到 backend 一键测试环境下做联调回归和小范围修复。**
**把活动列表、地图体验、游客体验和相关活动链页面一起收顺,从工程态过渡到用户态。**