TOS 开发周记 26:背包拖放、快捷栏与数据库初始化

本文根据 2026-04-06 至 2026-04-12 的 Git 提交补记。

背包改成拖放交互

这周我重做了背包操作。原先“点来源、点目标、再确认”的流程被替换为拖放:按住有物品的格子,超过移动阈值后显示拖动影子,松开时判断落在另一个背包格还是快捷栏。背包内拖放仍然调用服务端的槽位交换接口;拖到快捷栏则保存物品绑定,并在栏位上显示对应图标。

同一轮改动还接入了使用消耗品和装备武器、护甲的 API,调整了背包在快捷栏上方的位置与弹窗布局。随后又补了遮罩、网格边距和 Esc 行为:背包打开时由自己的输入逻辑处理关闭,不再保留额外的 Esc 按钮。

清理旧入口

客户端删除了已经不再使用的开始菜单脚本和场景,并清理了几份过时的 WebSocket 迁移文档。这里没有新增玩法,主要是让当前的登录、详情模式、游戏内菜单和背包路径不再与旧入口并存。

后端把可重复工作写进工具

后端新增了大量单元测试文件,覆盖 handler 参数校验、service、路由、资源 CLI、i18n 检查和生成器等区域。这里能确认的是覆盖范围被扩展了;历史提交本身不足以说明当时整套测试的运行结果。

数据库初始化也从平台脚本逐步收敛为 Go 命令:setupdb 负责组织数据库准备、迁移、地理数据导入和种子流程,geojson 命令处理地理数据,仓库同时加入新的 GeoJSON 数据文件并移除旧 seed dump。由于大文件占了绝大多数行数,本周的变更规模看起来很夸张,但核心其实是把初始化步骤集中到一条明确的命令链中。

提交记录

日期 仓库 提交 原始说明
2026-04-06 客户端 0c1b0af tidy: remove start menu
2026-04-06 客户端 d50ed9e feat: support for swaping items
2026-04-07 后端 60e71c0 test: expand backend unit coverage across handlers, services, and CLI
2026-04-07 客户端 08fd2d1 feat(client): bag panel layout, modal backdrop, grid insets
2026-04-07 客户端 8d62e80 feat: remove esc button in bag
2026-04-08 后端 3e3b948 feat: add one-key script to setup db
2026-04-09 后端 9636cdd db: update one-key script for db
2026-04-10 后端 fb3cd38 tidy
2026-04-10 客户端 f333443 tidy

TOS 开发周记 26:背包拖放、快捷栏与数据库初始化

https://blog.util.online/2026/04/12/tos-weekly-history/2026-04-06-tos-weekly-26/

作者

amano

发布于

2026-04-12

更新于

2026-08-04

许可协议

评论