GENERATED FROM MISSION.MD

独立接手 GameBox 客户端(gameboxclient

前任已交接并离开,没有人可问。我要成为这个 Electron + Vue 3 桌面工具的唯一维护者: 策划、美术、运营每天都在用它改游戏配置、做 GM 操作、发版,出问题只能找我。

这个工具没有降级方案。它挂了,相关同事就是完全没法工作。 所以第一优先级不是重构,是能快速定位和恢复

从课 01 开始 每次构建自动同步
01

起点

  • 熟悉 TypeScript / Node.js / LayaBox
  • 不熟 Vue 3 / Electron / VitePinia 完全没碰过
  • 本机 macOS arm64。而这个工具是 Windows 优先的(见 Constraints)。
02

Success looks like

1. 能独立改配置表编辑链路。 拿到「NPC 表加个字段」「掉落的下拉要加一项」这类需求, 知道要改 src/store/config/*.ts 而不是页面组件,并说清改动的影响范围。 这是日常占比最大的一类需求。

2. 能独立走完一次发版。 分得清 /expert/release 上 SVN 型和 Jenkins 型任务的分叉点与全局互斥闸门, 知道每一步动了什么、失败后怎么停。

3. 拿到线上报障能分诊。故障分诊表reference/triage.html,逐课增量建立)判定归属层, 给出带 file:line 证据的根因,十五分钟内。

4. 能说清这个项目的技术风险。 渲染层全开 Node 权限、凭据明文进 localStorage、零权限过滤的路由、 无测试框架 —— 能跟人讲明白现状、代价和规范做法是什么。

03

Constraints

  • 唯一证据来源是 gameboxclient 的实际源码和跑起来的应用。 每个关于「本项目如何实现」的断言都要带 file:line。 没有行号引用的实现描述,按「你在编」处理。 README.md 是脚手架模板原文,不反映本项目业务,禁止作为依据。
  • 当前基线:2026-08-12 的工作区快照。 gameboxclient 的新版本是未提交状态(529 个文件改动,git HEAD 仍是旧基线)。 有人提交后行号会漂移,文件名和函数名仍然有效。
  • 这是一个 Windows 优先的工具。 extend/ 下的可执行文件几乎全是 .exe。 在 macOS 上能做:跑起来、登录、改配置表、读代码、定位问题。 做不了:SVN 提交、地图/动画/图片转换、本地预览、打正式包。 完整影响见 map/dependencies.html
  • 无单元测试框架。 唯一的整体校验是 npm run ts:check, 而它本身就带着几百个历史错误 —— 验收标准是「不新增」而不是「零错误」。
  • 学习必须与真机操作同步,不做纯阅读。每节课结尾都有可验证的动作。
04

Out of scope

  • 系统学完 Vue 3 / Electron / Vite 的全部特性。只学本项目实际用到的子集。
  • 重构遗留代码、清理历史类型错误、补齐测试。
  • 动画编辑器(/animation/animate)、资源商城、地图编辑器的深层细节 —— 等主链路稳了再说。
  • 后端与 Jenkins job 本身的实现。只到「客户端怎么调它」为止。
05

待确认(只能问人,优先级高于任何一节课)

组织与流程

  • 业务口对接人是谁?出故障时的升级路径?
  • 发布失败后的停止、重试、回滚流程是什么?谁有权限决定回滚?

环境与权限

  • 哪些 SVN 工作副本 / Jenkins job / COS bucket / GM 环境可以安全操作? 在确认之前,所有写操作只做代码追踪,不真跑。
  • 「选服」下拉里哪些是测试服、哪些是正式服?误选正式服会发生什么?
  • 能不能给我一台 Windows 机器?—— 这不是偏好问题, 六项核心职责在 macOS 上无法执行。

技术

  • extend/Python/ 下那些 exe 还需要 Python 解释器吗? src/utils/extend/python.ts:34-41 指向的两个解释器目录都不存在, 影响地图转换、动画转换、lua 读写、nginx 初始化四条链路。优先级最高。
  • /animation/animate 这个 2585 行的动画编辑器还在用吗? 它写着 showMenu: false,任何菜单里都到不了。
  • /base/preload 这两组路由是在做的新功能,还是废弃的实验?
  • 当前工作区那 500 多个未提交改动是怎么回事?谁改的,能不能提交?