<newSession>
Описание
Проверяет наличие и параметры реакции newSession.
предупреждение
Тег совместим только с устаревшим тегом
newSession и методом $reactions.newSession.Атрибуты
message— стартовое сообщение, необязательный атрибут.
Дочерние элементы
data— JSON-объект, необязательный элемент. Данные$sessionдля новой сессии по умолчанию равны пустому объекту.
Примеры
- Использование тега
newSession:
<newSession/>
<newSession message="новая сессия"/>
<newSession message="новая сессия">
<data>{ "myField": "myValue"}</data>
</newSession>
Далее представлены примеры альтернативных проверок на наличие и параметры реакции newSession.
- Использование тега
<requestData>для передачи параметров запроса:
<test-case>
<requestData>{ "fromNewSession": "true" }</requestData>
<q>/start</q>
<a state = "/Start"/>
</test-case>
- Использование встроенной функции
testMode(), которая позволяет определить, находится ли система в режиме тестирования.
Объявляем функцию startNewSession() в файле function.js
function startNewSession() {
var $context = $jsapi.context();
if ($context.request.data.fromNewSession) {
return;
}
log('New session for user');
$context.request.data.fromNewSession = true;
$reactions.newSession({data: $context.request});
}
Делаем проверку на testMode() в сценарии:
require: scripts/function.js
require: common.js
module = common
theme: /
state: Start
q!: * *start
script:
if (!testMode()) {
startNewSession();
}
a: Получилось?
state: Yes
q: да
script:
$session.newField = "yep";