Как управлять несколькими пользователями, работающими на одном экране?

0

Я реализую веб-сайт корзины покупок, который может одновременно использоваться несколькими поставщиками.

У меня есть требование, когда при поступлении нового заказа статус заказа должен быть в желтом цвете (новый заказ), и если он принят любым из поставщиков, он должен перейти в синий цвет (обработанное состояние)

Я смущен этим сценарием:

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

Любые предложения о том, как реализовать этот тип требований?

Теги:

4 ответа

2

Для этого вам понадобится серверное решение, потому что вам потребуется постоянное соединение, чтобы оставаться открытым со всеми клиентами.

Решение, которое вы используете, будет зависеть от настройки вашего сервера, но это сообщение о переполнении стека - это хорошее введение: что такое Long-Polling, Websockets, Server-Sent Events (SSE) и Comet?

0

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

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

0

в зависимости от вашего приложения может быть много решений, но вот тот, который работал на меня:
есть 4 поставщика, подключенные к вашему серверу приложений через websocket.
когда пользователь принимает заказ, он уведомляет сервер, который делает правильную обработку, а затем отправляет уведомление всем связанным на странице, что в конечном итоге сообщит им, что этот конкретный заказ одобрен г-ном Х и должен теперь отображаться. Синий цвет

вы могли бы с другой стороны работать с ajax-опросом и запрашивать базу данных каждые x секунд (x немного), если заказ был обработан

но в очередной раз это зависит от вашей установки

-1

Вы можете изменить цвет на синий, выполнив следующие действия:

После того, как запрос поступит, заверните запрос в

Направьте "принятый" id с помощью правила css, которое устанавливает цвет в синий. Когда страница обновится у других поставщиков, она будет синей.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню