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 listResponse = await fetch(`https://picsum.photos{randomPage}&limit=30`);
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) {
// Если произошел глобальный сбой, возвращаем JSON с ошибкой
return res.status(500).json({
error: 'Server crashed',
message: error.message
});
}
}