GENERATED FROM MISSION.MD
独立接手 GameBox 客户端(gameboxclient)
前任已交接并离开,没有人可问。我要成为这个 Electron + Vue 3 桌面工具的唯一维护者: 策划、美术、运营每天都在用它改游戏配置、做 GM 操作、发版,出问题只能找我。
这个工具没有降级方案。它挂了,相关同事就是完全没法工作。 所以第一优先级不是重构,是能快速定位和恢复。
从课 01 开始
每次构建自动同步
起点
- 熟悉 TypeScript / Node.js / LayaBox。
- 不熟 Vue 3 / Electron / Vite,Pinia 完全没碰过。
- 本机 macOS arm64。而这个工具是 Windows 优先的(见 Constraints)。
Success looks like
1. 能独立改配置表编辑链路。 拿到「NPC 表加个字段」「掉落的下拉要加一项」这类需求, 知道要改 src/store/config/*.ts 而不是页面组件,并说清改动的影响范围。 这是日常占比最大的一类需求。
2. 能独立走完一次发版。 分得清 /expert/release 上 SVN 型和 Jenkins 型任务的分叉点与全局互斥闸门, 知道每一步动了什么、失败后怎么停。
3. 拿到线上报障能分诊。 照故障分诊表(reference/triage.html,逐课增量建立)判定归属层, 给出带 file:line 证据的根因,十五分钟内。
4. 能说清这个项目的技术风险。 渲染层全开 Node 权限、凭据明文进 localStorage、零权限过滤的路由、 无测试框架 —— 能跟人讲明白现状、代价和规范做法是什么。
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, 而它本身就带着几百个历史错误 —— 验收标准是「不新增」而不是「零错误」。
- 学习必须与真机操作同步,不做纯阅读。每节课结尾都有可验证的动作。
Out of scope
- 系统学完 Vue 3 / Electron / Vite 的全部特性。只学本项目实际用到的子集。
- 重构遗留代码、清理历史类型错误、补齐测试。
- 动画编辑器(
/animation/animate)、资源商城、地图编辑器的深层细节 —— 等主链路稳了再说。 - 后端与 Jenkins job 本身的实现。只到「客户端怎么调它」为止。
待确认(只能问人,优先级高于任何一节课)
组织与流程
- 业务口对接人是谁?出故障时的升级路径?
- 发布失败后的停止、重试、回滚流程是什么?谁有权限决定回滚?
环境与权限
- 哪些 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 多个未提交改动是怎么回事?谁改的,能不能提交?