全项目扫描修复: Docker数据卷修复+安全requireAdmin+12页SEO+API白名单+脚本超时+常量提取+假数据删除

This commit is contained in:
ZhuiGuangAI Dev
2026-06-12 17:27:47 +08:00
parent 464924aea0
commit 4c325c8699
454 changed files with 33647 additions and 980 deletions
+45
View File
@@ -0,0 +1,45 @@
import { PrismaClient } from "@prisma/client";
import { PrismaMariaDb } from "@prisma/adapter-mariadb";
import "dotenv/config";
const base = process.env.DATABASE_URL.replace("mysql://", "mariadb://");
const cs = base + (base.includes("?") ? "&" : "?") + "connection_limit=5";
const prisma = new PrismaClient({ adapter: new PrismaMariaDb(cs) });
// 模拟API的查询
const allTopLevel = await prisma.forumCategory.findMany({
where: { parentId: null },
include: {
children: {
orderBy: [{ sortOrder: "asc" }],
},
},
orderBy: [{ sortOrder: "asc" }, { createdAt: "desc" }],
});
console.log("=== API查询结果 (parentId=null + children) ===");
for (const cat of allTopLevel) {
console.log(`\n[${cat.slug}] ${cat.name} topicCount=${cat.topicCount}`);
for (const child of cat.children) {
console.log(` └─ [${child.slug}] ${child.name} topicCount=${child.topicCount} (子板块数: ?)`);
}
}
// 看看community页面查询的industry
console.log("\n\n=== industry板块 children话题统计 ===");
const industry = await prisma.forumCategory.findUnique({
where: { slug: "industry" },
include: { children: true }
});
if (industry) {
for (const c of industry.children) {
const subCount = await prisma.forumCategory.count({ where: { parentId: c.id } });
const subWithTopic = await prisma.forumCategory.findMany({ where: { parentId: c.id }, select: { name: true, topicCount: true } });
console.log(` ${c.name} (${c.slug}) 子板块数=${subCount}:`);
for (const s of subWithTopic) {
console.log(` - ${s.name}: ${s.topicCount}`);
}
}
}
await prisma.$disconnect();