Files
sloray 6a0eb14b28
构建客户端 / 检查(类型 + 单元测试) (push) Waiting to run
构建客户端 / Linux x64(deb + AppImage) (push) Blocked by required conditions
构建客户端 / Windows x64(NSIS 安装包) (push) Blocked by required conditions
构建客户端 / macOS 通用(.app + .dmg) (push) Blocked by required conditions
docs: 整理项目文档并统一界面表述
将项目说明按主题集中到 docs,补齐根目录 README 和 AGENTS,移除弃用方案并保留有效测试记录与未实现提案。同步文档索引、引用及改动日志生成路径,README 增加 GitHub Markdown 导航和 Mermaid 图。

- fix(client): 统一状态与操作文案,录制和截图成功后再显示完成提示
- test(client): 按文件名核对媒体类型,避免依赖时间戳排序

验证:23 份项目文档、144 处本地引用、27 条外链、2 张 Mermaid 图;前端构建和 12 项测试;截图与录制的 4 条异步反馈路径;Windows Rust 编译检查和后端测试。后端 40 项返回成功,其中 3 项 ffmpeg 集成用例因本机缺少工具而未实际执行。
2026-10-19 11:26:26 +08:00

43 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 版本维护
版本号与改动记录由 `scripts/version.mjs` 从 Git 历史计算。以下命令从仓库根目录执行:
```sh
node scripts/version.mjs --write
node scripts/version.mjs --check
node scripts/version.mjs --print
```
`--write` 写回派生文件,`--check` 检查当前版本是否与历史一致,`--print` 输出计算结果。
## 提交与版本规则
提交标题采用 Conventional Commits:`type(scope): 说明`。
| 当前区间内的提交 | 版本增量 |
| --- | --- |
| `BREAKING CHANGE:` 或 `type!:` | major |
| `feat` | minor |
| `fix` / `perf` | patch |
| 其他类型 | 版本号不变,更新构建号 |
构建号取 `git rev-list --count HEAD`。提交正文中以 `- ` 开头、且内容符合 `type(scope): 说明` 的行,也会作为独立条目归类,适合记录 squash 提交中的多项改动。历史发布按标签区间重新计算,不从上一次生成的文件续写。
## 派生文件
| 文件 | 用途 |
| --- | --- |
| `version.json` | 根固件的 `build.rs` 读取,编译期注入 `RMIC_VERSION*` |
| `docs/releases/changelog.md` | 供人阅读的改动记录 |
| `docs/releases/changelog.json` | 供程序读取的当前区间记录 |
| `desktop/src/lib/version.ts` | UI 版本标签与线路协议号 |
| `desktop/package.json`、`desktop/src-tauri/tauri.conf.json` 的 `version` | 安装包命名与系统中的应用版本 |
这些文件由同一次计算生成;改动记录应修改提交信息或生成脚本,再运行 `--write`。自动版本机制建立前的说明保存在[早期人工记录](../releases/changelog-legacy.md)。
## 固件与客户端的版本对应
版本沿 `git → version.json → 固件二进制 → Hello 报文 → 客户端界面` 传递。图传板每 2 秒广播语义化版本、构建号和编译时的线路协议号,布局见[UDP 协议](../protocol/udp.md#通告里的版本信息)。
设置中的绑定列表显示固件版本,裁判端在各路画面下方显示对应版本。线路协议不匹配时,客户端拒收视频并提示双方协议号,便于判断是否需要重烧固件或更换客户端。