feat(账号分析+工作台): 功能三自动联动生成设定卡+双向联动维护+玫瑰金配色定稿+首页数据预览/周榜优化+CDP验证脚本
- mcn-dou-analysis: 功能三产出设定后自动生成设定卡(Step7); 设定md与卡片SVG双向联动维护规则固化(06文档+03文档+SKILL.md); 浅色系配色定稿玫瑰金(#D6A3A9→#9A5563)+背景文字提亮规则; 新增06生成账号设定卡片文档+模板样例 - mcn-work-shop: 首页数据预览条/周榜预览表加宽/改名AI脚本诊断/tab切换/添加账号弹窗等优化 - 新增 cdp-*.mjs 验证脚本14个(可复用); .gitignore 忽略运行日志/截图/tmp
This commit is contained in:
1 parent
96fce56fba
commit
53621279a5
35 files changed
+2567
-117
No files matched your search
@@ -225,12 +225,22 @@ function getReviewFull(rewriteId) {
|
||||
function getStats() {
|
||||
const d = getDb(); if (!d) return null;
|
||||
const c = (sql) => d.prepare(sql).get().c;
|
||||
// AI写作复盘 = 已完成的 AI 脚本复盘数(script_review type='ai')
|
||||
let reviews = 0;
|
||||
try { reviews = c(`SELECT COUNT(*) c FROM script_review WHERE type='ai' AND status='done'`); } catch (e) { /* 统计失败不影响其他 */ }
|
||||
// AI写作评分 = 最新 20 条 AI 复盘总分的平均(保留 1 位小数;无评分返回 null)
|
||||
let writingScore = null;
|
||||
try {
|
||||
const rows = d.prepare(`SELECT total FROM script_review WHERE type='ai' AND status='done' AND total IS NOT NULL AND total <> '' ORDER BY updated_time DESC, id DESC LIMIT 20`).all();
|
||||
const nums = rows.map((r) => Number(r.total)).filter((v) => Number.isFinite(v));
|
||||
if (nums.length > 0) writingScore = Math.round((nums.reduce((s, v) => s + v, 0) / nums.length) * 10) / 10;
|
||||
} catch (e) { /* 评分统计失败不影响其他统计 */ }
|
||||
return {
|
||||
accounts: c(`SELECT COUNT(*) c FROM hot_accounts WHERE del_flag=0`),
|
||||
analyses: c(`SELECT COUNT(*) c FROM account_video_analysis`),
|
||||
rewrites: c(`SELECT COUNT(*) c FROM rewrite_log WHERE status='done' AND script_text IS NOT NULL AND script_text <> ''`),
|
||||
reviews: c(`SELECT COUNT(*) c FROM script_review WHERE status='done'`),
|
||||
writingScore: c(`SELECT COUNT(*) c FROM script_review WHERE type='ai' AND status='done'`),
|
||||
reviews,
|
||||
writingScore,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user