# 数科预览及水印技术说明文档

# 1. 业务逻辑说明

# 1.1 数科在线预览

数科在线预览时序图 descript

主要用于各个模板对正文、附件的在线预览,效果如图

descript

# 1.2 水印

水印为数科轻阅读服务的功能,OA集成

开启条件:

1.系统管理员账号->系统设置->流版签设置->在线预览->在线预览态(正文和附件)开关开启

descript

2.系统管理员账号->安全管理->数据保护->水印设置->水印显示范围->office在线查看> 勾选

descript

3.预览文件水印状态(非编辑文件)

效果如图:

descript

# 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中进行预览

descript

# 2.1.2.2 获取数科轻阅读需要的参数配置接口(用于数科回调)

前端挂载请求数科预览URL后,数科会回调该接口,获取预览文件详细信息(下载地址、上传地址、权限、水印)

descript

# 2.1.2.3 数科轻阅读向oa保存文件接口(用于数科回调)

在数科预览界面签批或盖章后,数科服务会调用该接口将新的文件保存到OA

descript

# 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则不显示水印

descript

2.可以通过SkLightReadWatermark对象,调整水印样式

descript

创建人:qingsg
修改人:het、liangyd