操作历史 events
数据结构
例子:同步盘策划书.doc
[
{
"id":210,
"opType":"EDIT",
"path":"/同步盘策划书.doc",
"isdir":false,
"isdel":false,
"size":17,
"version":2,
"srcMachineName":"01acs5wkSoWdODo2sUK-dw",
"editorNickName":"aisuhua",
"editorAccount":"1079087531@qq.com",
"timestamp":1494827907000,
"isVirus":false
},
{
"id":209,
"opType":"ADD",
"path":"/同步盘策划书.doc",
"isdir":false,
"isdel":false,
"size":0,
"version":1,
"srcMachineName":"01acs5wkSoWdODo2sUK-dw",
"editorNickName":"aisuhua",
"editorAccount":"1079087531@qq.com",
"timestamp":1494827835000,
"isVirus":false
}
]
字段分析
opType
行为类型
行为 | 标识 | 例子 | 说明 |
---|---|---|---|
增加 | ADD |
用户 增加文件 同步盘策划书.doc |
- |
修改 | EDIT |
用户 修改文件 同步盘策划书.doc |
- |
重命名 | RENAME |
用户 重命名文件 同步盘策划书-初稿.doc(原名 同步盘策划书.doc) |
- |
删除 | DELETE |
用户 删除文件 同步盘策划书.doc |
- |
恢复 | RESTORE |
用户 恢复文件 无标题文档2 |
文件的历史版本记录中可执行此操作 |
粉碎 | PURGE |
用户 粉碎文件 无标题文档2 |
回收站可执行该操作,不可恢复 |
移动 | MOVE |
用户 移动文件 同步盘策划书.doc(从 temp 到 myfolder) |
移动文件或重命名文件夹时,会发生此操作 |
path
文件的完整路径
坚果云中的文件没有ID,或者说它的ID就是文件的完整路径
path
。同目录下,文件名一定是唯一的。
通过
path
来查看它的版本信息、判断冲突等等。(会产生有趣的现象)
isdir
是否为目录
文件分类 | 标识 |
---|---|
文件 | file |
文件夹 | directory |
version
文件版本
每一次操作就会产生一个新的文件版本,操作与文件版本之间是一对一的关系。
文件的版本是操作后的结果,文件的版本号随每一次操作而递增。
操作
操作 | 说明 |
---|---|
撤销 | 撤销当前操作,把文件状态回滚到当前操作所对应版本的上一个版本 |
历史版本
数据结构
例子:文件的版本信息
[
{
"version":3,
"opType":"RESTORE",
"editorNick":"aisuhua",
"editorAccount":"1079087531@qq.com",
"mtime":1494828124000,
"size":17,
"isDir":false,
"isDeleted":false,
"isDelta":false,
"altPath":null
},
{
"version":2,
"opType":"EDIT",
"editorNick":"aisuhua",
"editorAccount":"1079087531@qq.com",
"mtime":1494827907000,
"size":17,
"isDir":false,
"isDeleted":false,
"isDelta":false,
"altPath":null
},
{
"version":1,
"opType":"ADD",
"editorNick":"aisuhua",
"editorAccount":"1079087531@qq.com",
"mtime":1494827835000,
"size":0,
"isDir":false,
"isDeleted":false,
"isDelta":false,
"altPath":null
}
]
操作
操作 | 说明 |
---|---|
恢复 | 把文件恢复到特定版本所对应的状态 |
下载 | 下载特定版本的文件 |
几点特征
文件夹没有历史版本信息,不能将它恢复到指定的版本。
文件的历史版本记录中没有‘重命名’
RENAME
类型的记录。但RENAME
操作可以在操作历史中看到。
同步文件夹
分类
分类 | 说明 |
---|---|
个人同步文件夹 | 同步个人的私有文件 |
多人协同文件夹 | 多人参与的同步文件夹 |
同步文件夹被删除后,该文件夹下的所有文件将被永久清空,不可恢复。
文件冲突
冲突发生的过程:
根据版本号判断文件是否冲突,若本地所修改文件的版本号跟服务端不一致,那么就会发生冲突。
参考:如何避免和解决文件冲突
增量更新
参考:智能增量同步
例子
操作记录
例1:把 folder 重命名为 folder2
--->
操作记录
上传过程
上传进度
网络截图
create
创建文件夹upload
上传文件
响应内容
{"version":1,"name":"folder4","path":"/folder4"}
响应内容
{"size":34,"version":1}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。