require('dotenv').config(); const { PrismaClient } = require('@prisma/client'); const prisma = new PrismaClient(); async function checkSlides() { try { console.log('\n🔍 开始检查数据库中的slides数据...\n'); // 查询所有slides,检查paragraphs const slides = await prisma.nodeSlide.findMany({ take: 50, // 先查50条 orderBy: { createdAt: 'desc' }, include: { node: { select: { title: true, course: { select: { title: true } } } } } }); console.log(`📊 找到 ${slides.length} 条slides记录\n`); console.log('═'.repeat(80)); let emptyTagCount = 0; let totalParagraphs = 0; let problemSlides = []; for (const slide of slides) { const content = slide.content; if (content && content.paragraphs && Array.isArray(content.paragraphs)) { totalParagraphs += content.paragraphs.length; let hasProblem = false; const problems = []; // 检查每个paragraph content.paragraphs.forEach((para, index) => { if (!para || typeof para !== 'string') return; // 检查空标签 const hasEmptyB = para.includes(''); const hasEmptyColor = (para.includes('')) || (para.includes('')); const hasEmptySpan = para.includes(''); // 检查标签格式问题 const hasColorWithoutType = para.includes('