From 4f4e126e6110a2dd8ebb11a774aacfea23743c5b Mon Sep 17 00:00:00 2001 From: maogeigei Date: Thu, 3 Sep 2026 15:30:33 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5AI=E8=84=9A=E6=9C=AC=E5=8D=A1?= =?UTF-8?q?=E7=89=87=E5=8F=B3=E4=B8=8B=E8=A7=92=E6=98=BE=E7=A4=BA=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E8=AF=84=E5=88=86=EF=BC=9AlistRecentScripts=20?= =?UTF-8?q?=E5=85=B3=E8=81=94=E6=9C=80=E6=96=B0=20AI=20=E5=A4=8D=E7=9B=98?= =?UTF-8?q?=E6=80=BB=E5=88=86=EF=BC=8C=E6=97=A0=E8=AF=84=E5=88=86=E4=B8=8D?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=BE=BD=E7=AB=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project/短视频脚本创作/V1.0/mcn-work-shop/dsh-data.js | 9 +++++++-- .../短视频脚本创作/V1.0/mcn-work-shop/public/app.js | 11 ++++++++++- .../V1.0/mcn-work-shop/public/index.html | 6 +++--- .../V1.0/mcn-work-shop/public/style.css | 4 +++- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/project/短视频脚本创作/V1.0/mcn-work-shop/dsh-data.js b/project/短视频脚本创作/V1.0/mcn-work-shop/dsh-data.js index 904e4fd..291b8df 100644 --- a/project/短视频脚本创作/V1.0/mcn-work-shop/dsh-data.js +++ b/project/短视频脚本创作/V1.0/mcn-work-shop/dsh-data.js @@ -311,13 +311,18 @@ function getStats() { }; } -// 最近 AI 写剧本(首页快捷卡片):status=done 且有内容,按 id 倒序取前 N 条 +// 最近 AI 写剧本(首页快捷卡片):status=done 且有内容,按 id 倒序取前 N 条; +// score = 该脚本最新一条已完成 AI 复盘(script_review type='ai')的总分,无复盘则为 null function listRecentScripts(limit = 4) { const d = getDb(); if (!d) return []; const n = Math.max(1, Math.min(Number(limit) || 4, 20)); return d.prepare(` SELECT r.id, r.title, r.script_text, r.created_time, r.video_id, r.account_id, - h.account_name, v.video_title + h.account_name, v.video_title, + (SELECT sr.total FROM script_review sr + WHERE sr.type='ai' AND sr.rewrite_id = r.id AND sr.status='done' + AND sr.total IS NOT NULL AND sr.total <> '' + ORDER BY sr.id DESC LIMIT 1) AS score FROM rewrite_log r LEFT JOIN hot_accounts h ON h.id = r.account_id LEFT JOIN account_videos v ON v.id = r.video_id diff --git a/project/短视频脚本创作/V1.0/mcn-work-shop/public/app.js b/project/短视频脚本创作/V1.0/mcn-work-shop/public/app.js index 38683da..7cdaa3d 100644 --- a/project/短视频脚本创作/V1.0/mcn-work-shop/public/app.js +++ b/project/短视频脚本创作/V1.0/mcn-work-shop/public/app.js @@ -424,15 +424,24 @@ async function loadRecentScripts() { const items = (d.items || []); if (!items.length) { el.innerHTML = '暂无 AI 写剧本'; return; } _recentScriptsCache = {}; + // 评分徽章配色与诊断页一致:≥75 绿 / ≥60 橙 / <60 红 + const scoreColor = (v) => (v >= 75 ? '#3a9e6d' : v >= 60 ? '#d99a2b' : '#d9534f'); el.innerHTML = items.map((s) => { _recentScriptsCache[s.id] = s; const title = cleanTitle(s.title || s.video_title) || '未命名剧本'; const meta = [s.account_name, s.created_time ? fmtDate(s.created_time) : ''].filter(Boolean).join(' | '); const preview = previewLines(s.script_text, 5); + // 有 AI 复盘评分 → 卡片右下角徽章;无评分不显示 + const sc = Number(s.score); + const scoreBadge = (s.score !== null && s.score !== undefined && s.score !== '' && Number.isFinite(sc)) + ? `评分 ${sc % 1 === 0 ? sc : sc.toFixed(1)}` : ''; return ``; }).join(''); el.querySelectorAll('.recent-card').forEach((b) => b.addEventListener('click', () => { diff --git a/project/短视频脚本创作/V1.0/mcn-work-shop/public/index.html b/project/短视频脚本创作/V1.0/mcn-work-shop/public/index.html index 467b5d3..87d612f 100644 --- a/project/短视频脚本创作/V1.0/mcn-work-shop/public/index.html +++ b/project/短视频脚本创作/V1.0/mcn-work-shop/public/index.html @@ -4,7 +4,7 @@ MCN工作台 - + @@ -41,7 +41,7 @@ - - + + diff --git a/project/短视频脚本创作/V1.0/mcn-work-shop/public/style.css b/project/短视频脚本创作/V1.0/mcn-work-shop/public/style.css index 766648d..629b4b5 100644 --- a/project/短视频脚本创作/V1.0/mcn-work-shop/public/style.css +++ b/project/短视频脚本创作/V1.0/mcn-work-shop/public/style.css @@ -626,7 +626,9 @@ td.td-title { max-width: 240px; } .recent-card-title { font-size: 15px; font-weight: 600; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; display: flex; align-items: center; gap: 6px; } .recent-card-preview { width: 100%; display: flex; flex-direction: column; gap: 2px; } .recent-preview-line { display: block; font-size: 14px; color: #57606a; line-height: 1.55; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; } -.recent-card-meta { font-size: 14px; color: var(--dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; margin-top: auto; } +.recent-card-foot { width: 100%; margin-top: auto; display: flex; align-items: center; gap: 8px; } +.recent-card-meta { font-size: 14px; color: var(--dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; min-width: 0; } +.recent-card-score { flex: none; font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 10px; line-height: 1.5; } .recent-meta { font-size: 14px; color: var(--dim); margin-bottom: 12px; } /* ================= 扁平化向量图标 ================= */