一、 接口交互方式
约定
- 目前平台采用短连接(HTTP)+长连接(websocket)的方式对外提供服务,其中部分数据结构返回采用protobuf(可以一定程度减少带宽消耗和序列化性能),但为了对外简化,默认以json形式返回,暂时不对外提供protubuf
- 所有响应的数据结构,如果该字段为默认值,响应的字段里面不会出现该字段,用户需要自行做好处理,目前有以下字段类型默认值不需要被序列化:(integer:0;string:"",bool:false)
- 系统中与车辆设备相关的唯一标识,大部分接口基本都有设备号,车牌号,车辆ID,这几个信息,目前建议以车牌号为唯一标识
http返回的统一数据结构(查看状态码定义)
json
{
"hdr":{
"code":200, //具体查看状态码定义
"message":"success"
},"data":{
//data内容根据不同的接口,对应到接口里面的响应Data 内容
}
}
{
"hdr":{
"code":200, //具体查看状态码定义
"message":"success"
},"data":{
//data内容根据不同的接口,对应到接口里面的响应Data 内容
}
}
二、 用户登录流程
用户登录过程建议参照以下顺序按需要调用接口,先把基本数据获取回来再连接消息推送服务,这样才能保证数据一致性
获取令牌
通过帐号密码,正确响应后返回token,用于后续接口调用---(详细)
获取用户分组信息
获取基本的分组信息,用于构建分组树,如果不需要分组信息,可以不调用此接口 --- (详细)
获取用户车辆基本信息
获取用户绑定的基本车辆信息 --- (详细)
获取websocket服务地址
获取推送服务的地址,连接登录到推送服务器,目前有上下线,定位数据,报警数据,基础数据变更等消息会实时推送到客户端--- (详细)
完成登录
可以按需调用其它业务接口