跳到主要内容

预览多版本

对于业务系统支持文件的多版本,Filez文档中台支持预览同一个文件(docId相同)的不同版本。比如:文档名为"中期报告.docx", docId = anky15fhut5,有两个版本version1 = tgja9ytw43,version2 = wqtubg645

对于文档中台来说,用docId + meta 信息中的modified_at 来确定唯一一个文件实体(文挡缓存)。

比如:业务系统中有文档名为"中期报告.docx", docId = anky15fhut5,

version1 = tgja9ytw43,modified_at="2023-03-22T10:31:38.000Z"

version2 = wqtubg645,modified_at="2023-03-22T11:33:48.000Z"

标准集成方式

预览的url query parameter必须带上version

如果只预览最新版本,version可以是latest。比如:

http://${zDocs_domain}/docs/app/thirdparty-rest/${docId}/view/content?version=latest

如果预览某个版本,version是tgja9ytw43。比如:

http://${zDocs_domain}/docs/app/thirdparty-rest/${docId}/view/content?version=tgja9ytw43

这时,Filez文档中台回调业务系统的meta API 和 GET content API时,在url 上也会带上version, 比如:

http://my.integration.com/zoffice/files/${docId}/meta?version=tgja9ytw43 例如业务系统返回的meta 中的modified_at="2023-03-22T10:31:38.000Z",并且docId + modified_at 确定的文件在中台没有缓存(文挡缓存),文档中台会调用下面的请求下载指定版本的文件 http://my.integration.com/zoffice/files/${docId}/content?version=tgja9ytw43

前端集成方式

预览的url query params必须包含version。

如果预览某个版本,version是tgja9ytw43。比如:

http(s)://${zOffice_domain}/docs/app/driver-callback?repoId=${repoId}&docId=${docId}&action=view&userinfo=${userInfo}&meta=${meta}&downloadUrl=${downloadUrl}&params=${params}&ts=${ts}&HMAC=${hmac}

其中,params 中必须包含 version= tgja9ytw43,meta信息中的modified_at 值需要反应当前请求的版本。如果docId + modified_at 确定的文件在中台没有缓存(文挡缓存),文档中台调用业务系统downloadUrl时,会带上version 参数。业务系统根据接受到的参数返回正确版本的文件。