diff --git a/tcs-iptv/scripts/seed_demo.sh b/tcs-iptv/scripts/seed_demo.sh index f860fe5..d7337fb 100644 --- a/tcs-iptv/scripts/seed_demo.sh +++ b/tcs-iptv/scripts/seed_demo.sh @@ -21,12 +21,24 @@ call() { # key secret method path body } field() { echo "$1" | sed -n "s/.*\"$2\":\"\([^\"]*\)\".*/\1/p"; } -# 一条内容完整流转:title category fhash cp_id cp_name op_id op_name cdn +# episodes_json base_hash count → 构造分集哈希数组(一剧一码 + 集级独立哈希) +episodes_json() { + local fh="$1" n="${2:-6}" i out="" + for i in $(seq 1 "$n"); do + [ -n "$out" ] && out="$out," + out="$out{\"episode\":$i,\"file_sha256\":\"$fh-E$i\",\"merkle_root\":\"mr-$fh-E$i\",\"perceptual_hash\":\"ph-$fh-E$i\",\"resolution\":\"1080p\",\"duration\":2400}" + done + echo "[$out]" +} + +# 一条内容完整流转:title category fhash cp_id cp_name op_id op_name cdn [episodes] flow() { local title="$1" cat="$2" fh="$3" cpid="$4" cpname="$5" opid="$6" opname="$7" cdn="$8" - echo ">>> [$title] CP=$cpname" + local n="${9:-6}" + echo ">>> [$title] CP=$cpname ($n 集,每集独立哈希)" + local eps; eps=$(episodes_json "$fh" "$n") 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\"}") + "{\"title\":\"$title\",\"episode_count\":$n,\"category\":\"$cat\",\"file_sha256\":\"$fh\",\"merkle_root\":\"mr-$fh\",\"perceptual_hash\":\"ph-$fh\",\"episodes\":$eps,\"cp_media_id\":\"$cpid\",\"cp_name\":\"$cpname\"}") local rid ctid; rid=$(field "$reg" review_id); ctid=$(field "$reg" content_twin_id) # CSPS 合规审核(发码前)