汽车网站更新怎么做,有什么网站用名字做图片,郑州做网站需要多少钱,小程序搭建步骤一#xff1a;开启客户端配置 如果不开启#xff0c;回调请求里面的history和changeUrl是空
二#xff1a;客户端主要实现2个回调函数
1.实现onRequestHistory事件#xff0c;该事件会在ui点击查看历史的时候发起,用于展示历史列表 关键在于获取到history的内容#xff…一开启客户端配置 如果不开启回调请求里面的history和changeUrl是空
二客户端主要实现2个回调函数
1.实现onRequestHistory事件该事件会在ui点击查看历史的时候发起,用于展示历史列表 关键在于获取到history的内容调用refreshHistory方法
docEditor.refreshHistory(// show the document version history
{currentVersion: 31,history: historyList
})
historyList 的数据结构
[{serverVersion: 7.4.0,//来源回调的history第一个版本无需该字段changes: [{//来源回调的history第一个版本该字段为nullcreated: 2023-09-28 02:01:25,user: {id: uid-2,name: group-2 xxx}}, {created: 2023-09-28 02:01:49,user: {id: uid-3,name: group-3 Hamish Mitchell}}],key: __ffff_200.200.170.119new.docx291695866450703,来源回调的keyversion: 30,//需要自己维护created: 2023-09-28 02:01:25,//自己维护一般是打开文档的时候记录user: {//自己维护一般是打开文档的时候记录id: uid-2,name: group-2 xxx}
}]
回调的数据结构如下(仅供参考) {key: 1696822265751m4sq5vs50j,status: 2,url: http://xxx/cache/files/data/1696822265751m4sq5vs50j_9201/output.docx/output.docx?md5jljJJVUlAm4pYX_6mvC_Lwexpires1696823346filenameoutput.docx,changesurl: http://xxxx/cache/files/data/1696822265751m4sq5vs50j_9201/changes.zip/changes.zip?md5ivaLJ_lI0MK5nBdCqy8HLwexpires1696823346filenamechanges.zip,history: { serverVersion: 7.4.0, changes: [ [Object] ] },users: [ 64773bdb97acf80031f4ef56 ],actions: [ { type: 0, userid: 64773bdb97acf80031f4ef56 } ],lastsave: 2023-10-09T03:33:46.000Z,notmodified: true,filetype: docx
}
historyList 排序要求按version升序排序
2.实现onRequestHistoryData事件该事件会ui点击查看具体的某个历史的时候触发 关键在于获取某个版本的具体historyData调用setHistoryData方法发起请求
function onRequestHistoryData(data) {var version data.data;//对应点击哪个版本docEditor.setHistoryData(historyData);
} historyData的数据结构
{
fileType: docx,
version: 25,
key: xxxxxx,
url: http://xxxxx/history?fileNamenew.docxfileprev.docxver25useraddressxxx,//当前版本下载的url
directUrl: null,
previous: {//上一个版本的信息如果无上个版本可以不要这个字段例如第一个版本fileType: docx,key: new.docx231684394201684,url: http://xxx/history?fileNamenew.docxfileprev.docxver24useraddressxxxx,directUrl: null
},
changesUrl: http://xxxxfilediff.zipver24,//下载当前版本历史记录存储的diff.zip文件
token: eyJhbGciOiJIUzI1NiIsInR//当条数据签名
}
三服务端所有工作都是围绕实现上述的数据
1.处理onlyoffice发起的回调函数将保存history信息更新文件保存历史文件保存changeUrl的zip文件刷新key
例如刚新建个文件的时候就添加个历史记录版本是1客户端编辑后回调的处理保存版本号是2的历史记录创建个版本号是2的目录里面存放上个版本的文件和回调changeUrl里的文件拼接historyData的changesUrl就用对应版本号里面对应的信息url也是。changeUrl的内容是当前版本和上个版本的对比
2.实现getHistoryList接口获取对应的historyList给到客户端用
3.实现getHistoryData接口返回historyData给客户端用
4.实现download相关的接口返回historyData里面url和changeUrl会下载到的文件
其他
实现界面有关闭按钮只需要在客户端实现onRequestHistoryClose函数里面执行location.reload()即可