f2f.md 6.6 KB

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 曾返回 500,backend 文档称已修,但建议新线程视情况确认是否真正闭环

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:通过

交接结论

  • 当前不是架构失控阶段,主链总体稳定
  • 新线程优先不要扩新链
  • 先把游客模式做一次完整真回归
  • 再决定是继续收产品流,还是回到后台/总控协同线