Директива Dialog.Delegate не возвращается к модели навыков Alexa - PullRequest
0 голосов
/ 17 июня 2019

У меня есть навык, когда намерению нужно три слота.Все три слота являются обязательными, и последний слот также требует подтверждения.Я получаю значения слотов, используя request.dialogState

Слоты:

  1. item1: требуется
  2. item2: требуется
  3. item3: требуетсяи требуется подтверждение

Когда я пытаюсь вернуть директиву Dialog.Delegate в случае 'IN_PROGRESS', если блок, он ничего не делает.

switch (request.dialogState) {
        case 'STARTED':
          if (slots.item1.value && slots.item1.value && slots.item3.value) {
            await super.checkItem(input);
            return input.responseBuilder.addDelegateDirective(request.intent).getResponse();
          } else {
            return input.responseBuilder.addDelegateDirective(request.intent).getResponse();
          }
        case 'IN_PROGRESS':
          if (
            slots.item1.value &&
            slots.item2.value &&
            slots.item3.value &&
            slots.item3.confirmationStatus === 'NONE'
          ) {
            await super.checkItem(input);
            return input.responseBuilder.addDelegateDirective(request.intent).getResponse();
          } else if (
            slots.item1.value &&
            slots.item2.value &&
            slots.item3.value &&
            slots.item3.confirmationStatus !== 'NONE'
          ) {
            await this.checkConfirmation(input);
            return input.responseBuilder.addDelegateDirective(request.intent).getResponse();
          } else {
            return input.responseBuilder.addDelegateDirective(request.intent).getResponse()
          }
        case 'COMPLETED':
          return this.finalCreate(input);
        default:
          return null;
      }
...