Добавляем онлайн-чат в web-приложение OneScript

25.11.19

Разработка - OneScript

В статье рассмотрено подключение онлайн-чата к web-приложению на основе http-сервисов OneScript

Введение

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

Поэтому в настоящей статье мы попробуем реализовать данный функционал в web-приложении на основе http-сервисов OneScript и посмотрим, на сколько это возможно и сложно.

Описание

Системы организации онлайн-чатов по своей сути являются своеобразными мессенджерами, которые “заточены” для использования в бизнес-системах и порой, могут представлять собой достаточно сложные программно-аппаратные комплексы.  Поэтому мы не будем пытаться создать такую систему, а воспользуемся готовым сервисом, который предоставит нам необходимый функционал.

В подавляющем большинстве случаев данные сервисы являются платными, однако достаточно большое их количество предоставляет бесплатные планы использования. Как правило бесплатные планы имеют ограничения по количеству операторов (1-5) и несколько урезанную функциональность, относительно платных вариантов. Так что, если у вас нет необходимости в организации большого call-центра, можно вполне обойтись бесплатным тарифом.

Как правило, системы организации чатов состоят из backend части, где вы можете произвести различные настройки, просмотреть историю диалогов etc, а также из frontend части, которая по сути является клиентом мессенджера и которую нам необходимо разместить у себя на сайте. В подавляющем большинстве случаев, активация клиента мессенджера производится выполнением на web-странице определенного javascript скрипта. Таким образом, задача реализации онлайн-чата в web-приложении сводится к выполнению определенного скрипта при загрузке страницы.

В экспериментальных целях мы создадим приложение, которое будет “переключаться” между сервисами Jivosite, Netrox.SX и QuickChat.

Реализация

Для наших экспериментов создадим и настроим тестовое web-приложение, в соответствии с этой и этой статьями. Я создал простое одностраничное приложение на основе шаблона Split One Page HTML Template( ссылку не привожу т.к. модератор не разрешает), чтобы страница не была совсем пустой.

Приложение имеет один общий шаблон с именем ГлавнаяСтраница, типа ТекстовыйДокумент, а также один http-сервис index.os, который отображает содержимое страницы.

 

Создадим три общих макета, типа ТекстовыйДокумент, с именами СкриптВиджетаJivosite, СкриптВиджетаNetroxSC и СкриптВиджетаQuickChat.

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

 

Добавим в код нашей html-страницы параметры {{СкриптВНачале}}, перед закрывающим тегом head (необходимо для вывода виджета Quick Chat) и {{СкриптВКонце}}, перед закрывающим тегом body (необходим для вывода остальных виджетов).

 
 

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

Для переключения, добавим соответствующие ссылки в тело страницы

 

Отредактируем обработчик вызова http-сервиса таким образом, чтобы он добавлял к тексту страницы соответствуюие скрипты.

 

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

Заключение

Добавление функционала онлайн-чата в web-приложения OneScript вполне себе возможно и не отличается какими-то огромными трудозатратами. Просмотреть получившийся результат можно нажав кнопку "Показать демо".

 

web http-сервисы onescript

См. также

Групповая разработка (Git, хранилище) OneScript Программист Платформа 1С v8.3 Бесплатно (free)

Скрипт для работы с SonarQube и локальным репозиторием Git.<br> Цель проекта – возможность выполнить быструю проверку качества кода перед тем, как помещать доработки в рабочее хранилище. В Sonar и Git выгружается не вся конфигурация, а только объекты из заданного списка.<br> https://github.com/vkrivov/go/

02.07.2024    2407    vkrivov@yandex.ru    8    

18

DevOps и автоматизация разработки OneScript Системный администратор Программист Стажер Бесплатно (free)

Рассмотрим создание самоформирующейся документации через комментарии и соглашения: как это сделать и зачем, с описанием полного цикла от исходников конфигурации до странички в интернете

17.06.2024    3897    bayselonarrend    2    

60

OneScript Программист Стажер Бесплатно (free)

Поговорим про меню, спиннеры, прогресс-бары и прочие свистелки для CLI приложений на OneScript

20.05.2024    2438    bayselonarrend    18    

70

Групповая разработка (Git, хранилище) OneScript Системный администратор Программист Бесплатно (free)

Сегодня мы посмотрим на Github Actions - встроенный инструментарий Github для автоматизации рабочих процессов. Разберем, что это такое, зачем и причем тут OneScript.

25.03.2024    2049    bayselonarrend    3    

41

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) OneScript Системный администратор Программист Платформа 1С v8.3 Бесплатно (free)

Продолжение истории с прокси хранилища, но уже не на HTTP, а на TCP и без падений по памяти веб-сервера. Проверяем комментарии хранилища, вызываем веб-хуки, старты пайплайнов, gitsync по событию помещения версии в хранилище. И все это полностью на знакомом и понятном OneScript.

17.01.2024    3955    kamisov    21    

62

OneScript Программист Бесплатно (free)

Думаете, на OneScript неудобно создавать сложные инфраструктурные приложения? Ошибаетесь. Благодаря фреймворку ОСень за последний год экосистема библиотек, упрощающих написание собственных приложений, существенно выросла. Расскажем о самых передовых технологиях OneScript. Спойлер: будет много рефлексии, мета-аннотаций, желудей, напильников и дубов с завязями.

21.11.2023    3747    NikitaIvanchenko    16    

48

Инструментарий разработчика Работа с интерфейсом OneScript Программист Россия Бесплатно (free)

Представленная библиотека позволяет создать многопоточный TCP сервер, к которому может одновременно подключиться множество TCP клиентов с удаленных компьютеров. Эти клиенты могут вызывать методы скриптов как на сервере, так и на других клиентах. Методы будут выполнены в контексте скрипта на удаленной машине. Возможна передача параметров в метод и получение результата. Для TCP клиента можно создать графический интерфейс с большим набором элементов управления, модальными диалоговыми окнами и с обработкой событий.

31.07.2023    2347    ahyahy    8    

32

DevOps и автоматизация разработки Групповая разработка (Git, хранилище) OneScript Программист Бесплатно (free)

Итак! Представим, что наступил момент, когда разработка через исходный код реализована на предприятии в полном объеме. Мы разрабатываем в EDT или конфигураторе (но выгружаем конфигурацию в исходный код), версионируем внешние отчеты и обработки и расширения, собираем релизы, проверяем код статическим анализом, в разработке царит гармония и мир. Красота! Но менеджерам этого мало, всегда хочется чего-то еще, и вот мне прилетает задача - дай статистику по вкладу в код каждого разработчика.

13.03.2023    4619    ardn    3    

27
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sytkosa 119 24.06.18 20:02 Сейчас в теме
(0) Молодец. С такими успехами можно и конкурента 1С- Коннект сделать.
Оставьте свое сообщение