选择度假村后的 SpaceResorts 对话框

Dialog for SpaceResorts after selecting a resort

我想让比克斯比在选择度假村后读出描述。由于在显示所有度假村时不会显示描述,因此选择度假村后有描述对话框会很好。

我正在尝试获取结果 == 1 时的对话框。我已尝试创建一个对话框以匹配来自-属性 SpaceResort 的 ViewAll,但仍然无法获取任何自定义对话框。

result-view {
  match {
    ViewAll(all) {
      from-property {
        SpaceResort (result)
      }
    }
  }

  message {
    template-macro (SPACE_RESORT_RESULT) {
      param (result) {expression (result)}
    }
  }

  render {
    if (size(result) > 1) {
      list-of (result) {
        where-each (item) {
          layout-macro (space-resort-summary) {
            param (spaceResort) {
              expression(item)
            }
          }
        }
 layout
        highlights {
          select(pick) {
            label {
              template-macro (HIGHLIGHT_LABEL_BY_PREFERENCES)
            }
            layout-macro (space-resort-highlight) {
              param (spaceResort) {
                expression(pick)
              }
            }
            order-by {
              sorting (pick) {
                by-preferences
              }
            }
          }
          select(pick) {
            label("#{raw(pick.highlight)}")
            layout-macro (space-resort-highlight) {
              param (spaceResort) {
                expression(pick)
              }
            }
            filter-by (exists(pick.highlight))
          }
          select(pick) {
            label("#{raw(pick.highlight)}")
            layout-macro (space-resort-highlight) {
              param (spaceResort) {
                expression(pick)
              }
            }
            filter-by (exists(pick.highlight))
          }
          select(pick) {
            label("#{raw(pick.highlight)}")
            layout-macro (space-resort-highlight) {
              param (spaceResort) {
                expression(pick)
              }
            }
            filter-by (exists(pick.highlight))
          }
        }
      }
    } else-if (size(result) == 1) {
      layout-macro (space-resort-details) {
        param (spaceResort) {
          expression (result)
        }
      }
    }
  }

  conversation-drivers {
    if ("size(result) == 1") {
      conversation-driver {
        template-macro (MakeReservation)
      }
    }
  }
}

转到 resources/en/dialogs/ 并创建了一个名为 selected_planet.dialog.bxb 的对话框。

使用以下代码创建对话框:

dialog (Result) {
  match: SpaceResort (this)

  template("You selected this planet!.") {
    speech ("#{value(this.description)}")
  }
}

Bixby 现在将大声朗读描述。

测试一下:"Give me a space resort near mars" 和 select 出现的选项之一。