配置
前端SDK集成使用JSSDK的初始化配置传递必要的信息给文档中台。
userinfo
属性
| 字段名 | 是否必须 | 描述 |
|---|---|---|
| id | 是 | 用户ID |
| display_name | 是 | 用户昵称 |
| 是 | 用户邮箱,可以和id相同 | |
| photo_url | 否 | 用户头像 |
JSON表示
{
"id": "301", //用户ID
"display_name": "docstest02", //用户昵称
"email": "docstest02@lenovocloud.com", //用户邮箱
"photo_url": "https://avatar.thirdparty.com/testOrg/people/301.png", //用户头像
}
meta说明
meta支持传入如下信息,其他信息会被过滤,以下信息可选择只传输部分信息
属性
| 字段名 | 是否必须 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| id | 是 | String | 577 | 唯一的文件ID,必须与请求url中的docId一致 |
| name | 是 | String | 预览中心.docx | 包含拓展名的文件名 |
| modified_at | 是 | String | 2023-08-17T13:57:38.000Z | 修改时间,格式需要和左侧示例一致。详细描述见下面 |
| created_by.id | 是 | String | 301 | 文档创建者id |
| created_by.name | 是 | String | docstest02 | 文档创建者名称 |
| permissions.write | 是 | Boolean | true | 是否有编辑权限 |
| permissions.read | 是 | Boolean | true | 是否有读权限 |
| permissions.download | 否 | Boolean | true | 是否可以下载文件。不能下载文件,文件的内容也不能复制到除当前文件外的地方。缺省值是false |
| permissions.print | 否 | Boolean | true | 是否可以打印文件。缺省值是false |
| role | 否 | String | commenter | 该项值可以是"contributor", "commenter","auditor"。缺省值没有 |
| waterMark.line1 | 否 | String | Filez zOffice docstest02 | 水印第一行,默认为空 |
| waterMark.line2 | 否 | String | last modified user | 水印第二行,默认为空 |
| waterMark.line3 | 否 | String | product info | 水印第三行,默认为空 |
| waterMark.line4 | 否 | String | more info | 水印第四行,默认为空 |
| waterMark.withData | 否 | Boolean | true | 水印是否带日期,默认true |
| waterMark.fontcolor | 否 | String | #cecece | 水印颜色,默认灰色 |
| waterMark.transparent | 否 | Number | 70 | 透明度。值越小,透明效果越明显,默认70,类型为数字 |
| waterMark.rotation | 否 | Number | 315 | 旋转角度,取范围0-360,例如左倾斜=315,右倾斜=45,水平=0,类型为数字 |
| waterMark.fontsize | 否 | String | 16 | 水印字号,默认16 |
| waterMark.font | 否 | String | 黑体 | 水印字体,默认黑体 |
| waterMark.spacing | 否 | Number | 50 | 行间距,默认50,类型为数字 |
| owner.id | 否 | String | 301 | 文档所有者id |
| owner.name | 否 | String | docstest02 | 文档所有者名称 |
| extension.previewWithTrackChange | 否 | Boolean | false | true表示预览时自动显示修订。false或者不提供该字段表示预览时不显示修订。仅针对文字文档 |
| extension.trackChangeForceOn | 否 | Boolean | false | true表示编辑时自动打开修订,并且不能关闭。false或者不提供该字段表示编辑时不强制打开修订。仅针对文字文档。 |
JSON表示
{
"id": "577",
"name": "预览中心.docx",
"modified_at": "2023-08-17T13:57:38.000Z",
"created_by": {
"id": "301",
"name": "docstest02"
},
"permissions": {
"write": true, //控制文档是否可以被编辑
"read": true, //控制文档是否可以被预览
},
"role": "commenter", //可选项,指明当前用户对当前文档在zoffice编辑器里的角色(仅针对文字文档)。该项值可以是"contributor","commenter","auditor"。
"extension": {
"previewWithTrackChange":false, //true表示预览时自动显示修订。false或者不提供该字段表示预览时不显示修订。仅针对文字文档。
"trackChangeForceOn":false, //true表示编辑时自动打开修订,并且不能关闭。false或者不提供该字段表示编辑时不强制打开修订。仅针对文字文档。
},
"waterMark":{ //文档水印相关
"linel": "李明liming@lenovo.com", //比如文件最后更新者信息
"line2": "张三hangshan@lenovo.com", //比如:文件编辑者/预览者信息
"line3": "", //比如:其他自定义文字
"line4": "", //比如:其他自定义文字
"withDate": true, //每行文字后,是否带日期
"fontcolor": "#fD4147", //RGB值,
"transparent": 30, //0-100,透明度。值越小,透明效果越明显。
"rotation": 315, //旋转角度0-360,左倾斜=315,右倾斜=45,水平=0
"fontsize": "72",
"font": "黑体"
}
}
modified_at 实现时,必须注意 请参考:缓存说明
openConfig
属性
| 字段名 | 是否必须 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| action | 是 | String | edit或view | 打开在线编辑或预览页面 |
JSON表示
{
"action": "edit"
}
repoConfig
属性
| 字段名 | 是否必须 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| id | 是 | String | 3rd-party | 三方应用Id |
| downloadUrl | 是 | String | https://download.lenovocloud.com/v2/context/577/content | 下载文件的url |
| uploadUrl | 是 | String | https://upload.lenovocloud.com/v2/context/577/content | 上传文件的url |
| params | 否 | Object | 回调三方应用时传递的参数 |
JSON表示
{
"id": "3rd-party",
"downloadUrl": "https://demohost/v2/context/577/content",
"uploadUrl": "https://demohost/v2/context/577/content",
"params": {
"x-param-1": "aaa",
"x-param-2": "bbb"
}
}
repoConfig.params
params中传递的信息会在调用三方接口时,同时在header,cookie,queryParams中回传。
比如当params如上时,三方接口为/v2/context/docId/content时,三方实际收到的请求如下
请求地址: /v2/context/docId/content?x-param-1=aaa&x-param-2=bbb
请求头:
x-param-1: aaa
x-param-2: bbb
Cookie: x-param-1=aaa;x-param-2=bbb
注意: 需要在header中回传的参数,必须开头是x-(可以通过修改特殊配置headerPrefix默认值)
token
其他参数的签名,用于验证请求的合法性。详情参考签名
documentServerAddr
访问文档服务器的地址,包括协议、主机名、端口,如果三方应用配置了代理路径,则需要包含代理路径。