iFrame 方案

文多多 AiPPT 可以通过 iframe 与您的系统紧密结合,通过简单的一些步骤,就能将 Docmee 嵌入到您的业务系统中。
快速使用您的 TOKEN 来体验 iframe 嵌入的效果
通过 NPM 使用 (推荐)
安装我们提供的 SDK,即可引入我们的 UI
开源项目
docmee/aippt-ui-iframe-v2
↗中,提供了一个简单的事例,您可以参考
如果想要对接 V1 版本,您可以参考docmee/aippt-ui-iframe
↗
- TypeScript 支持
* ⚠️ 注意:【升级提醒】当您使用creator-v2
页面时,如果你需要使用creatorData
来从外部直接传入数据,会直接开始 PPT 生成,请注意。
如果您使用的是 JS,您可能无法使用CreatorType
这个枚举类型,此次您只能传入代表任务类型的数字,具体的:
1.智能生成(主题、要求)
2.上传文件生成
3.上传思维导图生成
4.通过 word 精准转 ppt
5.通过网页链接生成
6.粘贴文本内容生成
7.Markdown 大纲生成
准备
-
下载我们提供的 SDK 文件
-
在您的页面中引入
初始化
您需要实例化我们提供的类 DocmeeUI
来嵌入我们的 UI
⚠️ 不要在 file 协议下运行,请启动一个 http 服务来运行!
接入代码示例
github: https://github.com/veasion/aippt-ui-iframe
gitee: https://gitee.com/veasion/aippt-ui-iframe
参数说明
以下参数都可以在new Docmee({...})
时候传入:
挂载 iframe 的容器
创建PPT的版本选择
主题色
#4b39b8
进入页面,'dashboard'表示文档列表页,'creator'生成 ppt 页面, 'customTemplate'表示进入自定义模版页面,'editor'表示编辑页面(pptId 必须同时传递)
dashboard
进入 editor 页面时编辑的 pptId,如果 page 为 editor 时,pptId 不能为空
-
进入 editor 页面时显示创建生成动画过程
-
iframe 背景颜色,可填入颜色或者图片 url 地址
#f1f1f1
亮色,暗色模式
当前浏览器环境
移动端模式
false
iframe 背景大小 与 CSS 中的 background-size 语法相同
cover
内边距(也就是 css 的 padding,语法相同)
20px 10px 20px 10px
生成页面传递 内容 subject
与 text
二选其一; createNow
如果为 true
表示直接开始大纲生成(仅当 page=creator)时生效
-
下载文件选项 返回 false 表示禁用下载,如果只想打开一种下载方式,可以传递数组['pptx']
表示只允许下载为 pptx 格式
true
生成 PPT 方式,topic:主题生成,material:外部资料
['topic', 'material']
导出大纲的文件格式(注意:不管是 txt 还是 md 格式,内容都是按照 markdown 语法来导出的)
'md'
控制自定义模版选择界面,若自为空时,是否需要显示“立即创建”按钮
false
导出 PDF 文档隐藏文多多水印
false
控制自定义模版选择界面,是否显示“添加自定义模版”按钮,若设置为 true,则 createCustomTemplateWhenEmpty 参数无效
false
注入 CSS 样式,可通过传递自定义 CSS 来更加深度地自定义文多多的样式,支持可访问的 URL 地址或直接传入 CSS 字符串,例如:#docmee_SdkContainer {background: white !important;}
,或'https://abc.cn/style.css'
-
事件类型
iFrame 挂载完成
PPT 生成前触发 (用户点击“生成大纲”,以及选择完模版,点击“开始创作”时触发,通 过 subtype 区分)
该事件可以返回 true/false (也可以返回 异步 Promise<boolean>) 来决定用户是否能 够继续生成
自定义完整模版前触发
自定义模版完成触发
PPT 生成完毕扣费时触发
PPT 生成后触发
下载前触发
该事件可以返回 true/false 或 string (也可以返回 异步 Promise<boolean |
string>) 来决定用户是否能够继续下载 PPT,或指定 ppt 文档名称,返回的名称需要
以.pptx
结尾才表示重命名文件
用户信息
手动触发保存(仅用户点击触发)
错误
生成 PPT 方式修改
只要生成方式有变化就会触发
其他 API
以下方法都是 DocmeeUI 类 实例的成员,需要通过docmeeUI.
来调用
-
docmeeUI.updateToken(newToken: string): void
更新用户 Token -
docmeeUI.destroy(): void
卸载 iframe -
docmeeUI.getInfo(): void
手动获取一次 用户信息,用户信息会在onMessage
回调 中返回 -
docmeeUI.navigate(obj: {page: 'creator' | 'dashboard' | 'editor' | 'customTemplate', pptId?: string}): void
跳转页面, 同样地如果前往 editor 页面,pptId 是必须的
docmeeUI.sendMessage(message: {type: string, content: string}): void
控制 SDK 发送消息
docmeeUI.changeCreatorData(data: {subject: string, text: string}, createNow: boolean): void
在creator
页面中修改输入框中的值
-
docmeeUI.updateTemplate(templateId: string)
外部指定更换模板,并刷新 -
docmeeUI.showTemplateDialog(type?: 'custom' | 'system')
弹出模板选择弹框, type: 'custom' or 'system' (default) -
docmeeUI.getCurrentPptInfo()
返回 ppt 信息(在事件中返回,事件类型currentPptInfo)
国际化
为了应对多语种环境,文多多 AiPPT 支持国际化。
目前支持的语言列表有:
- 中文
zh
- 英文
en
- 日本语
jp
- 韩语
ko
- 法语
fr
- 德语
de
- 葡萄牙语
pt
接口转发
如果你想对某些接口进行特殊处理,比如图片接口走你们自己的图库接口之类的扩展,或者 API 代理商 提供给用户 iframe 接入方式,都可以通过 nginx 进行接口转发实现。
示例:
假设你的服务器域名为 xxx.com
服务器端 nginx 配置如下:
使用 DocmeeUI 是指定代理相关参数: