# wps_opendoc_demos **Repository Path**: jekyll114/wps_opendoc_demos ## Basic Information - **Project Name**: wps_opendoc_demos - **Description**: WPS文档中台的聚合Demo发布库 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-07-11 - **Last Updated**: 2024-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README *文档中台在线预览demo* # 版本记录 ## v1.7.3 * 新增 * 新增对于solution环境的支持,环境为「新开放平台」 * 更新weboffice的SDK,升级到1.1.27版本 * 针对于「新开放平台」的预览和编辑场景,做了最小化的支持 * 更新 * 在系统启动的时候,输出下当前jar包的版本号 ## v1.7.2 * 新增 * 对于编辑行为,增加一个没有预设用户的使用场景 * weboffice支持js宏的demo * 内容控件和书签插入的demo ## v1.7.1 > 必须7.1.2307a(文档中心) * 新增 * 文档中心-连接器应用:使用JsonNode替换JSONObject * uof3.0的文字uot3、表格uos3,演示uop3的支持,目前编辑打开是只读,在线预览的所有模式都支持 * /v1/3rd/copy_control/paste接口实现 * 移动端打开都是分页模式 * 更新 * 对于/open这个path的替换做了判断 * 对于开发者接口做了更新,支持了v6/7强刷,自定义保存支持了四个组件,更新了对于表格的保存参数 ## v1.7.0 > 必须5.1.7、7.1.230511a(文档中心)、7.1.2304(文档中台) * 新增 * 文档中心-连接器应用对接,实现「模板上传」接口 * 实现「获取模板设计链接」接口 * 实现「获取数智文档编辑链接」接口 * 实现「文档下载」接口 * 模板列表和数智文档列表的更新逻辑 * 记录推送数据到文件 * 增加对于文字水印支持自定义字体的支持,text_watermark的text_font_name(必须文档中台7.1.2305) * 增加对于文档连接器的控件内容变化的监听事件 * 增加对于企业授权access_token的实现 * 增加对于企业通讯录查询的接口通用实现 * 实现「文档合并」接口的简单样例,基于mergeURL文件夹内的文件做自动合并 * 更新 * 修复基于模板创建数智文档后的文档错乱问题 * 修复view页面中对于webpath的支持 * 更新了OpenSDK0.0.7版本,OpenSDK-0.0.7 (具体见 附件 openSDK-0.0.7.zip)更新连接器的添加控件事件,删除控件事件,控件更改事件,控件列表,推送控件数据, 支持打印下载兼容层链接 * 支持ContentControlAfterAdd,ContentControlBeforeDelete,ContentControlBeforeContentUpdate三个连接器的专有事件监听 * 修复file/info方法里针对资源不存在的错误码返回 * 正确使用错误码 ## v1.6.8 > 必须5.1.7、7.1.2304 * 新增 * copy_control的控制,可以让内容只在WO中流转,限制外流 * 增加OpenSDK0.0.6,适配公文极速也能打印 * 新增对于「限制书签」的接口调用 * 更新 * 预处理接口覆盖公文极速和缓存预览,统一使用v1接口 * 增加context-path设置,支持webpath ## v1.6.7 > 必须5.1.7、6.0.2302 * 新增 * PDF2WORD(带OCR和AI)的能力模型调用 * 更新 * 文档中台版本跟着大版本走,调整为V7 * 测试验证新的网关路由`/o/kubewpsops`使用情况 * 获取当前文件的最大历史版本号 * 适配文档中心内集群版的文档中台,弱化了route_key的影响 * 更新预加载的V2接口实现 * 添加file/save接口中对于x-weboffice-save-caller参数的打印 * 添加「文档打印」和「文档下载」按钮,再V6/7的演示环境中 * view页面的search会跟到任意内嵌的页面里 * 取消特性预览的user_acl都是0的设计 * 自定义的插件js增加图标的base64 ## v1.6.6 > 必须5.1.7、6.0.2301 * 新增 * WOA的webhook机器人服务 * 调用openAI的GTP接口服务 * WOA机器人按照关键字返回对应文件的内容 * openAI的sk和model的配置设置 * 繁中的页面设置 * et_page_zoom参数在v6,v5和开放平台实现,默认是所有列到一页 * 修复 * 启动时对于初始文件和文件夹的创建 ## v1.6.5 > 必须5.1.7、6.0.2301 * 新增 * 中台V6的「公文极速预览」的对接实现 * 公文极速预览对比高清预览,公文极速预览对比缓存预览 * 公文极速预览支持token传递 ## v1.6.4 > 必须5.1.7、6.0.2211、6.0.2212 * 新增 * 中台V6的预览格式扩充,增加了11月份的log|ini|inf,12月份的cdr|vsd|vsdx|mht|mhtml|htm|html|pot|ett * 修复 * 将在线编辑的标签上的说明更明确,改为「只读打开」和「特性只读」 ## v1.6.3 > 必须5.1.7、6.0.2210 * 修复 * 格式处理的异步接口返回值中,download_id不再有,做了判断 * 格式处理的通知接口种,不再反馈「查询书签」的结果,做了判断 * 兼容wwo类型的file/info计数统计 * 格式处理中,V6的正文text保持与V5一致 * user/info接口的未初始化 * 新增 * 中台v6实现强刷接口 * 中台v6/v5的开发者接口重新梳理和适配实现,在页面中可以一眼看出来是V5或者V6的页面 * V6的授权信息输出格式化 ## v1.6.2 > 必须5.1.7、6.0.2209 * 新增 * 针对v6-0920的file/info优化,做了计数器 * 主动保存接口实现 ## v1.6.1 > 必须5.1.7、6.0.2208.20220815+bugfix0826 * 新增 * v5对接不通过SDK方式 * 通过v5的裸对接验证v5->v6升级的兼容性 * 文字水印,图片水印功能 ## v1.6.0 > 必须5.1.7、6.0.2208.20220815 * 新增 * 左6右5对比高清预览,体现6比5快 * 左6右开放平台对比普通预览,体现开放平台比6的功能提前度 * 左6右6对比缓存预览vs高清预览,体现缓存预览的加载速度和显示效果 ## v1.5.7 > 必须5.1.7、6.0.2208.20220815 * 新增 * 增加对于wwo的格式转换对于zip文件(转png形成多个文件)的支持 * 在preview页面上增加一个选项来验证本地文件上传时ID里是否带有_-符号 * Demo下载地址和当前版本显示 ## v1.5.6 > 必须5.1.7、6.0.2206.20220729+bugifx0805 * 新增 * 缓存预览适配 * isFileIDNotTime,在localstorage中设置,可以让fileID增加-_来做集群验证 * 更新 * 更新opensdk到适配V6,预览、图片、压缩包时token都可以传递 * TODO: 0729版本中WO有几率出现x-weboffice-file-id丢失,利用referer做了保底 * 20220815版本上:预览预处理webhook修复后优化了体验 * filelist页面上的异步操作都做了交互询问 * 修复 * fix:预览方法的wwo_type获取失败 ## v1.5.5 > 必须5.1.7、6.0.2206.20220629 * 新增 * 适配2206.20220629版本中格式处理的异步接口 * 可通过localstorage的配置控制query中是否有中文和特殊字符参数 * 适配2206.20220629版本中图片和压缩包的预览 * ≥2206.20220629 开通了只读评论功能 * 增加了「最大可保存文件大小」配置项 * 更新 * 将file_records和file_history的创建,默认加上.json文件后缀,让初始化时默认为文件 * 精简了preview页面的逻辑,上传成功后直接跳转到列表页 * 将私有化maven的包通过本地jar包提交 ## v1.5.4 > 必须5.1.7、6.0.2206.20220615 * 新增 * 文档中台v6版本支持ofd编辑和预览 * 重构关于格式转换的实现,灵活处理目标格式,支持对pdf、ofd、office格式、图片(png)格式的转换 * 更新 * 适配了2206版本的格式处理的下载逻辑 * 适配了2206版本的格式处理通用的接口调用逻辑 * 适配了2206版本的多书签套用逻辑 * 适配了2206版本的错误码 * version接口中时间格式统一为10位的秒 ## v1.5.3 > 必须5.1.7、6.0.2205 * 新增 * 文档中台v6版本,对接完成编辑和获取授权 * 带动态水印打印 * 文档中台V6版本,对接完成格式转换 * 对接完成公网格式转换dhs * 文档中台v6版本,对接完成预览 * 更新 * 简洁重构文档列表文件操作,将场景和环境选择做了联动控制 * 预览文件时针对非office文档版本0和版本1逻辑优化 * UserModel初始化数据更新为有意义数据 * 修正开放平台名称,调整环境选项的顺序 ## v1.5.2 > 必须5.1.7 * 新增 * 应用文档管理的示例接口调用,只实现了新建文件夹 * WebOffice插件示例:知识库模式示例 ## v1.5.1 > 必须5.1.7 * 新增 * /v1/3rd/file/view/notify接口实现 * 预览场景扩展为四类便于验证,包括原始页面,原始页面嵌入,原始界面加token嵌入,sdk卸载iframe给裸预览地址 * 在线编辑中「查看文档在线用户信息」、「强制刷新编辑页面」接口实现 * 在线编辑中,编辑锁三个接口「加」「解」「查」实现 * 更新 * 精简application.yml中的配置项,避免重复设置,消除opendochost配置项 * 更新WebOffice的JSSDK到1.1.17版本 * 修复 * 本地上传一个文档作为新版本时未在file_history中写入creater和monifyer ## v1.5.0 > 必须5.1.7 * 新增 * 简化操作,将三个环境、用户信息、展现模式、语言环境做了选择器,便于灵活组合操作 * 减少外网链接依赖,将js资源和图片资源都本地化 ## v1.4.2 > 必须5.1.7 * 新增 * 增加在线编辑和在线预览的错误码的返回 * 增加通过WebOffice实现预览进程打开的特性(高清预览和表格筛选) ## v1.4.1 > 必须5.1.7 * 新增 * 在预览界面中可以直接通过开放平台的模板来创建文档,便于多环境校验验证问题 ## v1.4.0 > 必须5.1.7 * 新增 * 将三个环境的demo做合并,包括私有化文档中台opendoc,公网开放平台在线编辑wwo_open,私有化独立WebOffice服务wwo_my * 将file/save接口中通过限制content-length来做自定义错误的返回配置 ## v1.3.8 > 必须5.1.7 * 新增 * 完整可演示的从本地上传新版本并强刷的例子 ## v1.3.7 > 必须5.1.7 * 新增 * WebOffice开发者接口的调用方法样例 ## v1.3.6 > 必须5.1.7 * 新增 * 多书签套用的样例(使用致远的样章实现) * 更新 * 将opensdk引入对previewSDK做了更新,opensdk的适用版本为≥5.1.7_bugfix1125 ## v1.3.5 > 必须5.1.7 * 更新 * 将业务方需要实现的所有的接口都捕获了request请求的输出便于调试 ## v1.3.4 > 必须5.1.7 * 新增 * 文档列表的删除操作,删除列表数据及实体文件和历史文件夹 * 更新 * JSSDK版本更新到1.1.16 * 完善了文档下载逻辑,确保是保存成功后再去下载最新的文件 ## v1.3.3 > 必须5.1.7 * 新增 * 工具栏的自定义按钮、下拉菜单 * 下拉菜单增加增加下载最新版本的事件 ## v1.3.2 > 必须5.1.7 * 新增 * 增加file/save接口的场景区别反馈 ## v1.3.1 > 必须5.1.7 * 新增 * 增加多语言演示 * 增加接收中台的授权回调接口实现 ## v1.3.0 * 新增 * 替换opendoc-javaSDK为1.3.1版本 * 增加「中台预览」、「编辑」场景的前端jssdk进行setToken能力 ## v1.2.5 * 修复 * WebOffice不支持的文档类型直接抛异常,需要构建WebOffice的URL之前做异常处理 ## v1.2.4 * 修复 * 将后缀名统一为小写后再做WO服务URL的生成 ## v1.2.3 * 新增功能 * 增加WO启动时候对于事件的监控在console的输出 ## v1.2.2 * 新增功能 * 增加一个外网下载地址配置项「internaldownloadhost」,方便做内外网代理配置 ## v1.2.1 * 新增功能 * 对于通过previewSDK实现对于「打印」的postMessage功能(要求中台必须是release_docs_x86_v5.1.6.74_20210630) ## v1.2.0 * 新增功能 * 预览的裸地址(要求中台必须是bugfix_release_open_v5.1.6_20210716) ## v1.1.0 * 新增功能 * 支持配置ip白名单 * 增加了编辑 * 增加了转换,再通过websocket来通知自动下载(演示格式处理的callback) ## v1.0.0 * 新增功能 * 支持上传本地文件,在线预览 * 支持查看所有文件列表 * 支持创建应用,设置动态水印、预览权限 # 使用方法 ## 构建 ``` # 测试包 mvn -Dmaven.test.skip=true -Pdev clean package # 正式包 mvn -Dmaven.test.skip=true -Pprod clean package ``` 构建完成后,会在target目录下生成如下结构 ``` target --- web-view-demo-xxxx.jar ``` web-view-demo-xxxx.jar提供了demo服务 ## 修改配置文件 修改配置文件application.yml(可以从jar包中拷贝出来) ```yml viewdemo: data-store-path: servers: - name: open # 开放平台配置 host: http://nonssl.wpsgo.com/webpath/open # 开放平台域名,一定要带/open version: WPS-3 accessId: AK20210128ELAWVL # 开放平台管理员appId secretKey: 822a77a1d183e151b17378b65b76f187 # 开放平台管理员secretKey ip-whites: # IP白名单,不配置则不添加 - 10.226.20.28 server: port: 80 # 服务端口号 ``` ## 启动服务 ``` # 加载指定配置文件启动 java -jar web-view-demo-1.0.0.RELEASE.jar --spring.config.location=application.yml ``` ## 第一次使用或者切换对接的预览服务器 访问url:http://xxx.xxx.xxx.xxx/web/setting/get 第一次使用或者切换对接的预览服务器,都需要点击“设置” → “应用管理” → “创建新应用”。创建新应用后等待5分钟即可使用预览功能。 ## 功能说明 访问url:http://xxx.xxx.xxx.xxx 1. 文件预览页面,可以上传本地文件直接预览 2. 文件列表页面,可以查看历史预览文件,直接点击“预览”按钮直接预览,避免文件重复上传,点击“清空文件”按钮会清空所有历史文件 3. 设置页面,可以查看数据存储目录,预览服务配置,应用配置,可以设置动态水印和预览权限