docs: 更新开发日志,记录版本状态判断逻辑
This commit is contained in:
@@ -39,3 +39,30 @@
|
|||||||
<UiSwitch v-model:checked="form.enabled" />
|
<UiSwitch v-model:checked="form.enabled" />
|
||||||
<UiSwitch :checked="val" @update:checked="val = $event" />
|
<UiSwitch :checked="val" @update:checked="val = $event" />
|
||||||
```
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 修复:版本状态判断逻辑
|
||||||
|
|
||||||
|
**问题描述:**
|
||||||
|
- 状态列误展示为更新策略(optional/forced),应与策略区分开
|
||||||
|
- 状态应反映该版本是否仍然生效
|
||||||
|
|
||||||
|
**正确逻辑:**
|
||||||
|
- 同一应用下,版本按 ID 升序排列(ID 越大越新)
|
||||||
|
- 若存在**更新版本**(ID 更大)且策略为**强制更新** → 当前版本状态为 `superseded`(失效)
|
||||||
|
- 否则 → 当前版本状态为 `active`(生效)
|
||||||
|
|
||||||
|
**举例:**
|
||||||
|
| 版本 | 策略 | 状态 | 说明 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| v1.0.0 (ID=1) | optional | **生效** | 没有比它新的版本 |
|
||||||
|
| v1.0.0 (ID=1) | optional | **失效** | ID=2 的 v1.0.1 是强制更新 |
|
||||||
|
| v1.0.0 (ID=1) | forced | **生效** | ID=2 的 v1.0.2 是可选更新 |
|
||||||
|
|
||||||
|
**修改文件:**
|
||||||
|
|
||||||
|
| 文件 | 修改内容 |
|
||||||
|
|------|----------|
|
||||||
|
| `backend/internal/router/admin/versions.go` | `handleGetAllVersions`: 查询所有版本,按 app 分组收集 forced 版本 ID,遍历时检查是否有 ID 更大的 forced 版本<br>`handleGetVersionByID`: 用 COUNT 查询是否有同应用下 ID 更大且策略为 forced 的版本 |
|
||||||
|
| `frontend/src/pages/admin/versions/components/columns.ts` | 恢复状态列展示 `status` 字段的 `active`/`superseded` |
|
||||||
|
|||||||
Reference in New Issue
Block a user