如何从 Bixby Capsule 中的 contact.FindContact 搜索结果中提取一个 phone 号码

How to extract one phone number from contact.FindContact search results in Bixby Capsule

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

通过 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?
    }
  }

谢谢

如果想法是当 contact.FindContact returns 多个结果时,只发送一个到链接 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.

中处理两者可能是有意义的