SetTouch ◾️ Адаптивный режим воспроизведения медиаконтента на дисплее покупателя

Публичное пространство

SetTouch ◾️ Адаптивный режим воспроизведения медиаконтента на дисплее покупателя

https://crystals.atlassian.net/browse/SRTB-9749

https://crystals.atlassian.net/browse/CR-13282

10.4.19.0

Функциональность реализована только для кассы SetTouch.

Описание

Адаптивный режим обеспечивает непрерывное воспроизведение медиаконтента (изображений и видео) на дисплее покупателя при переключении режимов работы кассы.

Для оперативного обновления медиаконтента управление плейлистом может осуществляться с помощью конфигурационного файла на кассе, без необходимости внесения изменений в базу данных.

Ценность

Функциональность обеспечивает бесперебойный, управляемый и профессиональный показ медиаконтента для покупателей.

Особенности работы

  • Непрерывное воспроизведение смешанного контента

    • Система проигрывает единый плейлист, содержащий как изображения, так и видеофайлы.

    • После окончания последнего файла воспроизведение автоматически начинается с начала, обеспечивая непрерывный показ.

  • Автоматическая адаптация под режим работы кассы

    • Плейлист работает в двух режимах, которые зависят от состояния кассы:

      • Режим простоя: Касса заблокирована или смена закрыта. Контент показывается на весь экран.

      • Режим торговли: На кассе авторизован кассовый пользователь и открыта смена. Контент показывается в оставшейся области экрана (рядом с чеком).

        • Если чек еще не начат, в чековой области отображается окно ожидания товаров.

    • При переключении режимов воспроизведение не сбрасывается и не перезапускается, а продолжается с того же момента.

  • Гибкое управление порядком воспроизведения

    • Приоритетным способом задания последовательности является использование конфигурационного файла.

    • Если он отсутствует, пуст или содержит ошибки, система автоматически переходит к воспроизведению файлов в алфавитном порядке.

  • Порядок обновления контента по расписанию

    • Касса регулярно, согласно заданному расписанию (настройка adaptive.mode.check.interval в базе данных), проверяет наличие конфигурационного файла.

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

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

  • Стабильная работа при удалении файлов

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

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

Пример работы

  • В папке /crystal-cash/web/ располагается файл плейлиста playlistConfig.json:

{ "delayImg": 5000, "content": [ "ImgFileName_1.jpg", "VideoFileName_01.mp4", "VideoFileName_02.mp4", "ImgFileName_2.jpg" ] }
  • На кассу в /media загружены медиафайлы:

    • Изображение 1 - "ImgFileName_1.jpg",

    • Видео 1 - "VideoFileName_01.mp4" ,

    • Видео 2 - "VideoFileName_02.mp4"

    • Изображение 2 - "ImgFileName_2.jpg"

  • Заданы настройки в SMP

    • 'check.interval.display.mode' - 20

    • 'delay.images.display.mode' - 6000

 

  1. Кассир включает кассу

  2. Касса находится в режиме ожидания

  3. На кассе на дисплее покупателя отображается Изображение 1.

image-20251016-205030.png
  1. По истечении 5 секунд Изображение 1 сменяется на Видео 1.

image-20251016-205151.png
  1. Касса каждые 20 минут производит проверку плейлиста на факт изменения.

  2. Кассир авторизуется на кассе.

  3. Касса переходит в режим продажи

    1. Касса не прерывает произведение Видео 1 на дисплее покупателя.

    2. Касса адаптирует Видео 1 под оставшуюся часть дисплея, не занятую чеком.

    3. Сбоку отображается пустой чек с информацией: “Здесь появится список покупок”.

image-20251016-205318.png
  1. По завершении Видео 1 - касса начинает воспроизведение Видео 2.

image-20251016-205357.png
  1. Кассир добавляет товар в чек.

image-20251016-205513.png
  1. Кассир регистрирует чек.

image-20251016-205609.png
  1. Касса блокируется/ кассир выходит в окно авторизации.

  2. Касса возвращается в режим ожидания

    1. Касса не прерывает произведение Видео 2 на дисплее покупателя.

    2. Касса адаптирует Видео 2 под дисплей покупателя в режиме ожидания.

image-20251016-205658.png
  1. По завершении Видео 2 - касса начинает воспроизведение Изображение 2.

image-20251016-205734.png
  1. По истечении 5 секунд касса начинает воспроизведение плейлиста с начала - Изображение 2 сменяется на Изображение 1.

image-20251016-205030.png

Ограничения

  • Функциональность реализована только для кассы SetTouch.

  • Если папка с плейлистом пустая - на экране покупателя отображается белый экран.

  • Плейлист может содержать:

    • Изображения в формате JPG / PNG .

    • Видео в формате MP4.

  • Рекомендуемые разрешения медиафайлов в зависимости от размера экрана покупателя соответственно:

    • 1366x768

    • 1280x800

    • 1024х768

    • 1920х1080

  • Размер видеофайла не должен превышать 50 MB.

  • Загрузка контента осуществляется в папку на кассе /home/tc/storage/crystal-cash/web/media.

  • При включении функциональности нового режима проигрывания медиаконтента “Адаптивный режим" - касса игнорирует файлы из папок /slides и /video

Настройка

Включение адаптивного режима

В шаблоне кассы SetTouch (Кассовый модуль → Шаблоны касс) перейдите на вкладку ИНТЕРФЕЙС → в поле Режим проигрывания контента выберите из списка значение Адаптивный → кликните save_dark_90.png.

image-20250926-110755.png

Настройки в базе данных

Расположены в базе данных в таблице sales_management_properties

Параметр

Описание

Пример значения

Параметр

Описание

Пример значения

module_name = ADAPTIVE_CUSTOMER_DISPLAY

adaptive.mode.check.interval

Интервал проверки кассой конфигурационного файла (плейлиста) на наличие обновлений (в минутах).

Значение по умолчанию - 10 минут.

property_value = '10'

adaptive.mode.image.delay

Время транслирования изображения.

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

Значение по умолчанию - 5000 мс.

property_value = '5000'

module_name = CASH_CONFIG

adaptive.mode.playlist

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

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

{ "delayImg":5000, "content":[ "ImgFileName_1.jpg", "ImgFileName_2.jpg", "VideoFileName_01.mp4", "VideoFileName_02.mp4", "ImgFileName_3.jpg" ] }

 

content

Порядок воспроизведения медиафайлов

  • Указывается название файла и расширение

 

 

delayImg

Длительность воспроизведения изображения (в миллисекундах).

Является более приоритетной, чем adaptive.mode.image.delay

 

Скрипт для просмотра настроек:

SELECT * from sales_management_properties WHERE property_key like '%adaptive%';
image-20251027-084658.png

Настройка конфигурационного файла

https://crystals.atlassian.net/browse/SRTB-9930

10.4.20.0

Расположение конфигурационного файла: /home/tc/storage/crystal-cash/web/playlistConfig.json

Пример файла:

  • В первую очередь касса проверяет наличие и изменения в конфигурационном файле в директории на кассе.

  • Есть конфигурационный файл в директории отсутствует - касса проверяет его наличие и изменение в базе данных в таблице sales_management_properties (SMP).

  • Конфигурационный файл в директории на кассе приоритетнее, чем в SMP.

    • Если в директории на кассе есть конфигурационный файл и при этом в SMP произвели обновление конфигурационного файла в поле adaptive.mode.playlist - касса игнорирует это изменение.

Статьи по теме