73e22f79d2
- GovernancePanel: 监管片库详情新增'权益与治理'标签(分账/追责取证/确权举证/授权管理) - 分账面板: 播放聚合统计+CP60/平台34/服务费6分账展示 - 追责面板: 全链路存证Timeline+审播一致/篡改定位结果 - 确权面板: 证据链+谁先锁定谁有权声明 - 授权面板: 登记授权范围(地域/平台/期限)+核验 - 运营商台: 回传播放(含购买)按钮喂分账数据 - 前端build通过, HMR生效
TCS-IPTV 内容可信锁定系统
MA码(监管身份)+ 哈希码(技术指纹)双锚定,在 CP / 审核和监管部门 / 运营商 三方系统之上建立"可信身份映射层"。
上游文档:
../0-req-IPTV.md(需求)、../1-prd-IPTV.md(PRD)、../2-task-IPTV.md(任务)
技术栈
- 后端 / 链交互 / 哈希SDK:Go 1.23 + Gin
- 智能合约:Go(ChainMaker 链原生)
- 联盟链:长安链 ChainMaker 2.x(国密)
- 数据库 / 缓存:PostgreSQL 16 / Redis 7.x
- 监管大屏:React 18 + Ant Design 5 + ECharts
工程结构
tcs-iptv/
├── cmd/ # 各服务入口
│ ├── api-svc/ # 业务后端(验真/签发/映射/下架/查询)
│ ├── chain-svc/ # 链交互服务(封装 ChainMaker SDK)
│ └── hash-api/ # 哈希SDK 的 HTTP API
├── internal/ # 内部包
│ ├── hash/ # 哈希核心(SHA-256 / Merkle / 感知哈希)
│ ├── chain/ # 链客户端抽象(MVP 含 mock 实现)
│ ├── config/ # 配置加载
│ ├── httpx/ # 通用 HTTP / 鉴权中间件
│ └── model/ # 领域模型
├── contracts/ # ChainMaker Go 合约源码
│ └── tcs_registry/
├── deploy/ # 部署
│ ├── docker-compose.yml
│ └── migrations/ # 数据库迁移
├── web-console/ # 监管大屏(React)
├── Makefile
└── go.mod
快速开始
本地直接使用已安装的 PostgreSQL / Redis,无需 Docker。
# 初始化数据库(数据库 tcs_iptv 需已创建)
make migrate
# 检查依赖
make db-check # 列出已建表
make redis-check # 应返回 PONG
# 构建全部服务
make build
# 运行测试
make test
# 启动哈希 API(示例)
make run-hash
环境变量(可选,缺省适配本地):
| 变量 | 默认值 |
|---|---|
| TCS_POSTGRES_DSN | postgres://postgres@localhost:5432/tcs_iptv?sslmode=disable |
| TCS_REDIS_ADDR | localhost:6379 |
| TCS_API_ADDR | :8080 |
| TCS_CHAIN_ADDR | :8081 |
| TCS_HASH_ADDR | :8082 |
服务端口(默认)
| 服务 | 端口 |
|---|---|
| api-svc | 8080 |
| chain-svc | 8081 |
| hash-api | 8082 |
| PostgreSQL | 5432 |
| Redis | 6379 |