订阅单个文件
请求参数
名称 | 类型 | 是否必填 | 示例值 | 描述 |
---|---|---|---|---|
Head | String | 是 | subscribe | 类型,订阅文件为 "subscribe" |
Data | Struct | 是 | - | 具体请参见下表结构体 SubscribeReq |
结构体 SubscribeReq
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Id | String | 456AFAA7 | 文件 id |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Head | String | subscribe | 类型,获取目录为 "subscribe" |
Data | Struct | - | 具体请参见下表结构体 SubscribeResp |
结构体 SubscribeResp
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
Id | String | 456AFAA7 | 文件 id |
Rev | Integer | 323 | 第多少次修改 |
Ops | String | - | 文件内容 |
User | String | fengcaiwen | 订阅的用户 |
请求示例
{
"Head": "subscribe",
"Data": {
"Id": "C82C4F32"
}
}
返回示例
{
"Head": "subscribe",
"Data": {
"Id": "C82C4F32",
"Rev": 323,
"Ops": [
"hello naison\n\n\n\nhelol\n\ntewst\n\ntes\n\n\nsdfsdf\nsdf\nsd\nfs\ndf\nsdf\n\nsdf\nsd\nf\n\nasdfasdf\n\n\nasdf\n\nasf\n\ns\ndf\n\nasd\n\nasf\n\naf\n\n😊\n"
],
"User": "A65C39BF"
}
}
报错示例
{
"Head": "revise.err",
"Data": {
"Id": "C82C4F32",
"Rev": 323,
"Ops": [
28,
"a",
92
],
"User": "A51053CB",
"Err": {}
}
}
订阅后前端收到的消息示例
格式与更新文件相同
{
"Head": "revise",
"Data": {
"Id": "C82C4F32",
"Rev": 27,
"Ops": [
16,
"\n",
2
],
"User": "B4FAA6E2"
}
}
{
"Head": "revise",
"Data": {
"Id": "C82C4F32",
"Rev": 28,
"Ops": [
17,
"\n",
2
],
"User": "B4FAA6E2"
}
}
{
"Head": "revise",
"Data": {
"Id": "C82C4F32",
"Rev": 29,
"Ops": [
18,
-1
],
"User": "B4FAA6E2"
}
}