一、概述
交互协议:https
数据格式:json
请求方法为post,服务端通过请求提供的json格式数据中method区分请求类型。
二、方法(method)
1.登录
客户端请求:
参数:
method String 具体请求方法
username String 用户名
password String 密码(MD5加密)
imsi String sim card's imsi no
reqkey String 密钥加密密钥,服务器使用此密钥对文件加密密钥进行加密(一串随机密钥,使用DES加密,加密密钥为1q@W#E4r,再用Base64转码)
例:
{“method”:”login”,
“username”:”zhangsan”,
“password”:”01D7F40760960E7BD9443513F22AB9AF”
“imsi”:”jkifjelojfeglkenglk”
“reqkey" : "QnypeIfPf0Dzs5ufKa3wL/dVOdwKqfUaveEa3NuKksIQqBTVTOXTOPmmW2NcGS"
}
服务端响应:
参数:
result Boolean 响应结果
info String 响应信息,成功为sessionid,失败为失败信息
例:
成功
{
“result”:”true”,
“info”:”32222314444”
}
失败
{“result”:”false”,
“info”:”user does not exist”
}
2.获得文件列表
客户端登录成功后,使用sessionid进行鉴权,获得有权限浏览的文档列表
客户端请求:
参数:
method String 请求方法
sessionid String sessionid
例:
{
“method”:”getFileList”,
“sessionid”:”32222314444”
}
服务端响应
参数:
result Boolean 响应结果
count int 文档数量(成功包含)
doc array 文档信息数组(成功包含)
{id String 文档id
name String 文档名称}
info String 响应信息(失败包含)
例:
成功
{
“result”:true,
“count”:2
“doc”:
[{“id”:”1”,“name”:”文件1”},]
{“id”:”2”,“name”:”文件2”}
}
失败
{
“result”:”false”,
“info”:”permission denied”
}
3.获取文件
客户端请求
参数:
method String 请求方法
sessionid String sessionid
id String 文档id
resolution String 解析度,可以填写l、m或h,分别代表ldpi、mdpi和hdpi分辨率图片
ctype String 客户端类型,android/ios
例:
{
“method”:”getFile”,
“sessionid”:”32222314444”,
“id”:”1”,
"resolution":"l"
"ctype":"ios"
}
服务端响应
参数:
result Boolean 响应结果
id String 文档id(成功包含)
name String 文档名(成功包含)
page Int 文档页数(成功包含)
path String 路径(成功包含,客户端通过拼装ip端口和路径获得文档加密后文件,加密后文件以页码作为文件名,不含后缀,路径是与文件唯一对应)
key String 加密密钥(成功包含,使用登录时传来的密钥加密密钥进行AES加密,再用BASE64转码)
info String 响应信息(失败包含)
例:
成功
{
“result”:true,
“id”:”1”,
“name”:”文件1”,
“page”:23,
“path”:”/60960E7BD9443513/”
"key":"whJfiDEt1ZGzMxO3wSHCqg=="
}
失败
{
“result”:false,
“info”:”timeout”
}
4.日志
客户端记录一些操作日志,包含内容(用户名,操作,操作时间,操作结果,信息)向服务器传送
客户端请求
参数:
method String 方法名
sessionid String sessionid
log String 客户端日志(操作#时间(yyyyMMddHHmm)#操作结果(success/fail)#信息,每条日志间使用&分隔)
{
“method”:”log”,
“sessionid”:”32222314444”,
“log”:”login#201109110822#fail#connection exception& login#201109110841#success#”
}
服务端响应
参数:
result Boolean 响应结果
info String 响应信息
成功
{“result”:true,
“info”:”upload success”
}
失败
{“result”:false,
“info”:”timeout”
}
注意:用户所有在线操作均可由服务器记录,日志接口保留作为本地操作扩充使用