Обновлены компоненты интерфейса для работы с карточками товаров Wildberries: добавлены новые функции для загрузки и поиска карточек, улучшен интерфейс отображения товаров и их деталей. Исправлены проблемы с отображением текста и добавлены новые поля в GraphQL для работы с API ключами. Реализована логика обработки ошибок при взаимодействии с API.
This commit is contained in:
50
src/app/api/placeholder/[...params]/route.ts
Normal file
50
src/app/api/placeholder/[...params]/route.ts
Normal file
@ -0,0 +1,50 @@
|
||||
import { NextRequest, NextResponse } from 'next/server'
|
||||
|
||||
export async function GET(
|
||||
request: NextRequest,
|
||||
{ params }: { params: Promise<{ params: string[] }> }
|
||||
) {
|
||||
try {
|
||||
const resolvedParams = await params
|
||||
const [width, height] = resolvedParams.params[0]?.split('/') || ['400', '400']
|
||||
const searchParams = request.nextUrl.searchParams
|
||||
const text = searchParams.get('text') || 'Image'
|
||||
|
||||
// Создаем простое SVG изображение
|
||||
const svg = `
|
||||
<svg width="${width}" height="${height}" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="100%" height="100%" fill="#f0f0f0"/>
|
||||
<text x="50%" y="50%" text-anchor="middle" dominant-baseline="middle"
|
||||
font-family="Arial, sans-serif" font-size="16" fill="#666">
|
||||
${text} ${width}x${height}
|
||||
</text>
|
||||
</svg>
|
||||
`
|
||||
|
||||
return new NextResponse(svg, {
|
||||
headers: {
|
||||
'Content-Type': 'image/svg+xml',
|
||||
'Cache-Control': 'public, max-age=31536000'
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
console.error('Placeholder API error:', error)
|
||||
|
||||
// Возвращаем простое SVG в случае ошибки
|
||||
const svg = `
|
||||
<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="100%" height="100%" fill="#f0f0f0"/>
|
||||
<text x="50%" y="50%" text-anchor="middle" dominant-baseline="middle"
|
||||
font-family="Arial, sans-serif" font-size="16" fill="#666">
|
||||
No Image
|
||||
</text>
|
||||
</svg>
|
||||
`
|
||||
|
||||
return new NextResponse(svg, {
|
||||
headers: {
|
||||
'Content-Type': 'image/svg+xml'
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user