41 lines
1.1 KiB
Markdown
41 lines
1.1 KiB
Markdown
# T-WIN-009 来源信息展示
|
||
|
||
- **状态**:done
|
||
- **依赖**:T-WIN-008
|
||
|
||
## 目标
|
||
|
||
在客户端展示模型/动作的**来源五元组**(来源类型、名称、链接、许可、作者)。
|
||
|
||
## load
|
||
|
||
```
|
||
DSH.md
|
||
contracts/data-models.md # 锚点:1 来源五元组
|
||
src/ui/source_panel.gd
|
||
src/net/catalog_types.gd
|
||
```
|
||
|
||
## 交付物
|
||
|
||
`src/ui/source_panel.gd`(可复用组件)+ `CatalogTypes.SourceInfo`(含 `type_label()` 与 `is_complete()`)。
|
||
|
||
## 展示规则
|
||
|
||
- 标题 + 来源类型中文标签(原创 / 已获授权 / Creative Commons / 公共领域 / 用户上传 / 其他)
|
||
- 资产名 | 来源名称
|
||
- 作者
|
||
- 许可 + **可点击外链**跳转到 `sourceUrl`
|
||
- **五元组不齐备时显式告警**("⚠ 来源信息不完整,请联系管理员补全后再使用"),不静默展示
|
||
|
||
## 使用位置
|
||
|
||
- 主菜单:选中动作时显示
|
||
- 游戏页:当前跟练动作
|
||
- 结算页:本轮动作
|
||
|
||
## 验收
|
||
|
||
`tests/test_api_integration.gd` 对真实服务端断言曲目与模型的来源五元组齐备
|
||
(`song.source.is_complete()`),保证展示组件拿到的数据完整。
|