Skip to content

UI 配置

预装版(UI 版本)的配置用于控制 iframe 初始化、页面入口、功能板块、下载方式、场景鉴权和自定义创建流程。阅读本页前,建议先通过 业务流程图 判断当前接入属于默认进入、UI 自定义创建还是 API 自定义创建。

配置分层

预装版(UI 版本)的配置分为三层,建议按顺序确认:

配置层作用典型配置
基础配置初始化 iframe,传入 appkeycodechannel、容器和消息回调appkeycodecontaineronMessage
options 配置控制功能板块、下载模式、场景鉴权和自定义创建fc_platedownload_modescene_authcustom_generate
routerOptions 配置控制默认进入哪些页面,以及部分页面的路由参数listgenerateeditor

如果接入方只需要快速打开完整 AiPPT 页面,通常只配置基础参数即可。需要隐藏功能、接管下载、做场景权限校验或直达某个页面时,再补充 optionsrouterOptions

页面入口选择

入口类型使用方式适合场景后续流程
默认进入配置 routerOptions.list,可选 routerOptions.generaterouterOptions.editor用户从作品列表、AI 任务生成页或编辑器进入完整 UI 流程由用户在 iframe 内继续操作
UI 自定义创建配置 options.custom_generate.typecontent / File / referList接入方前端直接传标题、文件、Markdown 或参考文档发起生成默认进入编辑大纲;粘贴 Markdown 可按 step=2 跳到模板选择
API 自定义创建配置 options.custom_generate.taskId,并按需传 steptemplateIdisEnterprise拼装版 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、WPStype + content: File编辑大纲界面
前端粘贴 Markdowntype=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 后,同级 typecontent 不再生效
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版本有三个页面:

  1. 作品列表页面
  2. AI任务生成页面
  3. 编辑器页面

可根据自己的需求进行配置自己需要的界面, 其中作品列表页面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')
}

异常处理