如何在Bixby中防止重复操作的执行?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (6)

我想实现一个胶囊,如果用户提供计算所需的全部输入,则进行计算,或者如果用户没有提供第一个请求的完整输入,则要求用户提供必要的输入。如果用户提供完整的请求,一切都有效。如果用户没有提供完整的请求但Bixby需要更多信息,我会遇到一些奇怪的行为,其中计算被多次调用,而Bixby从另一个计算的结果中获取计算的必要信息,它看起来像在调试图中。

为了更容易证明我的问题我已经延长了骰子样品胶囊胶囊样品骰子,并添加numSidesnumDiceRollResultConcept,这样我可以在结果存取骰子和边数。RollResult.model.bxb现在看起来像这样:

structure (RollResultConcept) {
  description (The result object produced by the RollDice action.)
  property (sum) {
    type (SumConcept)
    min (Required)
    max (One)
  }
  property (roll) {
    description (The list of results for each dice roll.)
    type (RollConcept)
    min (Required)
    max (Many)
  }
  // The two properties below have been added
  property (numSides) {
    description (The number of sides that the dice of this roll have.)
    type (NumSidesConcept)
    min (Required)
    max (One)
  }
  property (numDice) {
    description (The number of dice in this roll.)
    type (NumDiceConcept)
    min (Required)
    max (One)
  }
}

我还添加了single-lines,RollResult.view.bxb以便在滚动后向用户显示边和骰子的数量。RollResult.view.bxb:

 result-view {
   match {
     RollResultConcept (rollResult)
   }

   render {
     layout {
       section {
         content {
           single-line {
             text {
               style (Detail_M)
               value ("Sum: #{value(rollResult.sum)}")
             }
           }
           single-line {
             text {
               style (Detail_M)
               value ("Rolls: #{value(rollResult.roll)}")
             }
           }
           // The two single-line below have been added
           single-line {
             text {
               style (Detail_M)
               value ("Dice: #{value(rollResult.numDice)}")
             }
           }
           single-line {
             text {
               style (Detail_M)
               value ("Sides: #{value(rollResult.numSides)}")
             }
           }
         }
       }
     }
   }
 }

在模拟器中,我现在运行以下查询

intent {
  goal: RollDice
  value: NumDiceConcept(2)
}

缺少必要的NumSidesConcept

调试视图显示以下图表,NumSidesConcept缺少(按预期)。

我现在在模拟器中运行以下查询

intent {
  goal: RollDice
  value: NumDiceConcept(2)
  value: NumSidesConcept(6)
}

这导致Debug视图中的以下Graph:

我觉得计算正在进行两次才能到达结果。我已经尝试过给feature { transient }模型了,但这并没有改变任何东西。谁能告诉我这里发生了什么?我不允许在输出中使用相同的原始模型,因为Bixby在尝试执行操作时会使用它们吗?

提问于
用户回答回答于

我尝试修改代码,但无法运行意图(成功)。

这是另一种不需要更改RollResultConcept的方法,并且将根据您的期望(访问骰子和边的数量result-view)工作

 result-view {
  match: RollResultConcept (rollResult) {
    from-output: RollDice(action)
  }


   render {
     layout {
       section {
         content {
           single-line {
             text {
               style (Detail_M)
               value ("Sum: #{value(rollResult.sum)}")
             }
           }
           single-line {
             text {
               style (Detail_M)
               value ("Rolls: #{value(rollResult.roll)}")
             }
           }
           // The two single-line below have been added
           single-line {
             text {
               style (Detail_M)
               value ("Dice: #{value(action.numDice)}")
             }
           }
           single-line {
             text {
               style (Detail_M)
               value ("Sides: #{value(action.numSides)}")
             }
           }
         }
       }
     }
   }
 }

试一试,让我们知道它是否有效!

热门问答

腾讯云短信SDK有没有支持NETFramework4.5.1的????

您好,可使用腾讯云短信C# SDK,github:https://github.com/qcloudsms/qcloudsms_csharp,感谢您对腾讯云短信的支持。

压力测试无法添加https域名?

论坛从其他服务器迁至腾讯云需要做些什么?

Hyman.W

腾讯云 · 高级产品经理 (已认证)

推荐
1,购买腾讯云服务器和带宽; 2,在所购买的云服务器上上部署论坛所需要的程序,包括论坛本身的代码,以及数据库等其他程序(这个需要软件公司来做); 3,把数据迁移到新的数据库(如果你刚开发完没有上线的话,应该不存在数据迁移,这个还是需要软件公司来判断) 4,如果你原来的论坛有域名,...... 展开详请

小程序,用腾讯云短信服务发送短信报错误?

嗨喽你好摩羯座
推荐
您好,请将第5步编写云函数处理逻辑中以下代码修改: "const qcloudsms = require("qcloudsms_js")" => "const QcloudSms = require("qcloudsms_js")" 并在注释/*单发短信示例为完整示例,更多功能...... 展开详请

私有群、公开群人数上限是多少?

推荐已采纳

您好,是不能突破的,而且还需要受到群组类型的限制。

单个账号导入接口 返回70402?

嗨喽你好摩羯座
推荐已采纳
您好,70402参数非法,请检查必填字段是否填充,或者字段的填充是否满足协议要求。从您提供的截图来看,是您的请求body没有填写完整,建议按照这个格式改下。 image.png 参考文档:https://cloud.tencent.com/document/product/...... 展开详请

所属标签

扫码关注云+社区

领取腾讯云代金券