Smart-Queue-Docs
Прилажуха - Отдельный компонент работающий с сервисом registration
. Он не являться системной частью.
Терминал представляет собой что-то вроде браузера, адресная строка которого не вводиться пользователем, а прописывается в настройках. Терминал встроен стандартный браузер Windows Explorer
, предположительно тем же ядром что и текущяя версия системы. Поэтому возможна обработка css
, js
, но следует учесть всю мощь Internet Explorer
при создании дьявольских шаблонов с использыванием последних технологий WEB 2.0
В страницах загруженными в терминале доступны функции API JavaScript, для взаимодействия с терминалом. Сам же терминал не имеет ни какого контроля над шаблон, что позволяет расширить возможности для стороних разработчиков.
Сервер
- адрес сервера, куда будут посылаться запросы для регистрации в очереди (http://192.168.0.16/registration
)Terminal
- уникальны идентификатор терминала, про писаный в конфиге (t1
)Шаблон экрана
- обычная html страница (можно как локальный путь, так и удаленный)Шаблон отображения представляет собой обычную html
страницу. Терминал встроен стандартный браузер Windows Explorer
, предположительно тем же ядром что и текущяя версия системы.
window.external.RegQueue
window.external.ReqRemote
url
- строка запроса удаленного сервера
function terminalRegQueue(queue) { if (typeof window.external.RegQueue != "undefined") { window.external.RegQueue(queue); } return false; }
function terminalPagePrint(data) { if (typeof window.external.RegQueue != "undefined") { window.external.PagePrint(data); } return false; }
queue
- буква очередиdata
- дополнительная строка запроса (не обязательно)url
- удаленный сервер запросаК переданному url
дописываються в конце параметры tid
и tt
, где
tid
- идентификатор терминала, про писаный в его настройкахtt
- времяТаким образов можно определить с какого терминала происходит запрос и выполнять те или иные действия
Ответ сервера печатается на талон только в том случае, если он содержит строку
<div id="response">1</div>
во всех остальных случаях будет выводиться ошибка
basedir/
├── app/
│ ├── cache/ # - кеш
│ ├── ...
│ └── config/ # - конфиги
├── bin/
├── public_html/ # - веб файлы, DocumentRoot для apache
│ ├── .htaccess
│ ├── ...
│ └── index.php
├── src/
│ ├── ...
│ └── templates/ # - директория шаблонов
│ ├── ...
│ ├── monitor/
│ │ └──monitor-index.tpl # - шаблон для монитора
│ └── ticket/
│ └──ticket-k.tpl # - шаблон для талона
│
└── vendor/ # - сторонние библиотеки
Файлы конфигурации находятся в директории app/config
, определены в формате YAML. Данный формат и форму конфигурации необходимо строго придерживаться. Более подробное описание и примеры можно найти в самих конф. фалах
Конфигурация всей системы описывается в 5 файлах:
config.yml
- системные настройкиqueue.yml
- настройки очередейmonitor.yml
- список мониторов и их шаблоныterminal.yml
- список и настройка терминаловwindow.yml
- список, определения и настройка оконПри первом же запуске системы, конфиги считываются и кешируються. После чего дальнейшие изменения конфигов не принимаются в действия до тех пор пака не удалите файл кеша (app/cache/config.cache
).
После чего система вновь считает все конфиги и сново их закеширует. Т.е. любые изменения конфигов вступают после удаления кеша.
Используем версию от 5.1.73 и выше, так как на минимальной (5.1) система запущена и стабильно работает.
Дамп базы находиться в src/config/db/structure.sql
Важно настроить MySQL кодировку, время и размер кеша
[mysqld]
thread_cache = 512K
default-character-set = utf8
character-set-server = utf8
default-time-zone='+04:00'
Обязательным является модуль mod_rewrite.so
, его надо подключить
# Кодировка по умолчанию
AddDefaultCharset UTF-8
# Файлы доступа
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>
# Директория веб-сайта, см. архитектуру
DocumentRoot "/var/www/public_html"
# Параметры директории веб-сайта
<Directory "/var/www/public_html">
Options Includes Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Satisfy all
</Directory>
Версия PHP
5.4
Базовая конфигурация php.ini
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
html_errors = On
error_log = /var/log/php_errors.log
date.timezone = Europe/Moscow