Перейти к основному содержимому

<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";