import fetch from 'node-fetch';
export default async function handler(req, res) {
try {
// 1. Генерируем случайную страницу от 1 до 30
const randomPage = Math.floor(Math.random() * 30) + 1;
// 2. Делаем запрос к списку картинок Picsum (БЕЗ шаблонов и сложных кавычек)
const listUrl = 'https://picsum.photos' + randomPage + '&limit=30';
const listResponse = await fetch(listUrl);
if (!listResponse.ok) throw new Error('Failed to fetch image list');
const imagesList = await listResponse.json();
// 3. Выбираем абсолютно случайную картинку из полученного списка
const randomImage = imagesList[Math.floor(Math.random() * imagesList.length)];
// 4. Собираем прямую ссылку под разрешение экрана через обычный плюс
const finalImageUrl = 'https://picsum.photos' + randomImage.id + '/1080/2400';
// 5. Скачиваем картинку на стороне сервера Vercel
const imageResponse = await fetch(finalImageUrl);
if (!imageResponse.ok) throw new Error('Failed to fetch raw image bytes');
const arrayBuffer = await imageResponse.arrayBuffer();
const buffer = Buffer.from(arrayBuffer);
// 6. Отдаем чистый JPEG файл прямо в MacroDroid
res.setHeader('Content-Type', 'image/jpeg');
res.setHeader('Cache-Control', 'no-store, max-age=0, must-revalidate');
return res.status(200).send(buffer);
} catch (error) {
return res.status(500).json({
error: 'Server crashed',
message: error.message
});
}
}