import { NextResponse } from "next/server"; import { auth } from "@/app/(auth)/auth"; import { getTripoProviderConfig } from "@/lib/tripo/server"; import { TripoApiError, tripoRequest } from "@/lib/tripo/client"; export const runtime = "nodejs"; export const maxDuration = 30; export async function GET() { try { const session = await auth(); if (!session?.user?.id) { return NextResponse.json({ success: false, error: "未登录" }, { status: 401 }); } const config = await getTripoProviderConfig(); const result = await tripoRequest>(config, { method: "GET", path: "/user/balance", }); return NextResponse.json({ success: true, data: result.data, traceId: result.traceId, }); } catch (error) { if (error instanceof TripoApiError) { return NextResponse.json( { success: false, error: error.message, code: error.code, suggestion: error.suggestion, traceId: error.traceId, }, { status: error.httpStatus || 502 } ); } return NextResponse.json( { success: false, error: error instanceof Error ? error.message : "查询余额失败", }, { status: 500 } ); } }