Служба поддержки на ExtJS

Выпала мне задача написать службу поддержки на ExtJS, с очередью свободных суппортов, с обязательным условием «Без обновления страницы, ТОЛЬКО догрузка». Скажу сразу что не осилил допилить поделие.. Но наработки получились интересные. Выкладываю себе на будущее, да и кому мож тоже пригодится.

Что нужно для работы: последний дистрибутив ExtJS (в моем случае по ТЗ ExtJS нужен был 3.4), браузер и редактор. Мне наиболее удобно показалось использовать браузер Chome (включить нужно инструменты разработчика), хотя везде в учебниках смотрю советуют FireFox. Чисто теоретически ExtJS скрипты будет работать и без установленного апача/хостинга, но так как у меня был поднят свой хостинг, поэтому проект создавал прямо там. Логику работы можно разбить на 3 этапа: регистрация, ожидание свободного суппорта, вход в диалоговое окно. Реализация интерфейса суппорта да вообще обмен сообщениями так и не было завершено.

При разработке были использованы следующие ресурсы для помощи:

Ну тут все просто. Подгружаем скрипты, создаем div куда будут подгружаться результаты работы скриптов

Этап 1. Регистрация пользователя.

По ТЗ регистрация — просто вход, без процедуры регистрации и пр.  За вход у меня отвечает файл со скриптами include(«myjs/login.php»);

Что тут есть?

Проверяются кукисы. Если есть — переходим к ожиданию свободного  суппорта. Если нет — вызываем функцию LoginMe(), показывающую форму для входа:

Этот кусок кода отвечает за создание формы, при submit вызывается обработчик login.php — серверная сторона, которая выдает результат в формате JSON есть такой пользователь или нет.

Из интересного, стоит рассмотреть этот кусок кода:

Если результат sucess:true тогда переходим к ожиданию свободного оператора. Так-же в login.php на серверной стороне ставятся кукисы:

Этап 2 — ожидание свободного оператора

Логика:  с интервалом в 1 секунду делаем AJAX запрос, с вопросом «а кто свободен?. Если ктото свободен, то переходим к форме службы сообщений. У меня серверая часть поиска свободного оператора — просто «заглушка»

Этап 3 — общаемся

Вот тут как раз у меня и вышел затык. Если отрисовать все кнопочки нужные и надписи у меня вышло без проблем, то реализовать в форме где отображаются сами сообщения скроллбары,чтоб окно не растягивалось, у меня не вышло. На том энтузиазм и угас..

 

Исходники можно взять здесь

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.