Skip to main content

Action

Action 类型定义

export type Action = {
data: any;
name?: string;
componentId?: string;
isDeleted?: boolean;
type:
| "Link"
| "SiteLink"
| "Trace"
| "Anchor"
| "OpenPopup"
| "ClosePopup"
| "CloseAllPopup"
| "Toast"
| "PlayAudio"
| "PauseAudio"
| "PlayVideo"
| "PlayLottie"
| "PauseLottie"
| "Copy"
| "CallPhone"
| "Reload"
| "GoBack"
| "ViewPicture"
| "OpenConditionContainer"
| "SwitchImage";
id: string;
label: string;
};

字段说明

字段类型必选描述
dataany动作关联的数据,具体内容根据 type 决定。
dataType'string''boolean''json''number'数据的类型,用于解析 data 字段。
namestring自定义事件名称,主要用于组件或页面的交互。
componentIdstring关联的组件 ID,用于指定动作的目标组件。
isDeletedboolean标记动作是否已被删除(逻辑删除)。
type'Link''SiteLink''Trace''Anchor''OpenPopup''ClosePopup''CloseAllPopup''Toast''PlayAudio''PauseAudio''PlayVideo''PlayLottie''PauseLottie''Copy''CallPhone''Reload''GoBack''ViewPicture''OpenConditionContainer''SwitchImage'动作的类型,决定动作的具体行为。
idstring动作的唯一标识符。
labelstring动作的显示名称,用于界面展示。

动作类型说明

类型描述
'Link'跳转到指定链接。
'SiteLink'跳转到站点内链接。
'Trace'埋点追踪,用于数据统计。
'Anchor'页面内锚点跳转。
'OpenPopup'打开弹窗。
'ClosePopup'关闭当前弹窗。
'CloseAllPopup'关闭所有弹窗。
'Toast'显示提示消息。
'PlayAudio'播放音频。
'PauseAudio'暂停音频播放。
'PlayVideo'播放视频。
'PlayLottie'播放 Lottie 动画。
'PauseLottie'暂停 Lottie 动画。
'Copy'复制内容到剪贴板。
'CallPhone'拨打电话。
'Reload'重新加载页面或组件。
'GoBack'返回上一页。
'ViewPicture'查看图片(全屏或放大)。
'OpenConditionContainer'打开条件容器(动态显示内容)。
'SwitchImage'切换图片(图片切换器)。

示例

跳转链接动作

const linkAction: Action = {
data: "https://example.com",
dataType: "string",
type: "Link",
id: "action-1",
label: "跳转到示例网站",
};

显示提示消息动作

const toastAction: Action = {
data: "操作成功!",
dataType: "string",
type: "Toast",
id: "action-2",
label: "显示成功提示",
};

播放音频动作

const playAudioAction: Action = {
data: "https://example.com/audio.mp3",
dataType: "string",
type: "PlayAudio",
id: "action-3",
label: "播放背景音乐",
};

关闭弹窗动作

const closePopupAction: Action = {
type: "ClosePopup",
id: "action-4",
label: "关闭弹窗",
};

注意事项

  1. data 字段
    • 根据 type 的不同,data 的内容和格式会有所变化。例如:
      • 'Link' 类型需提供 URL。
      • 'Toast' 类型需提供提示文本。
  2. componentId 字段
    • 当动作需要绑定到特定组件时使用(如 'SwitchImage' 需要指定轮播图组件)。
  3. isDeleted 字段
    • 用于逻辑删除,实际数据可能仍保留在系统中。