依据 Gitea v1.27.3 modules/charset/escape_stream.go 的判定规则 (analyzeDetectResults:仅当左右相邻字符都不是非 ASCII 时才标记, 且 _common 表恒定生效),把说明文档中会被标记的全角标点 (,:;?!() 等)改为半角,并保证成对括号宽度一致。 中文语境中的全角标点(左右均为中文)保持原样,不动代码与契约语义。
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()`),保证展示组件拿到的数据完整。
|