Files
cmr-mini/f2f.md

201 lines
6.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# F2F 工作交接
- 文档版本v1.0
- 最后更新2026-04-07 21:45:00
- 维护方:前端线程 -> 新线程
## 当前主线状态
### 1. 活动主链
- 活动列表第一刀已完成:
- 独立活动列表页已接通
- 支持 `全部 / 体验`
- 可跳活动详情页
- 活动详情页用户化第一刀已完成:
- `当前状态`
- `赛道与版本`
- CTA 文案更像用户视角
- 准备页用户化第一刀已完成:
- `当前准备状态`
- `活动版本摘要`
- `本局对象预览`
- 设备准备区
- 结果页 / 历史页活动链衔接已完成一轮小修:
- 单局结果页支持 `返回活动`
- 历史结果页支持 `查看单局结果 / 返回活动`
### 2. 地图体验主链
- 地图体验第一刀已完成:
- 首页有 `地图体验` 入口
- 地图列表页已接通
- 地图详情页已接通
- 地图下默认体验活动可跳现有活动详情主链
- 当前对象模型口径:
- `Place`
- `MapAsset`
- `Event`
- `defaultExperienceEvents[]`
- 默认体验活动支持:
- 可挂可不挂
- 可以不显示在正式活动列表
### 3. 游客模式主链
- 游客模式第一刀已接上:
- 登录页支持 `游客体验`
- 游客可进地图列表、地图详情、默认体验活动详情、准备页、公共 `launch`
- 活动详情 / 准备页无登录态时自动走 `/public/...`
- 游客结果页优先展示本地结果摘要,不强制跳登录
- 之前 `/public/events/{id}/launch` 有 backend 500 问题,已在协作文档里反馈过。
- 用户最新口头反馈backend 改后“能进了”,但未再做完整闭环确认。
### 4. 准备页地图预览 V1
- 已完成并可用:
- 低级别正式瓦片做底图
- 白膜压背景
- 只叠 KML 点位,不画腿线,不画数字
- 点位群尽量充满预览窗口
- 多赛道:
- 已支持切换赛道后联动预览
- 当前实现是:
- 底图与缩放优先走 manifest 正式地图配置
- 多赛道点位联动优先消费 backend `play.preview`
- 单赛道:
- 强制回到稳定的 manifest 预览链
- 之前为预览排查加的 backend 临时日志已清理。
### 5. 准备页进入地图链
- 已补齐:
- 防连点
- 进度反馈
- 12 秒超时兜底
- 返回准备页后清理残留“正在进入地图”视觉状态
- 相关文件:
- `miniprogram/pages/event-prepare/event-prepare.ts`
- `miniprogram/pages/event-prepare/event-prepare.wxml`
- `miniprogram/pages/event-prepare/event-prepare.wxss`
### 6. 恢复与 ongoing
- 冷启动恢复弹窗已取消
- 统一走首页 `进行中的游戏` 区块:
- `恢复`
- `放弃`
- `放弃` 会走 `finish(cancelled)`,然后清本地恢复快照并刷新首页
## 最近重要修复
### 1. 单独项目 www 类型检查干扰
- 已在根 `tsconfig.json` 中排除 `www`
- 现在根项目 `npm run typecheck` 可以通过
### 2. 多赛道准备页选择区
- 前面出现过“活动是多赛道,但准备页没有赛道区”的问题
- 已确认根因主要在 backend 发布 release 缺少:
- `play.assignmentMode`
- `play.courseVariants`
- 前端做了用户体验兜底:
- 只要能判断是多赛道活动,即使后端暂未返回可选赛道,也保留赛道区空态提示
### 3. 积分赛误进顺序赛
- 已确认根因在 backend 首页卡片入口配置,不是前端玩法解析
- 当前主链已收口
## 协作文档现状
### 1. 前端 -> 后端
- 文件:`f2b.md`
- 当前版本v2.5
- 当前重点:
- `F2B-019`:游客模式公共 `launch` 曾返回 500backend 文档称已修,但建议新线程视情况确认是否真正闭环
### 2. 前端 -> 总控
- 文件:`f2t.md`
- 当前版本v2.0
- 说明:
- 内容已经偏旧,没有完整覆盖游客模式、地图体验、预览 V1、event-prepare 启动防抖等后续改动
- 如新线程继续与总控同步,建议先更新此文件
## 当前建议优先级
### P0先做一轮游客模式真回归
建议测试:
1. 登录页点 `游客体验`
2. 进入地图列表
3. 进入地图详情
4. 点默认体验活动
5. 进入活动详情 / 准备页 / 地图
6. 正常完成或主动退出
7. 确认结果页、返回链、退出链是否正常
如果游客主链仍有问题,优先看:
- backend `/public/...` 返回
- `f2b.md` 里的 `F2B-019`
### P1更新总控协作文档
- 把以下内容同步进 `f2t.md`
- 地图体验第一刀
- 游客模式第一刀
- 准备页预览 V1
- 进入地图防抖/进度/超时
### P2继续后台/运维平台协同
当前已落文档,可继续给 backend / 总控参考:
- `doc/backend/后台游戏定制支持方案.md`
- `doc/backend/后端总体架构与当前执行清单.md`
- `doc/config/最大配置模板后台落地裁剪表.md`
- `doc/gameplay/地图列表与默认体验活动方案.md`
- `doc/gameplay/准备页地图预览方案.md`
## 建议优先阅读文档
### 新线程先看这 6 份
1. `f2f.md`
- 当前交接总览
2. `f2b.md`
- 前端写给后端的当前待确认/已确认事项
3. `f2t.md`
- 前端写给总控的当前状态
4. `doc/gameplay/准备页地图预览方案.md`
- 准备页预览的设计与边界
5. `doc/gameplay/地图列表与默认体验活动方案.md`
- 地图体验入口与默认体验活动模型
6. `doc/backend/后端总体架构与当前执行清单.md`
- 后台/发布/游戏定制的大方向
### 如果要继续做后台协同,再看这 3 份
1. `doc/backend/后台游戏定制支持方案.md`
2. `doc/config/最大配置模板后台落地裁剪表.md`
3. `doc/backend/后端第一阶段执行清单.md`
## 关键文件
### 活动/地图体验
- `miniprogram/pages/home/home.ts`
- `miniprogram/pages/events/events.ts`
- `miniprogram/pages/event/event.ts`
- `miniprogram/pages/event-prepare/event-prepare.ts`
- `miniprogram/pages/experience-maps/experience-maps.ts`
- `miniprogram/pages/experience-map/experience-map.ts`
- `miniprogram/pages/result/result.ts`
- `miniprogram/pages/results/results.ts`
### API / 启动 / 预览
- `miniprogram/utils/backendApi.ts`
- `miniprogram/utils/backendLaunchAdapter.ts`
- `miniprogram/utils/gameLaunch.ts`
- `miniprogram/utils/prepareMapPreview.ts`
### 恢复 / 会话 / 首页 ongoing
- `miniprogram/pages/index/index.ts`
- `miniprogram/pages/home/home.ts`
- `miniprogram/pages/map/map.ts`
## 当前验证结果
- `npm run test:runtime-smoke`:通过
- `npm run typecheck`:通过
## 交接结论
- 当前不是架构失控阶段,主链总体稳定
- 新线程优先不要扩新链
- 先把游客模式做一次完整真回归
- 再决定是继续收产品流,还是回到后台/总控协同线