Files
wzdj/app/api/games/route.ts

28 lines
1.0 KiB
TypeScript

/**
* 游戏列表 API - 从 MongoDB 读取,供前端调用
* 示例:后端通过 getCollection 访问 wanzhi_esports 库
*/
import { NextResponse } from "next/server"
import { getCollection } from "@/lib/db/mongo"
export async function GET() {
try {
const coll = await getCollection<{ name: string; shortName: string; category: string; status: string; sortOrder: number }>("games")
const list = await coll.find({ status: "active" }).sort({ sortOrder: 1 }).limit(50).toArray()
const data = list.map((doc) => ({
id: (doc as { _id?: unknown })._id?.toString(),
name: doc.name,
shortName: doc.shortName,
category: doc.category,
status: doc.status,
sortOrder: doc.sortOrder,
}))
return NextResponse.json({ success: true, data })
} catch (e) {
const err = e instanceof Error ? e : new Error(String(e))
console.error("GET /api/games error:", err.message)
return NextResponse.json({ success: false, message: "数据库未连接或未初始化" }, { status: 500 })
}
}