feat: 更新CC码监管方案业务版文档,新增摘要、UGC专项、直播专项、存量处置、误判申诉、水印嵌入、CC码生命周期、组织保障等章节;同步macode到cccode重命名及其他代码变更

This commit is contained in:
freedakgmail
2026-07-20 22:25:40 +08:00
parent 9f1e2d0a21
commit eb4a82a877
76 changed files with 2600 additions and 2122 deletions
+16 -16
View File
@@ -14,16 +14,16 @@ const nodeLabel = {
}
// 分账面板
function SettlementPanel({ maCode }) {
function SettlementPanel({ ccCode }) {
const [sum, setSum] = useState(null)
const [st, setSt] = useState(null)
async function load() {
const s = await api.playbackSummary(maCode)
const s = await api.playbackSummary(ccCode)
setSum(s.data?.data)
const r = await api.settlement(maCode, '2026-06')
const r = await api.settlement(ccCode, '2026-06')
if (r.ok) setSt(r.data.data)
}
useEffect(() => { load() }, [maCode])
useEffect(() => { load() }, [ccCode])
if (!sum) return null
return (
<div>
@@ -49,9 +49,9 @@ function SettlementPanel({ maCode }) {
}
// 追责取证面板
function AccountabilityPanel({ maCode }) {
function AccountabilityPanel({ ccCode }) {
const [rep, setRep] = useState(null)
useEffect(() => { api.accountability(maCode).then((r) => setRep(r.data?.data)) }, [maCode])
useEffect(() => { api.accountability(ccCode).then((r) => setRep(r.data?.data)) }, [ccCode])
if (!rep) return null
return (
<div>
@@ -74,9 +74,9 @@ function AccountabilityPanel({ maCode }) {
}
// 确权举证面板
function EvidencePanel({ maCode }) {
function EvidencePanel({ ccCode }) {
const [ev, setEv] = useState(null)
useEffect(() => { api.evidence(maCode).then((r) => setEv(r.data?.data)) }, [maCode])
useEffect(() => { api.evidence(ccCode).then((r) => setEv(r.data?.data)) }, [ccCode])
if (!ev) return null
return (
<Card size="small" title="版权确权证据链">
@@ -94,7 +94,7 @@ function EvidencePanel({ maCode }) {
}
// 授权管理面板
function AuthPanel({ maCode }) {
function AuthPanel({ ccCode }) {
const [form] = Form.useForm()
const [checkResult, setCheckResult] = useState(null)
async function grant() {
@@ -102,13 +102,13 @@ function AuthPanel({ maCode }) {
const regions = v.regions ? v.regions.split(',').map((s) => s.trim()).filter(Boolean) : []
const platforms = v.platforms ? v.platforms.split(',').map((s) => s.trim()).filter(Boolean) : []
const expiry = v.expiry ? v.expiry.toISOString() : ''
const res = await api.authorize(maCode, regions, platforms, expiry)
const res = await api.authorize(ccCode, regions, platforms, expiry)
if (res.ok) message.success('授权已登记')
else message.error(res.data.message)
}
async function check() {
const v = form.getFieldsValue()
const res = await api.authCheck(maCode, v.checkRegion || '', v.checkPlatform || '')
const res = await api.authCheck(ccCode, v.checkRegion || '', v.checkPlatform || '')
setCheckResult(res.data?.data)
}
return (
@@ -134,13 +134,13 @@ function AuthPanel({ maCode }) {
)
}
export default function GovernancePanel({ maCode }) {
export default function GovernancePanel({ ccCode }) {
return (
<Tabs size="small" items={[
{ key: 'settle', label: '💰 分账', children: <SettlementPanel maCode={maCode} /> },
{ key: 'account', label: '⚖️ 追责取证', children: <AccountabilityPanel maCode={maCode} /> },
{ key: 'evidence', label: '📜 确权举证', children: <EvidencePanel maCode={maCode} /> },
{ key: 'auth', label: '🔑 授权管理', children: <AuthPanel maCode={maCode} /> },
{ key: 'settle', label: '💰 分账', children: <SettlementPanel ccCode={ccCode} /> },
{ key: 'account', label: '⚖️ 追责取证', children: <AccountabilityPanel ccCode={ccCode} /> },
{ key: 'evidence', label: '📜 确权举证', children: <EvidencePanel ccCode={ccCode} /> },
{ key: 'auth', label: '🔑 授权管理', children: <AuthPanel ccCode={ccCode} /> },
]} />
)
}