# 数科预览及水印技术说明文档
# 1. 业务逻辑说明
# 1.1 数科在线预览
数科在线预览时序图
主要用于各个模板对正文、附件的在线预览,效果如图
# 1.2 水印
水印为数科轻阅读服务的功能,OA集成
开启条件:
1.系统管理员账号->系统设置->流版签设置->在线预览->在线预览态(正文和附件)开关开启
2.系统管理员账号->安全管理->数据保护->水印设置->水印显示范围->office在线查看> 勾选
3.预览文件水印状态(非编辑文件)
效果如图:
# 2. 接口说明
# 2.1 在线预览
# 2.1.1 前端代码
定义了一个闭包对象,用来和数科对接。
PC端
apps-office-plugins-front 工程:
\\desktop-front\\src\\office\\js\\skLightRead\\skAdapter.js
移动端:
apps-office-plugins-front 工程
:\\mplus-front\\src\\webOffice\\skLightRead\\skAdapter.js
# 2.1.2 后端代码(PC/移动共用)
apps-office-plugins 工程
SuwellResource.java
# 2.1.2.1 获取数科预览URL
数科预览接口,前端请求该接口,返回预览URL链接,挂载到iframe中进行预览
# 2.1.2.2 获取数科轻阅读需要的参数配置接口(用于数科回调)
前端挂载请求数科预览URL后,数科会回调该接口,获取预览文件详细信息(下载地址、上传地址、权限、水印)
# 2.1.2.3 数科轻阅读向oa保存文件接口(用于数科回调)
在数科预览界面签批或盖章后,数科服务会调用该接口将新的文件保存到OA
# 2.1.3 使用方法
# 2.1.3.1 页面引用officeSDK
// 在需要使用的html页面引入officeSDK.js
<script type="text/javascript"> src="/seeyon/common/office/js/officeSDK.js">
</script>
# 2.1.3.2 初始化officeSDK
初始化officeSDK会加载skAdapter.js,这里js是通过后台的配置返回的,比如开启了预览态,fileType 为流式或者版式文件都会返回skAdapter.js;未开启预览态,流式文件会返回当前配置的编辑器js,版式文件则返回skAdapter.js
# 2.1.3.3 打开文件
打开文件目前有两种方式:
1、嵌入式打开
嵌入式打开需要在init的时候给domId设置挂载点的元素id,流版签插件将会作为子元素挂载在页面上
2、弹窗式打开
弹窗式打开需要在openfile的时候设置isDialog为true,流版签插件将会挂载在自己的弹窗中显示出来。如果需要弹出隐藏的方式需要设置isHide为true(嵌入式不支持隐藏式打开,需要业务自己控制挂载点的显示/隐藏)
# 2.2 水印
# 2.2.1 前端代码
水印为数科轻阅读功能,无前端代码
# 2.2.2 后端代码
水印为数科轻阅读功能,无后端代码
SuwellResource.java
# 2.2.3 使用方法
1.在提供给数科回调的接口 /rest/skResource/sk/file/info 里,会返回相关水印信息。获取水印的方法如下,返回为null则不显示水印
2.可以通过SkLightReadWatermark对象,调整水印样式