媒体选择和位置的 Viva Connections 操作

已完成

SharePoint 框架 (SFPx) 自适应卡片扩展 (ACE) 支持自适应卡片架构中可用的多种类型的操作。 这些操作包括以下操作:

  • 在浏览器中打开 URL
  • 在现有卡片上将另一个自适应卡片显示为子窗体
  • 提交操作

Viva Connections 包括 ACE 开发人员可以利用的另外两种类型的操作。

在本单元中,你将了解 Viva Connections 支持的一些位置和媒体的特殊操作功能。

ACE 的媒体上传

Viva Connections 支持的两种类型的操作中的第一种是从 ACE 选择和上传文件的功能。 图像以 Base64 字符串的形式上传。

为此,请将以下操作添加到自适应卡:

"actions": [
  {
    "type": "VivaAction.SelectMedia",
    "id": "Select Media",
    "title": "Select Files",
    "parameters": {
      "mediaType": "MediaType.Image"
    }
  }
]

QuickView 的屏幕截图,其中包含用于选择媒体的操作。

“快速查看”对话框的屏幕截图,其中显示了选择文件。

下一步是处理由 QuickView 事件处理程序中的 操作上传的 onAction() 媒体:

public onAction(action: ISelectedMediaActionArguments): void {
  this.setState({
    uploadedImageName: action.media[0].fileName,
    uploadedImageContent: action.media[0].content // base64
  });
}

ACE 的位置操作

Viva Connections 支持的其他类型的操作增加了处理位置数据的功能。 一个用于基于纬度和经度坐标在地图上显示位置,而另一个用于在地图上选择位置。

显示位置数据

若要使用两个 Viva Connections 操作之一在地图上显示位置,请将以下操作添加到自适应卡:

"actions": [{
  "id": "originLocation",
  "title": "View dropoff location",
  "action": {
    "type": "VivaAction.ShowLocation",
    "parameters": {
      "locationCoordinates": {
        "latitude": this.state.trip.destination.latitude,
        "longitude": this.state.trip.destination.longitude
      }
    }
  }
}]

地图上显示的位置的屏幕截图。

获取位置数据

其他位置操作支持用户在地图上选取位置。 若要使用此操作,请将以下 JSON 添加到自适应卡:

"actions": [{
  "id": "destinationLocation",
  "type": "VivaAction.GetLocation",
  "title": "Select trip destination from map",
  "parameters": {
    "chooseLocationOnMap": true
  }
}]

选择位置的 Viva Connections 操作的屏幕截图。

若要获取用户从地图中选择的坐标,请使用 操作的 location 属性检索纬度和经度坐标。

public onAction(action: IGetLocationActionArguments): void {
  const currentTrip = this.state.trip;

  if (action.type === 'VivaAction.GetLocation') {
    trip.DestinationLocation = <ILocation>{
      latitude: action.location.latitude,
      longitude: action.location.longitude
    };
    this.setState({ trip: trip });
    this.quickViewNavigator.pop();
  }
}

摘要

在本单元中,你了解了 Viva Connections 对位置和媒体支持的一些特殊操作功能。