2026-05-25: 等级体系升级(20级)+论坛二级分类+会员空间

This commit is contained in:
ZhuiGuangAI Dev
2026-05-24 23:05:38 +08:00
parent 6c78c32157
commit 9bf3e7574a
118 changed files with 11842 additions and 3262 deletions
+5 -10
View File
@@ -1,6 +1,7 @@
import { NextResponse } from "next/server";
import { prisma } from "@/lib/prisma";
import { requireAdmin } from "@/lib/admin-auth";
import { toolImportSchema } from "@/lib/validation";
export async function POST(request: Request) {
const authError = await requireAdmin();
@@ -8,18 +9,12 @@ export async function POST(request: Request) {
try {
const body = await request.json();
const { tools, categoryId } = body as {
tools: { name: string; description?: string; websiteUrl?: string; logoUrl?: string; pricingModel?: string; pricingDetail?: string; features?: string[]; tags?: string[] }[];
categoryId: number;
};
if (!tools || !Array.isArray(tools) || tools.length === 0) {
return NextResponse.json({ error: "tools 数组不能为空" }, { status: 400 });
const parsed = toolImportSchema.safeParse(body);
if (!parsed.success) {
return NextResponse.json({ error: parsed.error.issues[0].message }, { status: 400 });
}
if (!categoryId) {
return NextResponse.json({ error: "categoryId 不能为空" }, { status: 400 });
}
const { tools, categoryId } = parsed.data;
const [existingPending, existingPublished] = await Promise.all([
prisma.pendingTool.findMany({ select: { name: true, websiteUrl: true } }),