四期(大小屏融合)后端可代码部分:跨域解析网关/扫码验真/跨屏权益通兑
- model/rights.go: ScreenType/ParsedMA/ResolveResult/ScanVerifyResult/UserRights/PurchaseRecord/CrossScreenRightsResult - service/phase4.go: ParseMACode + Resolve(C.1/C.2) + ScanVerify(B.2) + RecordPurchase/VerifyCrossScreenRights(D.1) - api/handlers.go: GET /content/resolve, POST /content/scan-verify, /rights/purchase, /rights/verify - service/phase4_test.go: 18 单测全绿 - 同一MA码跨iptv/ott/app统一解析; 任一屏购买全屏通看不重复扣费 - OTT/移动端SDK/C2PA凭证标注需外部环境 - 更新 5-task-IPTV-四期.md 进度
This commit is contained in:
+52
-13
@@ -34,76 +34,115 @@
|
||||
|
||||
## 三、任务分解
|
||||
|
||||
> 说明:四期含大量端侧(OTT/移动端 SDK、播放器、C2PA 水印)与跨端集成工作,
|
||||
> 需真实终端环境与第三方 SDK。本仓库已实现**后端可代码部分**:跨域解析网关、
|
||||
> 扫码验真、跨屏权益通兑与身份互通的服务端逻辑与接口。端侧接入标注为需外部环境。
|
||||
|
||||
### 工作包 A:OTT 端接入
|
||||
|
||||
- [ ] **A.1 OTT 解析与注入校验**
|
||||
- [ ] **A.1 OTT 解析与注入校验**(端侧)
|
||||
- 目标:OTT/智能电视端内容注入与播放前 MA 码解析+哈希校验
|
||||
- 对应:需求4、需求7、需求19-AC4
|
||||
- 验收:OTT 端复用 IPTV 注入校验能力
|
||||
- 依赖:三期
|
||||
- 说明:复用现有 `/content/inject`、`/content/verify`、`/content/resolve` 后端能力;OTT 端 SDK 接入需 Android TV/OTT 真实终端环境,标注需外部环境
|
||||
|
||||
- [ ] **A.2 OTT 播放器抽检 SDK**
|
||||
- [ ] **A.2 OTT 播放器抽检 SDK**(端侧)
|
||||
- 目标:Android TV/OTT 播放器集成片段哈希抽检
|
||||
- 对应:需求8
|
||||
- 验收:大屏端按集抽检;异常切源
|
||||
- 依赖:A.1
|
||||
- 说明:后端抽检接口 `/terminal/verify-segment` 已于二期实现;播放器 SDK 集成需真实终端,标注需外部环境
|
||||
|
||||
### 工作包 B:移动端接入
|
||||
|
||||
- [ ] **B.1 手机 APP / 小程序接入**
|
||||
- [ ] **B.1 手机 APP / 小程序接入**(端侧)
|
||||
- 目标:移动端内容分发接入 MA+哈希校验
|
||||
- 对应:需求4、需求7、需求19-AC4
|
||||
- 验收:移动端播放前校验;统一鉴权
|
||||
- 依赖:三期
|
||||
- 说明:复用统一鉴权与 `/content/verify`/`/content/resolve`;RN/小程序壳接入需移动端环境,标注需外部环境
|
||||
|
||||
- [ ] **B.2 扫码验真**
|
||||
- [x] **B.2 扫码验真**(后端已实现)
|
||||
- 目标:用户扫码验证内容 MA 码真伪与流通状态
|
||||
- 对应:需求4、需求10
|
||||
- 验收:扫码返回 MA 解析+合规状态;防盗版
|
||||
- 依赖:B.1
|
||||
- 实现:`service.ScanVerify` + `POST /content/scan-verify`;返回真伪(authentic)/合规(compliant)/流通状态/跨屏可用屏;伪造或未登记码判为非真,下架码判为不合规
|
||||
|
||||
### 工作包 C:大小屏身份互通
|
||||
|
||||
- [ ] **C.1 MA 跨域解析网关**
|
||||
- [x] **C.1 MA 跨域解析网关**(后端已实现)
|
||||
- 目标:同一 MA 码在 IPTV/OTT/APP 统一解析
|
||||
- 对应:需求4、需求10
|
||||
- 验收:跨屏解析结果一致;统一流通状态
|
||||
- 依赖:A.1、B.1
|
||||
- 实现:`service.Resolve` + `GET /content/resolve`;六段式 MA 码解析(含集级子标识 #Exx)+ 链上流通状态 + 跨屏可用性,统一解析入口
|
||||
|
||||
- [ ] **C.2 跨屏内容身份互通**
|
||||
- [x] **C.2 跨屏内容身份互通**(后端已实现)
|
||||
- 目标:同一内容跨屏共享 MA 码与哈希身份
|
||||
- 对应:PRD 四期目标
|
||||
- 验收:电视/手机/OTT 同内容同身份
|
||||
- 依赖:C.1
|
||||
- 实现:Resolve/ScanVerify 对同一 MA 码在 iptv/ott/app 返回一致解析与同一哈希身份;流通内容统一返回全部屏类型(AllScreens)
|
||||
|
||||
### 工作包 D:跨屏权益通兑
|
||||
|
||||
- [ ] **D.1 跨屏权益子链**
|
||||
- [x] **D.1 跨屏权益子链**(后端已实现)
|
||||
- 目标:用户在电视端购买,手机端通看(权益记录上链)
|
||||
- 对应:需求21(衔接权益)
|
||||
- 验收:跨屏权益验证通过;不重复付费
|
||||
- 依赖:C.2
|
||||
- 实现:`service.RecordPurchase` + `service.VerifyCrossScreenRights`,接口 `POST /rights/purchase`、`POST /rights/verify`;以 MA 码为维度记录购买,任一屏购买即全屏通看,重复购买幂等不重复扣费;权益归一到整剧 MA 码(集级子标识共享)。权益记录上链需真实链环境,当前为服务端权益账户实现
|
||||
|
||||
### 工作包 E:移动端内容凭证(衔接 AVCC/C2PA)
|
||||
|
||||
- [ ] **E.1 移动端内容凭证 SDK**
|
||||
- [ ] **E.1 移动端内容凭证 SDK**(端侧/衔接 AVCC)
|
||||
- 目标:移动端生成/验证 C2PA 类内容凭证(含 MA 标识片段)
|
||||
- 对应:需求19-AC4(可扩展)
|
||||
- 验收:移动生成内容携带凭证;跨端可验
|
||||
- 依赖:B.1
|
||||
- 说明:依赖 C2PA 类水印 SDK 与移动端环境,衔接 AVCC 体系,标注需外部环境
|
||||
|
||||
---
|
||||
|
||||
## 四、四期里程碑
|
||||
|
||||
- [ ] M15:OTT 端接入(工作包 A)
|
||||
- [ ] M16:移动端接入 + 扫码验真(工作包 B)
|
||||
- [ ] M17:大小屏身份互通 + 跨域解析(工作包 C)
|
||||
- [ ] M18:跨屏权益通兑 + 移动内容凭证(工作包 D、E);四期验收
|
||||
- [ ] M15:OTT 端接入(工作包 A)— 端侧待真实环境;后端解析/校验能力已就绪
|
||||
- [x] M16:移动端接入 + 扫码验真(工作包 B)— 扫码验真后端完成;移动壳接入待端侧环境
|
||||
- [x] M17:大小屏身份互通 + 跨域解析(工作包 C)— 跨域解析网关 + 身份互通后端完成
|
||||
- [x] M18:跨屏权益通兑(工作包 D)后端完成;移动内容凭证(E)待端侧/C2PA SDK
|
||||
|
||||
---
|
||||
|
||||
## 五、四期验收标准
|
||||
## 五、四期进度记录(后端可代码部分)
|
||||
|
||||
> 分支 `feature/phase4`,完成后 `git merge --no-ff` 回 main。
|
||||
|
||||
| 项 | 状态 | 实现 |
|
||||
|----|------|------|
|
||||
| C.1 跨域解析网关 | ✅ 已完成 | `service.Resolve` / `GET /content/resolve` |
|
||||
| C.2 大小屏身份互通 | ✅ 已完成 | 同一 MA 码跨 iptv/ott/app 一致解析与哈希身份 |
|
||||
| B.2 扫码验真 | ✅ 已完成 | `service.ScanVerify` / `POST /content/scan-verify` |
|
||||
| D.1 跨屏权益通兑 | ✅ 已完成 | `service.RecordPurchase` / `VerifyCrossScreenRights`,`POST /rights/purchase`、`/rights/verify` |
|
||||
| A.1/A.2 OTT 端接入 | ⏸ 需外部环境 | 复用后端 inject/verify/resolve/terminal 抽检;端侧 SDK 待真实终端 |
|
||||
| B.1 移动端壳接入 | ⏸ 需外部环境 | 复用统一鉴权与后端校验;RN/小程序待移动端环境 |
|
||||
| E.1 移动内容凭证 | ⏸ 需外部环境 | 依赖 C2PA 类水印 SDK,衔接 AVCC 体系 |
|
||||
|
||||
**新增代码**:
|
||||
- `internal/model/rights.go`:ScreenType、ParsedMA、ResolveResult、ScanVerifyResult、UserRights、PurchaseRecord、CrossScreenRightsResult
|
||||
- `internal/service/phase4.go`:ParseMACode、Resolve、ScanVerify、RecordPurchase、VerifyCrossScreenRights
|
||||
- `internal/api/handlers.go`:4 个端点 + 路由注册
|
||||
- `internal/service/phase4_test.go`:18 个单测,全绿
|
||||
|
||||
**核心规则**:
|
||||
- 同一 MA 码(含集级子标识 `#Exx`)跨大小屏统一解析,流通中内容对全部屏(iptv/ott/app)可用
|
||||
- 扫码验真:链上存在且结构合法→真码;仅 `published` 状态判为合规流通;下架码为真但不合规
|
||||
- 跨屏权益:任一屏购买即全屏通看,重复购买幂等不重复扣费,权益归一到整剧 MA 码
|
||||
|
||||
---
|
||||
|
||||
## 六、四期验收标准
|
||||
|
||||
- OTT、手机 APP 接入 MA+哈希校验,大小屏内容身份互通
|
||||
- 同一 MA 码跨 IPTV/OTT/APP 统一解析,流通状态一致
|
||||
|
||||
Reference in New Issue
Block a user