Files
scan-sfera/test-image-urls.js
2025-08-09 07:34:49 +03:00

59 lines
2.3 KiB
JavaScript

// Тест формирования 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);