Перенос фото автомобилей: как сохранить порядок и обложку

Как отделить порядок галереи от обложки при переносе каталога. Проверка позиций, повторов и двух способов передачи главного фото на учебном списке.

5 мин чтенияРедакция A777AA
Обложка photo_1.jpg выбрана отдельно. Режим separate сохраняет порядок photo_2, photo_1, photo_10 по позициям 10, 20, 30. Режим first ставит photo_1 первой, затем оставляет photo_2 и photo_10.
Правило обложки согласуют с принимающей системой. Перемещение её на первое место — явное преобразование, а не тот же исходный порядок. Открыть схему крупнее

После переноса каталога у машины на первом экране появился снимок багажника. Все фотографии на месте, но их порядок изменился, а выбранная менеджером обложка потерялась. Проверка «перенеслось десять файлов» такой ошибки не обнаружит: количество, последовательность и главное изображение — разные свойства галереи.

Что передавать вместе с каждым снимком

Минимальная учебная запись содержит идентификатор автомобиля, имя файла, числовую позицию и отдельную отметку обложки. Номер позиции не обязан совпадать с числом внутри имени. А имя файла само по себе не объясняет, что на фотографии: общий вид, салон, дефект или документ.

Одинаковые имена в папках разных автомобилей допустимы в модели, поскольку привязка задаётся ID машины. Но если при реальном переносе все папки смешать в одну, это уже потребует отдельного разрешения конфликтов. Инструмент не видит папок и не проверяет, какое изображение фактически принадлежит автомобилю.

Учебный CAR-A: строковое имя, явная позиция и обложка не совпадают
ФайлМесто при строковой сортировкеЗаданная позицияОбложкаМесто в галерее по позиции
photo_1.jpg120Да2
photo_10.jpg230Нет3
photo_2.jpg310Нет1

Почему имя photo_10 может оказаться раньше photo_2

Обычное сравнение строк не обязано распознавать числа внутри имени файла. В JavaScript стандартная сортировка массива без функции сравнения использует строковый порядок. В этом учебном наборе последовательность получится photo_1, photo_10, photo_2. Это не ошибка самих снимков, а следствие выбранного способа сортировки.

«Естественная» сортировка с распознаванием чисел тоже не восстанавливает намерение менеджера. Он мог поставить второй снятый кадр на первое место, а обложкой выбрать другой. Надёжнее передавать сохранённую позицию, чем угадывать порядок по имени, времени копирования или номеру, присвоенному телефоном.

Выберите один из двух способов описания обложки

Отдельное поле
Галерея сохраняет числовые позиции. Имя обложки передаётся отдельно, поэтому главным может быть второй снимок галереи.
Первый элемент галереи
Выбранная обложка ставится первой. Остальные фотографии идут по числовой позиции, сохраняя взаимный порядок.

Для CAR-A первый способ оставляет photo_2, photo_1, photo_10 с отдельной обложкой photo_1. Второй даёт photo_1, photo_2, photo_10. Это осознанное преобразование, которое нужно согласовать с принимающей системой. Нельзя считать оба массива одинаковым сохранением исходной последовательности.

{"car_id":"CAR-A","cover":"photo_1.jpg","photos":["photo_2.jpg","photo_1.jpg","photo_10.jpg"]}

Этот объект показывает формат учебного манифеста в режиме separate. Он не является запросом API A777AA. Назначение отчёта — зафиксировать ожидаемое соответствие, с которым можно сверять реальный перенос, а не отправить эти поля прямо в рабочую систему.

Какие конфликты нельзя исправлять случайным выбором

  • Две фотографии одной машины имеют одну позицию: сначала нужно определить желаемую последовательность.
  • Отмечены две обложки: нельзя незаметно брать первую строку.
  • Не отмечена ни одна обложка: отсутствие выбора нужно согласовать, а не маскировать автоподстановкой.
  • Один файл одной машины повторён: нужно выяснить причину повтора, прежде чем сокращать список.

Инструмент выводит такие замечания по каждой машине. Пока хотя бы одна группа не проходит эти структурные правила, общий манифест не формируется. При этом порядок для просмотра остаётся доступным, чтобы можно было найти проблему. Никакие строки не удаляются из исходного списка автоматически.

Если файлы отличаются только регистром

photo.jpg и PHOTO.jpg сохраняются как разные имена. Отдельное предупреждение предлагает проверить их разрешение в реальном хранилище. Сливать такие записи без проверки нельзя: инструмент не знает файловую систему, способ хранения и содержимое снимков. Различия Unicode-нормализации также не исправляются.

Проверьте результат на двух автомобилях

Для тестового переноса возьмите машину с обычными именами и другую с номерами 1, 2, 10. Убедитесь, что порядок и обложка сохраняются после загрузки, повторного открытия карточки и публикации. Отдельно проверьте, как система ведёт себя при повторной передаче того же набора и удалении одного снимка.

Сравнивайте не только карточку в CRM, но и публичную витрину: у них могут отличаться представление и обновление изображений. Если внешняя площадка использует первый снимок как главный, её адаптер должен явно учитывать это правило. Учебная форма не подтверждает требования какой-либо площадки.

В материалах A777AA уже рассмотрено содержание хорошего объявления и связь витрины со складом. Перед реальной миграцией дополните этот процесс ожидаемым списком фотографий для каждой машины и правилом обложки. Возможность автоматического импорта именно такого медиаманифеста в A777AA здесь не заявляется: маршрут и формат принимающей системы нужно проверить отдельно.

Проверить порядок фотографий и подготовить учебный манифест

Свой учебный формат, не API A777AA. Порядок — числовые позиции, не имя файла; ровно одна обложка на машину. Имена файлов чувствительны к регистру, без каталогов и разделителя ;. Не читает изображения, не отправляет запросы, не проверяет содержимое или возможность импорта. При конфликте группы общий манифест не выдаётся. Расчёт выполняется на вашем устройстве, введённые данные никуда не отправляются.

Источники и проверка

Журнал A777AAВсе статьи

Сильный автосалон начинается с порядка

Создайте компанию, добавьте первый автомобиль и проведите продажу в одном пространстве.