Add tRPC for publish progress subscriptions

This commit is contained in:
CPTProgrammer
2026-07-08 06:13:19 +08:00
parent 6b53906d08
commit d7317b4b04
2 changed files with 20 additions and 7 deletions
+8 -6
View File
@@ -124,12 +124,14 @@
### 5. 执行发布
1. 前端显示两个进度条(仅显示有勾选任务的平台),格式:`{平台图标} 平台名: [======== ] 0 / N`
2. 单个平台内按 MC 版本顺序逐个提交,**不可并行**;两个平台之间可以并行执行
3. 每个版本的发布流程:
1. 前端调用 `trpc.release.publish.useMutation()` 发起发布
2. 前端通过 `trpc.release.progress.useSubscription()` 监听进度,实时更新进度条
3. 进度条格式:`{平台图标} 平台名: [======== ] 0 / N`,仅显示有勾选任务的平台
4. 单个平台内按 MC 版本顺序逐个提交,**不可并行**;两个平台之间可以并行执行
5. 每个版本的发布流程:
- 解析模板:用 `version``mc_version` 填入各平台 `version_name``version` 模板(含递归解析)
- Modrinth:构造 multipart/form-data 请求,含 `data` JSON + 构建产物文件 + 源码文件
- CurseForge:构造 multipart/form-data 请求,含 `metadata` JSON + 文件
- 更新对应进度条
4. **任一请求失败则取消当前平台的后续所有任务**,不影响另一个平台
5. 全部完成或失败后,弹出结果 Modal 显示最终状态(成功数 / 失败数)
- 通过 tRPC subscription 推送进度更新
6. **任一请求失败则取消当前平台的后续所有任务**,不影响另一个平台
7. 全部完成或失败后,弹出结果 Modal 显示最终状态(成功数 / 失败数)