UI 事件通知
iframe 通过 onMessage(type, data) 把路由、生成、保存、下载和错误结果通知宿主页面。接入方只需处理当前业务使用的事件,不需要一次接入完整事件表。
通知与推送回调的区别
预装版(UI 版本)有两类消息能力:
| 类型 | 触发方式 | 适合处理 |
|---|---|---|
| 事件通知 | iframe 页面通过 onMessage(type, data) 主动通知宿主页面 | 路由变化、扣费、创建任务、生成完成、保存、下载、错误、回退 |
| 事件推送回调 | 接入方在配置中提供回调地址或回调能力,由 AiPPT 在特定业务动作后推送 | 保存 PPT 等需要服务端感知的结果 |
如果只是前端页面联动,优先使用事件通知;如果接入方服务端必须记录业务结果,再配置事件推送回调。
基础事件监听
基础接入需要监听以下关键事件,其他事件可按业务需要补充:
| 目标 | 建议监听 | 用途 |
|---|---|---|
| 判断初始化和会话状态 | ERROR、TOKEN_EXPIRE | 提示用户重新获取 code 或重新打开 iframe |
| 记录生成结果 | OUTLINE_CONFIRM、GENERATE_PPT_SUCCESS | 关联任务 ID、作品 ID 和业务记录 |
| 处理下载 | OUTLINE_DOWNLOAD、PPT_DOWNLOAD | 在 download_mode=0 或 2 时获取下载结果和地址 |
| 处理编辑器保存 | PPT_SAVE | 记录用户在编辑器内的保存结果 |
| 接管权限判断 | SCENE_AUTH | 配合 scene_auth 决定当前动作是否允许继续 |
按生成阶段查事件
| 阶段 | 事件 | 边界说明 |
|---|---|---|
| 路由与异常 | ROUTER、ERROR、TOKEN_EXPIRE、BACK_BUTTON | 页面跳转、初始化失败、Code 过期和回退处理 |
| 创建任务 | CREATE_TASK_BEFORE、CREATE_TASK_SUCCESS、CHARGING | 生成任务创建前后,以及扣费通知 |
| 大纲与内容 | AI_CONTENT_COMPLETE、OUTLINE_CONFIRM、OUTLINE_DOWNLOAD、RETRY_OUTLINE_CONFIRM | OUTLINE_DOWNLOAD 发生在大纲弹框位置,不属于编辑器内下载 |
| 模板与合成 | TEMPLATE_SELECTED、GENERATE_PPT_SUCCESS | GENERATE_PPT_SUCCESS 表示合成新作品成功 |
| 编辑器内操作 | PPT_EDIT_FILENAME、PPT_SAVE、PPT_DOWNLOAD | PPT_SAVE 是进入编辑器之后的保存;PPT_DOWNLOAD 是作品下载 |
| 场景鉴权 | SCENE_AUTH | 开启 scene_auth 后,iframe 暂停流程,宿主调用 sceneAuthContinue 决定继续或取消 |
| 推送回调 | SAVE_PPT_PUSH_CALLBACK | 宿主调用 事件推送 后,用于接收保存推送结果 |
事件边界
GENERATE_PPT_SUCCESS 是生成流程中合成新作品成功;PPT_SAVE 是进入编辑器之后的保存;OUTLINE_DOWNLOAD 发生在生成流程的大纲弹框位置,不是 PPT 编辑器内下载。
相关参数
相关代码
ts
AipptIframe.show({
appkey: appkey,
channel: channel,
code: code,
editorModel: editorModel,
container: container,
onMessage(type, data) {
// 以下消息通知全部集成在此处
}
})