Счетчик с онлайн отображением, как сделать?
Нужно сделать страницу, которая будет отображать на экране онлайн коль-во звонков. Входящих или исходящих. А данные будут приходить от пользователей, которые будут отвечать на звонки и вбивать в строчку input или не unput.
Идея:
Существует две страницы, одна выведена на большом экране и там написано "Всего входящих звонков: 220"
Вторая страница на рабочем месте оператора. На этой странице будет выведено всего одно поле "Кол-во входящих звонков: "(может быть +0- так) и кнопка отправить.
После того как пользователь нажимает отправить данные обновляются на большом экране.
Мои мысли и решения:
1. Я так понимаю что у каждого оператора будет своя страница, как то же программа должна понимать что эти данные пришли от пользователя 1. или можно просто с эти не заморачиваться и не делать отдельные учетки. но тогда если все одновременно нажмут отправить данные что в итоге отобразиться?
2. Надо разворачивать сервер в локалке через OpenServer. И дальше выводить общую страницу, и страницу операторов.
Вопросы:
1. Реально ли это сделать на HTML/CSS и JS?
2. Можно ли обойтись без WP?
3. Куда будут сохраняться данные?
4. Можно ли сделать что бы у оператора была своя статистика своего рабочего места?
5. Есть ли уже готовые решения?
Дополнительно:
И как пользователь может отправить "звонок" со страницы? Что такое "звонок" вообще в твоей идее?
И да, ВП тут вообще не при делах. Нет, любое решение можно и с ним подружить, но незачем это делать без острой необходимости.
2. если на Asterisk и аналогах = можно сразу обработку сделать по логам и оператора и в целом
Ответы:
1. Реально ли это сделать на HTML/CSS и JS?
Без бэкенда не получится организовать общий сбор и обработку данных, так что если бэкенд делать на нодеЖС - то да, если же речь чисто о фронтенде - нет.
2. Можно ли обойтись без WP?
Здесь он вам не понадобится
3. Куда будут сохраняться данные?
Зависит. Если общая статистика не нужна, то на такой примитив вполне хватит просто записи в редис/мемкеш, ну или в самом банальном случае в файл. В противном случае нужна бд. Данные для вывода на экран просто вытаскиваются по крону, скажем, каждые 5-10 секунд.
4. Можно ли сделать что бы у оператора была своя статистика своего рабочего места?
Можно, но для этого уже нужны минимальные заморочки с аккаунтами и тут уже без базы будет как минимум сложно и странно.
5. Есть ли уже готовые решения?
Если и есть, то они вряд ли где-то выложены в публичный доступ, слишком специфичная задача. Не сложная, но не сказать чтобы распространенная.
1. Я так понимаю что у каждого оператора будет своя страница, как то же программа должна понимать что эти данные пришли от пользователя 1.
Да, это желательно, но не обязательно, если статистика не особо нужна.
или можно просто с эти не заморачиваться и не делать отдельные учетки. но тогда если все одновременно нажмут отправить данные что в итоге отобразиться?
Во первых не бывает "одновременно", все равно будут задержки на клик, на сеть, на реакцию браузера и т.д., мало вероятно но более реально что на сервер придут данные одновременно, но для этого существует очередь обработки. Если запись будет вестись в бд, то все запишется по порядку обработки. Впрочем, с другими хранилищами тоже проблем не должно быть.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для создания счетчика с онлайн отображением на веб-сайте, вы можете использовать язык программирования PHP в сочетании с JavaScript. Вот пример кода, который покажет текущее время с обновлением каждую секунду:
<title>Online Counter</title> <h1>Online Counter</h1> <p>Current time: <span id="currentTime"></span></p> <p>Online users: <span id="onlineUsers">0</span></p> function updateOnlineUsers() { // Здесь вы можете добавить логику для получения количества онлайн пользователей // Например, отправить AJAX запрос на сервер для получения данных let onlineUsers = Math.floor(Math.random() * 100); // Генерируем случайное число для примера document.getElementById("onlineUsers").textContent = onlineUsers; } function updateTime() { let currentTime = new Date(); document.getElementById("currentTime").textContent = currentTime.toLocaleTimeString(); } // Обновление времени каждую секунду setInterval(updateTime, 1000); // Обновление количества онлайн пользователей каждые 5 секунд setInterval(updateOnlineUsers, 5000);<title>Online Counter</title> <h1>Online Counter</h1> <p>Current time: <span id="currentTime"></span></p> <p>Online users: <span id="onlineUsers">0</span></p> function updateOnlineUsers() { // Здесь вы можете добавить логику для получения количества онлайн пользователей // Например, отправить AJAX запрос на сервер для получения данных let onlineUsers = Math.floor(Math.random() * 100); // Генерируем случайное число для примера document.getElementById("onlineUsers").textContent = onlineUsers; } function updateTime() { let currentTime = new Date(); document.getElementById("currentTime").textContent = currentTime.toLocaleTimeString(); } // Обновление времени каждую секунду setInterval(updateTime, 1000); // Обновление количества онлайн пользователей каждые 5 секунд setInterval(updateOnlineUsers, 5000);
В этом примере мы используем JavaScript для обновления текущего времени каждую секунду и для обновления количества онлайн пользователей каждые 5 секунд. Для получения реального количества пользователей вам нужно будет добавить логику получения этой информации с сервера, например, с помощью AJAX запросов.
Вы можете настроить этот пример под свои нужды, добавив дополнительные функции или стилизацию. Надеюсь, это поможет вам создать счетчик с онлайн отображением на вашем веб-сайте!