0

当我单击我的cell-card但它没有通过时,我需要将一些值传递给目标。但是,正常值正在传递,但结构值未传递。我给用户一个cell-card“下周有什么体育新闻”的用户。所以我的运动是类别,下周是DateTimeExpression

所以我可以通过类别但不能通过时间。这是我的点击

on-click{
   intent{
     goal:NewsSearch
       value-set:CategoryName{CategoryName(Sports)}
       value-set:MyDateTimeExpression($expr(viv.time.DateTimeExpression(Next Week)))
   }
}

我的结构MyDateTimeExpression

structure (MyDateTimeExpression) {
 role-of(time.DateTimeExpression)
   features {
    transient
  }
}
4

2 回答 2

0

如果您想在按钮内使用自然语言,那么也许您应该尝试使用对话驱动程序而不是cell-card. 这样做的好处是,它不仅可以通过按下按钮工作,而且如果用户说出请求,也可以在免提模式下工作。

在结果视图中,您将添加如下块:

  conversation-drivers {
    conversation-driver {
      template ("What is the sports news for the next week.")
    }
  }

您将在训练选项卡中训练类似的话语。源视图中的对齐 nl 看起来像这样:

[g:NewsSearch] What are the (sports)[v:CategoryName:Sports] news for (next week)[v:time.DateTimeExpression]
于 2019-02-28T05:05:48.947 回答
0

您的代码在封闭时使用(而不是.{MyDateTimeExpression

修改下面的代码以反映 value-set 的正确用法

on-click{
       intent{
         goal:NewsSearch
           value-set:CategoryName{CategoryName(Sports)}
           value-set:MyDateTimeExpression{$expr(nextWeek)}
       }
    }

您可以查看文档以获取更多使用 value 和 value-set 的示例

https://bixbydevelopers.com/dev/docs/reference/type/intent.value https://bixbydevelopers.com/dev/docs/reference/type/intent.value-set

于 2019-02-26T21:39:02.140 回答