# 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()`),保证展示组件拿到的数据完整。