Files
MAcode/tcs-iptv
selfrelease 468c3b5daa feat(phase2): 追更/授权链/跨省复用/终端抽检/CI(F21/F22/F13/F08/K)
- F21 追更: AddEpisodes 追加新集不重新发码; Merkle定位变更集
- F22 授权链: RecordAuthorization + CheckAuthorization(地域/平台/期限), 嵌入注入前核验
- F13 跨省复用: CrossProvinceAdmit 三重校验(MA有效+哈希一致+非黑名单)快速准入
- F08 终端抽检: TerminalVerifySegment 片段校验+断流提示
- K.1 CI: .gitlab-ci.yml(后端构建/测试/前端构建)
- 新增6个API; 16项测试通过; 二期纯代码功能全部完成
- A(真实链)/B(BFF)延后至有环境/三期, MemoryChain接口已就绪可平滑替换
2026-06-14 17:24:56 +08:00
..

TCS-IPTV 内容可信锁定系统

MA码(监管身份)+ 哈希码(技术指纹)双锚定,在 CP / 审核和监管部门 / 运营商 三方系统之上建立"可信身份映射层"。

上游文档:../0-req-IPTV.md(需求)、../1-prd-IPTV.mdPRD)、../2-task-IPTV.md(任务)

技术栈

  • 后端 / 链交互 / 哈希SDKGo 1.23 + Gin
  • 智能合约:GoChainMaker 链原生)
  • 联盟链:长安链 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