Вам нужно вывести простой контент (видео, изображение, текстовое сообщение, дни рождения) на экран (монитор, телевизор, проектор), используя в качестве плеера интернет-браузер. На данный момент приложение разработано и опубликовано как интернет-сайт в локальной сети с возможностью обновления контента без перезапуска проигрывателя (обновления сайта в браузере) в операционной системе Windows.
Настройки и информацию о контенте приложение получает от backend, используя POST и GET запросы. Для работы опубликованной версии приложения в каталоге backend находится приложение backend.exe - локальный веб-сервер, реализованный на Go и выполняющий функцию чтения файла backend\config.json и содержимого каталога content.
Возможно использования в качестве backend своего сервера, который будет обрабатывать POST, GET запросы приложения.
-
Скопируйте содержимое репозитория
Например, в каталогC:\infopanel. -
Удалите
.exampleиз следующих файлов и каталогов- Файл:
backend\config.json.example→backend\config.json - Каталог:
content.example→content
- Файл:
-
Установите необходимые зависимости
- Если у вас установлен
npm, выполните команду:npm install
- Либо распакуйте содержимое архива
node_modules.rarв текущий каталог.
- Если у вас установлен
-
Запустите локальный веб-сервер
Выполнитеbackend\backend.exe. -
Откройте локальный сайт в браузере
Для разработки и тестирования использовался Google Chrome. Запустите файлindex.html.
Для работы приложения обязательным условием является наличие backend. В случае отсутствия ответов на запросы, включается режим screensaver (часы).
Изменение настроек производится путем обновления файла backend\config.json. После его сохранения приложение через заданный интервал config_update_interval обновит значения параметров согласно внесенным изменениям.
Аналогично изменение контента производится добавлением, удалением или изменением файлов в каталоге content. Каталоги расположения контента возможно изменить в backend\config.json path_video, path_present, path_birthday, path_text, path_images. Приложение обновляет информацию о контенте после завершения отображения блока информации.
Для первичной инициализации сервера данных используются свойства server_ip, server_port объекта backend в assets\js\config\default.js, из которых составляется backend_url.
Алгоритм взаимодействия подразумевает получение данных в json-формате. В случае отсутствия ответа либо некорректного формата входных данных применяется пустое значение, то есть отсутствие информации для соответствующего запроса.
Спецификация POST-запросов:
-
backend_url\video- получение имен файлов каталогаpath_video(имена каталогов игнорируются).Пример response:
{"result":["video1.mp4","video2.mp4"]} -
backend_url\img- получение имен файлов каталогаpath_img(имена каталогов игнорируются).Пример response:
{"result":["picture1.jpg","picture2.jpg"]} -
backend_url\text- получение имен файлов каталогаpath_text(имена каталогов игнорируются).Пример response:
{"result":["message1.txt","message2.txt"]}-
backend_url\text?name=fileName- получение содержимого текстового файлаfileNameиз каталогаpath_textпострочно.Пример response:
{"result":["line1","line2"]}
-
-
backend_url\present- получение имен каталогов из каталогаpath_present(имена файлов игнорируются).Пример response:
{"result":["present1","present2"]}-
backend_url\present?path=pathName- получение имен файлов каталогаpath_present\pathNameкромеtitle.txt.Пример response:
{"result":["picture1","picture2"]} -
backend_url\present?path=pathName&title=true- получение содержимого текстового файлаpath_present\pathName\title.txtпострочно.Пример response:
{"result":["title line 1","title line 2"]}
-
-
backend_url\birthdays- получение содержимого текстового файлаpath_birthday\file_birthdayпострочно.Пример response:
{"result":["12.10:Ronald Montgomery","12.10:Jane Cooper","21.11:Stacy Adams"]} -
backend_url\birthday?day=dayNumber&month=monthNumber- получение имен только из тех строк, которые соответствуют маскеdayNumber.monthNumberтекстового файлаpath_birthday\file_birthday.Пример response:
{"result":["Ronald Montgomery","Jane Cooper"]} -
backend_url\holiday?day=dayNumber&month=monthNumber- получение имен только из тех строк, которые соответствуют маскеdayNumber.monthNumberтекстового файлаpath_holiday\file_holiday.Пример response:
{"result":["New Year"]} -
backend_url\config- получение содержимого текстового файлаbackend\config.jsonпострочно.Пример response:
{ "server_ip": "127.0.0.1", "server_port": 8084, }
Автозапуск приложения
Добавить в автозагрузку Windows файлы:
backend\backend.exe;- ярлык браузера с настроенным по-умолчанию отображением файла
index.html.
Настройки ярлыка браузера для автозапуска (полный экран, разрешение на проигрывание видео)
"C:\Program Files\Google\Chrome\Application\chrome.exe" --start-fullscreen --autoplay-policy=no-user-gesture-required
Отключение сообщения о прекращении поддержки браузера в Windows 7
Open Start, type regedit.exe and select the Registry editor result.
Go to HKEY_CURRENT_USER\Software\Policies\Google\Chrome.
If one of the keys does not exist, right-click on the previous and select New > Key. Name it accordingly.
Right-click on Chrome and select New > Dword (32-bit) Value.
Name it SuppressUnsupportedOSWarning.
Double-click on the name and set its value to 1.
Restart the computer.



