this.user().context 未定义 - Jovo 框架 - Alexa

this.user().context is undefined - Jovo Framework - Alexa

我目前正在使用 Jovo 跨平台开发 Alexa 和 Google Assistant 的 skills/actions。

我目前遇到了一个障碍,我试图通过以下任一方式获得之前的意图: this.user().context.prev[0].request.intent this.user().getPrevIntent(0).

但是没有用。我得到 context is undefined 并且 getPrevIntent 不存在。根据 Docs,我需要使用 DynamoDB 设置一个 table(我做了,并验证了它的工作,因为 Jovo 能够存储用户对象),并将默认配置传递给 App .但似乎仍然无法让它发挥作用。有什么想法吗?

const config = {
  logging: false,
  // Log incoming JSON requests.
  // requestLogging: true,
  /**
   * You don't want AMAZON.YesIntent on Dialogflow, right?
   * This will map it for you!
   */
  intentMap: {
    'AMAZON.YesIntent': 'YesIntent',
    'AMAZON.NoIntent': 'NoIntent',
    'AMAZON.HelpIntent': 'HelpIntent',
    'AMAZON.RepeatIntent': 'RepeatIntent',
    'AMAZON.NextIntent': 'NextIntent',
    'AMAZON.StartOverIntent': 'StartOverIntent',
    'AMAZON.ResumeIntent': 'ContinueIntent',
    'AMAZON.CancelIntent': 'CancelIntent',
  },
  // Configures DynamoDB to persist data
  db: {
    awsConfig,
    type: 'dynamodb',
    tableName: 'user-data',
  },
  userContext: {
    prev: {
      size: 1,
      request: {
        intent: true,
        state: true,
        inputs: true,
        timestamp: true,
      },
      response: {
        speech: true,
        reprompt: true,
        state: true,
      },
    },
  },
};

const app = new App(config);

谢谢

要使用 Jovo Framework 的 User Context Object,您至少需要 jovo-frameworkv1.2.0

您可以像这样将软件包更新到最新版本:npm install jovo-framework --save

(这曾经是评论。只是将其添加为答案以便其他人也能看到)