Files
90CNServer/pvf/AGENTS.md
T
hanfuit 645b64fe21 DNF90 服务端与启动器完整源码(含 GM 工具功能增强)
服务端(Go):
- GM 塞背包/带属性装备发放:在线角色推送 op14 增量物品行,背包实时刷新,无需回角色选择界面
- GM 改金币/改等级:去掉在线拒绝,落库后推送 op14 钱包/op37 等级状态,在线实时刷新
- 等级端点统一切换到新版 GMSetCharacterLevel(自带在线刷新)
- 无限/锁死疲劳模式 + 燃烧疲劳:每房间消耗 2 点、打怪与通关经验双倍
- 燃烧疲劳开关时给所有在线角色推送系统提示(op12 mode 0)
- 深渊史诗掉率:GM 全局倍率 + 城镇增益药剂窗口倍率,真实接入掉落结算

启动器(Python/JS):
- 标题栏自绘、窗口 1204x717、禁止拖拽改大小、仅最小化/关闭
- GM 工具:疲劳与燃烧、深渊史诗掉率、拍卖行上架(单一定价对齐)
- 拍卖行上架前端对齐服务端单一价格语义,修复 400 报错
2026-11-04 14:31:55 +08:00

2.6 KiB
Raw Blame History

Repository Guidelines

项目结构与模块组织

  • main.go 是 Wails 入口,负责窗口配置和服务注册。
  • internal/pvf/ 是独立可测试的 Go 解析与打包内核,包含加密、zlib 分块、字符串池和编解码逻辑;测试与实现同目录放置。
  • services/ 提供 ArchiveService、EditorService 及共享并发状态;服务测试位于 services/services_test.go。
  • frontend/src/ 是 Vue 3 + TypeScript 界面,按 components/ 和 stores/ 组织;frontend/bindings/ 是 Wails 生成的绑定,不要手工修改。
  • build/ 保存 Wails 各平台构建配置,docs/ 保存格式说明。不要提交新的构建产物或临时归档文件。

构建、测试与开发命令

  • wails3 task dev:启动 Wails 热重载开发环境。
  • go test ./...:运行全部 Go 单元测试。
  • PVF_TESTFILE=/path/to/Script.pvf go test ./...:启用真实 PVF 归档的集成、编辑和字节级回归测试;未设置时相关测试会跳过。
  • cd frontend && npm ci:按锁文件安装前端依赖。
  • cd frontend && npm run build:执行 vue-tsc 类型检查并生成生产前端资源。
  • wails3 task build:构建完整桌面应用;go build ./... 仅验证 Go 编译。

编码风格与命名约定

Go 代码使用 gofmt(可运行 go fmt ./...),包名使用小写,导出标识符使用 PascalCase。Vue 单文件组件使用 <script setup lang="ts">,组件采用 PascalCase,Pinia store 使用 useXxxStore。保持现有 2 空格前端缩进和严格 TypeScript 配置;生成的 bindings 通过 Wails 命令更新。

测试约定

测试文件命名为 *_test.go,测试函数使用 TestXxx。解析内核优先覆盖合成归档往返、编辑保存和编码边界;涉及真实数据时使用 PVF_TESTFILE,不要把个人路径硬编码。新增行为应同时补充针对性测试,并在改动范围允许时运行 go test ./... 和前端构建。

提交与 Pull Request

现有提交使用简短、动词开头的中文说明(如 优化解析、按 section 名称配置格式规则),初始化提交使用 chore: 前缀。提交应聚焦单一变更。PR 描述需说明用户可见影响、主要实现、验证命令及是否需要 PVF_TESTFILE;涉及界面时附截图或录屏,并说明兼容性影响。不要提交 frontend/dist、bin、依赖目录或 secrets。

安全与配置

不要读取、打印或提交 .env、密钥、token、凭据或密码。真实 Script.pvf 仅用于本地验证;分享日志和 PR 前检查路径、归档内容及构建输出中没有敏感信息。