2026-04-22 16:53:06 +08:00

63 lines
1.5 KiB
TypeScript

import { NextRequest, NextResponse } from 'next/server'
import { getServerSession } from 'next-auth'
import { authOptions } from '@/lib/auth'
import { fetchTaobaoDetailPlus, TaobaoDetailPlusError } from '@/lib/taobao-detail-plus'
export async function GET(request: NextRequest) {
try {
const session = await getServerSession(authOptions)
if (!session) {
return NextResponse.json(
{
success: false,
error: {
code: 'UNAUTHORIZED',
message: '请先登录后再查询商品',
},
},
{ status: 401 },
)
}
const itemId = request.nextUrl.searchParams.get('itemId')
const data = await fetchTaobaoDetailPlus(itemId)
return NextResponse.json(
{
success: true,
data,
},
{
headers: {
'Cache-Control': 'no-store, no-cache, must-revalidate',
},
},
)
} catch (error) {
if (error instanceof TaobaoDetailPlusError) {
return NextResponse.json(
{
success: false,
error: {
code: error.code,
message: error.message,
},
},
{ status: error.status },
)
}
console.error('[api/taobao-detail-plus] GET error:', error)
return NextResponse.json(
{
success: false,
error: {
code: 'SERVER_ERROR',
message: '淘宝商品查询失败,请稍后再试',
},
},
{ status: 500 },
)
}
}