DNF90 服务端与启动器完整源码(含 GM 工具功能增强)

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

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

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
# 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 前检查路径、归档内容及构建输出中没有敏感信息。