首页 > 解决方案 > 如何从联系人中提取一个电话号码。在 Bixby 胶囊中查找联系人搜索结果

问题描述

contactInfos胶囊的目标是从类型的联系人搜索结果中仅借用一个联系人号码ContactInfo并输出或添加到具有其他属性的结构中。

通过 Bixby 语音从用户那里获取ContactNameConcept输入。

text (ContactNameConcept) {
    extends(contact.SearchTerm)
}

用作从联系人获取搜索结果的ContactNameConcept输入。contactName

action (FindContactNumber) {
  type (Calculation)
  collect {
    input (contactName) {
      type (ContactNameConcept)
      min (Optional) max (One)
    }

    computed-input (contactInfos) {
      type (contact.ContactInfo)
      min (Optional) max (Many)

      compute {
        intent {
          goal: contact.FindContact
          value: $expr(contactName)
        }
      }
      // What should be done here?
    }
  }

谢谢

标签: bixbybixbystudio

解决方案


如果想法是contact.FindContact返回多个结果时,只向链接的Javascript发送一个,开发人员可以执行以下操作

    computed-input (contactInfos) {
      type (contact.ContactInfo)
      min (Optional) max (One) // make sure change to max (One)
      default-select {
        with-rule {
          select-first
        }
      }
      compute {
        intent {
          goal: contact.FindContact
          value: $expr(contactName)
        }
      }
    }

但是,我想说也可以用 Javascript 处理所有结果。考虑用户搜索“John”的情况,有“John Smith”和“John Doe”。取决于您的胶囊,在 Javascript 中处理两者可能是有意义的。


推荐阅读