Files
MAcode/tcs-iptv/scripts/seed_demo.sh
T
selfrelease a329d4906b init: AIGC-Hub/AVCC 方案文档 + TCS-IPTV 内容可信锁定系统 MVP
- 方案文档: AVCC 体系建设、IPTV TCS 需求(0-req)/PRD(1-prd)/任务(2-task)/二三四期任务
- tcs-iptv: Go 后端(哈希SDK/MA码生成/可信数据空间mock/业务编排/HTTP API+HMAC鉴权)
- web-console: React+AntD 监管大屏(角色工作台/全流程演示/监管片库)
- 一剧一码+集级哈希, 集级下架/恢复, 全栈测试通过
2026-06-14 16:50:31 +08:00

71 lines
3.5 KiB
Bash

#!/usr/bin/env bash
# 陕西 IPTV 场景演示数据:造若干条内容,跑通"送审→发码→审核→入库→发布→注入"。
#
# 参与方设定:
# 管理方(审核+监管):陕西IPTV运营公司(机构节点 6101)
# 内容提供商(CP):西安曲江丝路文化传播 / 陕文投艺达影视 / 西部电影集团(西影)
# 运营商:中国电信陕西(天翼高清) / 中国移动陕西(魔百和) / 中国联通陕西
set -e
BASE="http://localhost:8080/api/v1"
sign() { printf '%s\n%s' "$2" "$3" | openssl dgst -sha256 -hmac "$1" -binary | base64; }
call() { # key secret method path body
local key="$1" secret="$2" method="$3" path="$4" body="$5"
local sig; sig=$(sign "$secret" "$method" "/api/v1${path%%\?*}")
if [ "$method" = "GET" ]; then
curl -s -X GET "$BASE$path" -H "Authorization: TCS $key:$sig"
else
curl -s -X "$method" "$BASE$path" -H "Authorization: TCS $key:$sig" \
-H "Content-Type: application/json" -d "$body"
fi
}
field() { echo "$1" | sed -n "s/.*\"$2\":\"\([^\"]*\)\".*/\1/p"; }
# 一条内容完整流转:title category fhash cp_id cp_name op_id op_name cdn
flow() {
local title="$1" cat="$2" fh="$3" cpid="$4" cpname="$5" opid="$6" opname="$7" cdn="$8"
echo ">>> [$title] CP=$cpname"
local reg; reg=$(call ak-cp sk-cp POST /content/register \
"{\"title\":\"$title\",\"episode_count\":24,\"category\":\"$cat\",\"file_sha256\":\"$fh\",\"merkle_root\":\"mr-$fh\",\"perceptual_hash\":\"ph-$fh\",\"cp_media_id\":\"$cpid\",\"cp_name\":\"$cpname\"}")
local rid ctid; rid=$(field "$reg" review_id); ctid=$(field "$reg" content_twin_id)
# CSPS 合规审核(发码前)
call ak-reviewer sk-reviewer POST /content/csps-result \
"{\"review_id\":\"$rid\",\"approved\":true,\"reviewer_id\":\"sxiptv-审核员01\"}" >/dev/null
# 审核通过后发码签发
local iss; iss=$(call ak-regulator sk-regulator POST /content/issue \
"{\"review_id\":\"$rid\",\"issuer\":\"陕西IPTV运营公司\"}")
local ma cert; ma=$(field "$iss" ma_code); cert=$(field "$iss" certificate)
echo " MA码: $ma"
call ak-reviewer sk-reviewer POST /content/ingest \
"{\"ma_code\":\"$ma\",\"content_twin_id\":\"$ctid\",\"media_asset_id\":\"SXMEDIA-$fh\",\"lib_name\":\"陕西IPTV媒体资源库\"}" >/dev/null
call ak-reviewer sk-reviewer POST /content/publish \
"{\"ma_code\":\"$ma\",\"certificate\":\"$cert\"}" >/dev/null
local inj; inj=$(call ak-operator sk-operator POST /content/inject \
"{\"content_twin_id\":\"$ctid\",\"ma_code\":\"$ma\",\"file_sha256\":\"$fh\",\"operator_id\":\"$opid\",\"cdn_endpoint\":\"$cdn\"}")
echo " 运营商: $opname 注入: $(field "$inj" distribution_id)"
echo "$ma" >> /tmp/tcs_demo_macodes.txt
}
: > /tmp/tcs_demo_macodes.txt
flow "长安少年行" WD "fh-changan-001" \
"XAQJSL-2026-001" "西安曲江丝路文化传播有限公司" \
"CT-SX-IPTV" "中国电信陕西公司(天翼高清)" "cdn://ct-sx/iptv/vod/changan001"
flow "白鹿原·麦客" WJ "fh-bailuyuan-002" \
"SWTYD-2026-007" "陕文投艺达影视有限公司" \
"CM-SX-IPTV" "中国移动陕西公司(魔百和)" "cdn://cm-sx/iptv/vod/bailuyuan002"
flow "丝路驼铃" DY "fh-silu-003" \
"XIYING-2026-015" "西部电影集团(西影视频)" \
"CU-SX-IPTV" "中国联通陕西公司" "cdn://cu-sx/iptv/vod/silu003"
echo ""
echo "=== 已生成 MA 码(可复制到监管大屏查询)==="
cat /tmp/tcs_demo_macodes.txt
echo ""
echo "提示:在 http://localhost:5174 输入上述任一 MA 码查询全链路三方映射。"