问题标签 [bixbystudio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
80 浏览

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

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

为了更容易地演示我的问题,我扩展了 dice sample capsule -capsule-sample-dice并将 and 添加numSidesnumDiceRollResultConcept以便我可以访问结果中的 dice 和边数。RollResult.model.bxb 现在看起来像这样:

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


编辑:我忘了添加我更改的代码RollDice.js,见下文:RollDice.js

结束编辑


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

缺少所需的NumSidesConcept.

调试视图显示下图,NumSidesConcept缺少(如预期的那样)。 调试图 1

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

这会在调试视图中生成以下图表:

调试图 2

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

0 投票
1 回答
85 浏览

bixby - Bixby 如何保留先前 NL 输入的数据?

我不明白 Bixby 保留以前 NL 输入数据的方式。以下示例使用胶囊capsule-sample-shirt

  1. 我首先使用 NL 输入find 2 medium shirts来获取衬衫列表。
  2. 我点击其中任何一个(这里我使用领子衬衫),Bixby 询问我是否想买它。
  3. 我单击“否”,Bixby 用“好的,我不会那样做”通知我。
  4. 我现在立即再次运行相同的 NL 输入find 2 medium shirts,并期待 Bixby 再次向我展示衬衫列表,就像第一次一样。而不是现在预期的衬衫清单,Bixby 再次问我你确定要买这个吗?搭配我之前选择的有领正装衬衫。

为什么 Bixby 第二次没有显示衬衫列表find 2 medium shirts作为 NL 输入?在第一次之后让 Bixby 显示带有此 NL 输入的列表需要发生什么?

NL 后的衬衫列表 输入: 1. NL输入后的衬衫列表 Bixby 等待确认: 2. Bixby 等待确认 Bixby 说它取消了提示: 3. Bixby 说它取消了提示 Bixby 不显示列表,而是立即要求确认: 4. Bixby 不显示列表,而是立即要求确认

0 投票
1 回答
81 浏览

bixby - 在向用户显示输入视图时,如何让用户提供 NL 输入?

我有一个胶囊可以根据用户输入计算一些东西。用户需要告诉我的胶囊一个始发国 ( FromCountryConcept)、目的地国家 ( ToCountryConcept) 和一个文本 ( LetterContentConcept)。既然是国家概念enum,那input-view对于那些就简单了selection-of。对于input-view文本,我使用textarea. 所有代码都在下面,可在此存储库的 github 上找到:SendLetter-Bixby

当用户使用 Bixby 视图向 Bixby 提供所需的输入时,一切都会按预期工作。

如何让用户input-view使用(口语或打字)NL 输入向显示的内容提供输入?

我的动作SendLetter.model.bxb是这样的:

国家/input-view地区概念FromCountry_Input.view.bxb如下所示(ToCountry_Input.view.bxb等效):

input-view我希望用户能够输入的文本位于LetterContent_Input.view.bxb

在此处输入图像描述

0 投票
3 回答
129 浏览

bixby - 上次 6.10.0-r19i.8185 BixbyStudio 之后的变化

在将 BixbyStudio 上次更新到版本 6.10.0-r19i.8185 后以公共或私有形式提交后,我遇到了问题:

  1. 使用模拟器(或设备)时,我收到一条错误消息:Missing a mock for Installed Apps。将“appId”:“com.samsung.android.bixby.service”和“appVersion”:“1”添加到apps.json文件中。欲了解更多信息:https ://bixbydevelopers.com/dev/docs/dev-guide/developers/ide.simulator#mock-installed-apps 。当我转到这个 url 时,没有关于这个 apps.json 的任何信息。你有我可以把这个文件放在哪里并且可以阅读更多关于它的信息吗?

  2. 我有带音频的胶囊:

它从那个 BixbyStudio 为我生成了弃用警告 import '0.3.1-bixby.audioPlayer' 并没有将自己声明为 'library' 并且将来无法导入,但我使用的是与该文档https://bixbydevelopers 相同的版本。 com/dev/docs/sample-capsules/samples/audio 请解释这里有什么问题

非常感谢你的回答!

0 投票
1 回答
62 浏览

bixby - 如何在 Bixby 故事测试中查看断言的控制台输出?

是否可以记录控制台输出并查看断言时发生了什么?我看到了我的胶囊所需的行为(出现了正确的提示),但是检查提示的断言失败了,我真的找不到任何方法来调试这些断言。

另外,我对 StackOverflow 有点陌生,所以如果这样更好,我可以让这个问题更具体地针对我的问题。我认为最好从这样一个对更广泛的受众有用的一般性问题开始!

0 投票
1 回答
107 浏览

bixby - 在哪里可以找到最新的 Bixby (Viv) Library Capsules 版本?

在我使用的胶囊中viv.image,导入capsule.bxb

自上次更新以来,我收到了弃用警告WARN-DEPRECATED

弃用警告

我已将其更新为我在 Bixby 开发指南中找到的版本。然而,似乎那里指定的版本只是最低版本,而不是当前版本。

在哪里可以找到 Viv Library Capsules 的当前版本?

0 投票
2 回答
39 浏览

bixby - 如何更改“搜索某事”文本?

当我发送诸如 getQuiz 之类的操作时,Bixby 会在找到测验之前显示“正在搜索测验”。如何自定义此文本?

0 投票
2 回答
43 浏览

bixby - 如何摆脱所有“警告 this.name 可能为空”的警告?

在我的 Cat.view.bxb 文件中,我有一些 UI 元素基于结构中带有警告的可选属性。

WARN this.name 可能为空

0 投票
1 回答
108 浏览

bixby - bixby:音频播放器,如何给音频播放器输入

我已经下载了示例胶囊并实现到我的胶囊中并且它正在工作,但现在我需要传递一些 id 并生成歌曲的内容。

所以我的意图followup

我的 PlaySongs 动作文件如下所示

GetMeArtistSong 动作文件如下所示

我无法在 GetMeArtistSong js 文件中获取艺术家 ID。我做错了什么?隐藏是为了什么?请解释。

0 投票
1 回答
67 浏览

bixby - 在 Bixby 语音体验中访问的储值集

我对 Bixby 开发完全陌生,所以如果这是一个没有意义的新问题,我提前道歉。我试图了解存储从外部 API 返回的值集以在整个 Bixby 语音体验中使用的最佳方式。一个示例可能是获取餐厅所有菜单项的 API 或获取商店中所有服装目录项的 API。当用户与数据进行交互以进行搜索或交易时,我不想回到外部 API 来重新设置值。例如:查找 Vegan Menu 选项,然后是 Okay how about pescatarian options。或者:找到正装裤,然后是正装衬衫。我想回到第一种情况下的菜单对象或第二种情况下的目录对象,而不必从 API 重新加载值集。

在示例代码中,我看到每次执行操作/端点/java 调用时似乎都会读取所有值集