Оглавление |
---|
...
Правила отображения цен задаются в секции app
Информация |
---|
CSI.PCP10
CSI.PCP9
|
Логика работы сервера
- по очереди перебираются все выражения
condition
для каждого экрана:- если проверяемое выражение
condition
не подошло, то осуществляется переход к выражению следующего экрана - если проверяемое выражение
condition
не корректно, то сервер возвращает ошибку
- если проверяемое выражение
- выражение считается не корректным, если:
- в условии присутствуют переменные, не описанные в списке цен name
- в условии есть ошибки синтаксиса
- все выражения корректны, но ни одно из них не подошло, то возвращается экран по умолчанию
defaultScreen
...
Блок кода | ||
---|---|---|
| ||
app: screen: # Список возможных экранов для отображения - number: 1 # Номер экрана name: # Наименования цен на экране price1: Цена товара # Если в выражении condition присутсвует цена, то она обязательно объявляется в списке цен price2: Старая цена price3: Цена по карте Лента condition: price1 != null && price3==null # Условие, при успешном выполнении которого возвращается текущий экран - number: 2 name: price1: Цена товара price2: Старая цена price3: Цена по карте Лента condition: price1 < price2 && price3 == null - number: 3 name: price1: Цена товара price2: Старая цена price3: Цена по карте Лента price4: Старая цена по карте condition: price1 == price2 && price3 == price4 - number: 4 name: price1: Цена товара price2: Старая цена price3: Цена по карте Лента price4: Старая цена по карте condition: price1 == price2 && price3 < price4 - number: 5 name: price1: Цена товара price2: Старая цена price3: Цена по карте Лента price4: Старая цена по карте condition: price1 < price2 && price3 == price4 defaultScreen: 1 # Экран по умолчанию, отображаемый в случае, если ни одно из условий не подходит |
...