UI 配置
预装版(UI 版本)的配置用于控制 iframe 初始化、页面入口、功能板块、下载方式、场景鉴权和自定义创建流程。阅读本页前,建议先通过 业务流程图 判断当前接入属于默认进入、UI 自定义创建还是 API 自定义创建。
配置分层
预装版(UI 版本)的配置分为三层,建议按顺序确认:
| 配置层 | 作用 | 典型配置 |
|---|---|---|
| 基础配置 | 初始化 iframe,传入 appkey、code、channel、容器和消息回调 | appkey、code、container、onMessage |
| options 配置 | 控制功能板块、下载模式、场景鉴权和自定义创建 | fc_plate、download_mode、scene_auth、custom_generate |
| routerOptions 配置 | 控制默认进入哪些页面,以及部分页面的路由参数 | list、generate、editor |
如果接入方只需要快速打开完整 AiPPT 页面,通常只配置基础参数即可。需要隐藏功能、接管下载、做场景权限校验或直达某个页面时,再补充 options 和 routerOptions。
页面入口选择
| 入口类型 | 使用方式 | 适合场景 | 后续流程 |
|---|---|---|---|
| 默认进入 | 配置 routerOptions.list,可选 routerOptions.generate 或 routerOptions.editor | 用户从作品列表、AI 任务生成页或编辑器进入完整 UI 流程 | 由用户在 iframe 内继续操作 |
| UI 自定义创建 | 配置 options.custom_generate.type 和 content / File / referList | 接入方前端直接传标题、文件、Markdown 或参考文档发起生成 | 默认进入编辑大纲;粘贴 Markdown 可按 step=2 跳到模板选择 |
| API 自定义创建 | 配置 options.custom_generate.taskId,并按需传 step、templateId、isEnterprise | 拼装版 API 已创建任务,希望交给 UI 版本继续展示、编辑、选模板或合成 | step=1 编辑大纲,step=2 选择模板,step=3 直接合成 PPT |
入口边界
routerOptions 控制 iframe 默认打开哪些页面;custom_generate 控制是否带内容或任务直达生成流程。不要把 API 自定义创建的 taskId 用在普通 UI 自定义创建场景中。
基础配置
options配置
功能板块配置 (主要用于按钮的隐藏展示)
介绍
在创建PPT的过程中,可根据自己的业务场景需要某个功能不需要进行展示的时候,可以调用此参数进行实现。
功能提示
该参数的配置具有父子级对应关系,如果开启了生成方式(2003),那么AI智能生成和本地上传都会进行开启。
如果只开启其中一项配置功能,例如上传word(2006)那么他将会自动向上查找文档生成PPT(2005)和生成方式(2003),但是不会主动开启其他配置项。
具体的接收值可以为数组、以逗号隔开的场景值字符串。
假设:
不传递的情况下,则默认全部开启。 数组: [2006,2007] 代表只开启上传Word和上传XMind, [2024] 代表只开启PPT编辑器。
具体可参考下述场景值参考
场景值参考
使用方式
ts
AipptIframe.show({
options: {
// fc_plate: "2001,2002",
// fc_plate: [2001, 2002],
fc_plate: [2001, 2003, 2011, 2014, 2024]
},
})下载配置
介绍
在创建PPT的过程中,根据自己的业务场景需要增加一些自由下载配置。
功能提示
具体的接收值只允许为number的0,1,2。
不传递的情况下,则默认是PPT内部进行下载,且发送一个下载成功之后的一个OSS链接。
该OSS链接时效为5分钟
0:只发送消息通知,但不会进行自动下载,包含可下载地址(具体可查看事件通知"PPT_DOWNLOAD" | "OUTLINE_DOWNLOAD")
1:直接进行下载,但是不会发送消息通知
2:直接进行下载,并且发送消息通知,包含可下载地址(具体可查看事件通知"PPT_DOWNLOAD" | "OUTLINE_DOWNLOAD")
使用方式
ts
AipptIframe.show({
options: {
// download_mode: 0 // 只发送消息通知,但不会进行自动下载,包含可下载地址
// download_mode: 1 // 直接进行下载,但是不会发送消息通知
download_mode: 2 // 直接进行下载,并且发送消息通知,包含可下载地址
},
})场景鉴权配置
介绍
在创建PPT的过程中,根据自己的业务场景需要增加一些验证权限,可增加该配置。
功能提示
具体的接收值可以为布尔值、数组、以逗号隔开的场景值字符串。
不传递的情况下,则默认全部不需要进行鉴权
布尔值:传递true则代表全部需要进行鉴权,传递false则代表全部不需要进行鉴权。
数组: [1001,1002] 代表只开启输入生成和预置词生成需要进行验证权限。
字符串: 1001,1002 代表只开启输入生成和预置词生成需要进行验证权限。
具体可参考下述场景值参考
方法
场景值参考
使用方式
ts
AipptIframe.show({
options: {
// scene_auth: "1001,1002",
// scene_auth: [1001, 1002],
scene_auth: false, // 默认值
},
onMessage(type,data){
if (type === 'SCENE_AUTH') { // 鉴权功能验证
if (data.scene === 1021) { // 点击换个大纲 不允许进行下一步
AipptIframe.sceneAuthContinue(false);
} else {
AipptIframe.sceneAuthContinue(true); // 可继续执行下一步
}
}
}
})自定义创建功能
在创建PPT的过程中,根据自己的业务场景可增加自由传递关键词或者文件跳转至自动生成大纲页面。需传递功能板块配置中相同场景功能参数。不支持专业布局生成。
自定义创建功能适合两类场景:
- UI 版本直接传入标题、文件或 Markdown 等内容,让用户进入生成流程。
- API 版本已经创建任务,希望 UI 版本继续展示或编辑该任务。
如果接入方还没有通过 API 创建任务,不应传入 API 版本接入参数中的 taskId。
流程选择
| 接入目标 | 推荐配置 | 进入位置 |
|---|---|---|
| 前端传标题生成 | type=1 + content | 编辑大纲界面 |
| 前端传 Word、XMind、FreeMind、Markdown 文件、PDF、TXT、WPS | type + content: File | 编辑大纲界面 |
| 前端粘贴 Markdown | type=7 + content | 默认编辑大纲;可用 step=2 直接进入模板选择 |
| 前端传参考文档 | type=17 + content + referList | 编辑大纲界面 |
| 前端传单页内容 | type=20 + content | 单页生成流程 |
| API 已有任务继续编辑 | taskId + step=1 | 编辑大纲界面 |
| API 已有任务选择模板 | taskId + step=2 | 选择模板弹框 |
| API 已有任务直接合成 | taskId + step=3 + templateId | 合成 PPT |
使用边界
| 场景 | 必要参数 | 说明 |
|---|---|---|
| UI 自定义创建 | type + content / File / referList | 由 UI 初始化参数直接提供生成内容 |
| API 自定义创建 | taskId | 接入 API 已创建任务;传入 taskId 后,同级 type、content 不再生效 |
| API 自定义创建直接合成 | taskId + step=3 + templateId | 如果使用企业模板,同时传 isEnterprise=true |
step 的含义:
| step | 进入位置 | 说明 |
|---|---|---|
1 | 编辑大纲界面 | 默认流程,用户可确认或编辑大纲 |
2 | 选择模板弹框 | UI 自定义创建当前主要用于粘贴 Markdown;API 自定义创建可用于已有任务 |
3 | 合成 PPT | 仅 API 自定义创建支持,需传入 taskId 和模板信息 |
默认参数
拼装版(API版本)接入参数
异常处理
在初始化自定义上传的情况下会存在异常处理,用户可根据下列的错误进行排查。
默认使用方式
ts
try {
await AipptIframe.show({
options: {
custom_generate: {
content: "标题",
type: 1
}
}
})
} catch (e) { // 进行异常描述的信息捕获
console.log(e, 'catch exception')
}拼装版(API版本)使用方式
ts
try {
await AipptIframe.show({
options: {
custom_generate: {
taskId: 1,
step: 1
}
}
})
} catch (e) { // 进行异常描述的信息捕获
console.log(e, 'catch exception')
}routerOptions配置
介绍
目前AIPPT版本有三个页面:
作品列表页面AI任务生成页面编辑器页面
可根据自己的需求进行配置自己需要的界面, 其中作品列表页面、AI任务生成页面必须存在一个,如果缺失,则不会进行创建Iframe页面。
routerOptions 只控制默认页面和路由参数,不负责携带生成内容。需要初始化时携带标题、文件、Markdown 或 API 任务 ID 时,请使用 options.custom_generate。
| 配置项 | 控制范围 | 不负责 |
|---|---|---|
routerOptions.list | 默认开放或进入作品列表、AI 任务生成页、编辑器 | 不携带生成内容 |
routerOptions.generate | 生成页内的模板场景、流程节点、自定义回退等路由参数 | 不创建 API 任务 |
routerOptions.editor | 是否直达指定作品编辑器,以及编辑器页 Logo 展示方式 | 不表示作品合成成功 |
配置项
事件信息
自定义回退
ts
try {
await AipptIframe.show({
routerOptions: {
list: ['workspace', 'generate', 'editor'],
generate: {
customBack: true
}
},
onMessage(type: string, data: any) {
if (type === 'BACK_BUTTON') {
switch (data.from) {
case 'outline': // (PC,移动端)大纲页回退按钮//
AipptIframe.sceneBack(true, data.from)
break
case 'generate': // (PC,移动端)合成页回退按钮//
AipptIframe.sceneBack(true, data.from)
break
case 'template': // (PC)模板页回退按钮//
AipptIframe.sceneBack(true, data.from)
break
case 'edit': // (移动端)编辑页回退按钮//
AipptIframe.sceneBack(true, data.from)
break
}
}
}
})
} catch (e) { // 进行异常描述的信息捕获
console.log(e, 'catch exception')
}使用说明
默认配置
ts
try {
await AipptIframe.show({
routerOptions: {
list: ['workspace', 'generate', 'editor'],
}
})
} catch (e) { // 进行异常描述的信息捕获
console.log(e, 'catch exception')
}配置作品列表页面
ts
try {
await AipptIframe.show({
routerOptions: {
list: ['workspace'],
}
})
} catch (e) { // 进行异常描述的信息捕获
console.log(e, 'catch exception')
}配置AI任务生成页面
ts
try {
await AipptIframe.show({
routerOptions: {
list: ['generate'],
}
})
} catch (e) { // 进行异常描述的信息捕获
console.log(e, 'catch exception')
}配置作品列表页面 + 编辑PPT页面
ts
try {
await AipptIframe.show({
routerOptions: {
list: ['workspace', 'editor'],
}
})
} catch (e) { // 进行异常描述的信息捕获
console.log(e, 'catch exception')
}配置AI任务生成页面 + 编辑PPT页面
ts
try {
await AipptIframe.show({
routerOptions: {
list: ['generate', 'editor'],
}
})
} catch (e) { // 进行异常描述的信息捕获
console.log(e, 'catch exception')
}直接进入编辑PPT页面
ts
try {
await AipptIframe.show({
routerOptions: {
list: ['workspace', 'generate', 'editor'],
// 存在editor 并且存在id的情况下 则直接跳转至编辑器页面
editor: {
id: 1
}
}
})
} catch (e) { // 进行异常描述的信息捕获
console.log(e, 'catch exception')
}模板场景配置
ts
try {
await AipptIframe.show({
routerOptions: {
list: ['workspace', 'generate', 'editor'],
// 存在generate 并且存在templateScene的情况下 则进入选择模板页面时会自动选择字段并筛选 不存在则为全部模板
generate: {
templateScene: 1
}
}
})
} catch (e) { // 进行异常描述的信息捕获
console.log(e, 'catch exception')
}自定义生成页流程节点 (主要针对自定义上传功能使用)
特别说明:目前只支持自定义上传功能中的粘贴Markdown
ts
try {
await AipptIframe.show({
routerOptions: {
list: ['workspace', 'generate', 'editor'],
// 存在generate 并且 并且存在step !== 1的情况下
generate: {
step: 2, // 默认为1
}
}
})
} catch (e) { // 进行异常描述的信息捕获
console.log(e, 'catch exception')
}