Добавляем онлайн-чат в 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

См. также

Особенности национального Workflow: Github Actions и OneScript

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

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

25.03.2024    1207    bayselonarrend    3    

37

TCP прокси-сервер хранилища конфигурации 1С

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

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

17.01.2024    2783    kamisov    17    

57

Что такое ОСень? Или как лучшие практики из мира Java прижились в экосистеме OneScript

OneScript Бесплатно (free)

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

21.11.2023    3118    NikitaIvanchenko    16    

46

Библиотека создания клиент-серверных приложений для сценарного языка OneScript

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

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

31.07.2023    2019    ahyahy    8    

32

Получаем статистику по git-репозиторию в разрезе разработчиков

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

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

13.03.2023    3627    ardn    3    

27

Прокси хранилища 1С (IIS, OneScript)

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

Избавляемся от версионной зависимости, проверяем комментарии, вызываем веб-хуки, делаем красивые пути. И все это на привычном IIS и понятном OneScript.

08.12.2022    8044    kamisov    57    

95

OneScript на страже порядка на сервере тестовых баз данных

Администрирование СУБД OneScript Бесплатно (free)

Наводим порядок на сервере тестовых баз с помощью любимого инструмента - OneScript. Находим заброшенные базы на сервере MS SQL, определяем кандидатов на удаление.

14.06.2022    4255    ardn    23    

37

Идем в Serverless с кодом 1С

Облачные сервисы, хостинг OneScript Россия Абонемент ($m)

Запускаем код OneScript в Serverless Container Яндекса.

1 стартмани

29.04.2022    3698    1    papami    2    

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