// Тест формирования URL изображений для разных артикулов function getImageUrl(article) { const articleNum = parseInt(article); const vol = Math.floor(articleNum / 100000); const part = Math.floor(articleNum / 1000); // Определяем номер корзины в зависимости от диапазона артикула let basketNum; if (articleNum < 14400000) { basketNum = vol.toString().padStart(2, '0'); } else if (articleNum < 32800000) { basketNum = (Math.floor(vol / 100) + 1).toString().padStart(2, '0'); } else if (articleNum < 72000000) { basketNum = (Math.floor(vol / 100) + 2).toString().padStart(2, '0'); } else if (articleNum < 166400000) { basketNum = (Math.floor(vol / 100) + 3).toString().padStart(2, '0'); } else { basketNum = (Math.floor(vol / 100) + 4).toString().padStart(2, '0'); } const imageUrl = `https://basket-${basketNum}.wbbasket.ru/vol${vol}/part${part}/${article}/images/c516x688/1.webp`; return { article, articleNum, vol, part, basketNum, imageUrl }; } // Тестируем артикулы из логов const testArticles = [ '240122176', // vol: 2401, basket: ? '466992246', // vol: 4669, basket: ? '281810311', // vol: 2818, basket: ? '221321827', // vol: 2213, basket: ? ]; console.log('Тестирование формирования URL изображений:\n'); testArticles.forEach(article => { const result = getImageUrl(article); console.log(`Артикул: ${result.article}`); console.log(` Vol: ${result.vol}, Part: ${result.part}, Basket: ${result.basketNum}`); console.log(` URL: ${result.imageUrl}`); console.log(''); }); // Проверяем корректность URL для артикула 240122176 // Из логов видно, что изображение должно быть на basket-2401 const expected240 = 'https://basket-2401.wbbasket.ru/vol2401/part240122/240122176/images/c516x688/1.webp'; const actual240 = getImageUrl('240122176'); console.log('Проверка артикула 240122176:'); console.log('Ожидается:', expected240); console.log('Получено:', actual240.imageUrl); console.log('Совпадает:', expected240 === actual240.imageUrl);