数据的交互全部采用json格式,并且使用HTTPS,数据类型严格按照json所示定义,即:
-
共有
Object, Array, string, int, double, string
这六种类型。 -
大括号
{}
表示一个Object,也就是由key:value
组成的字典,value
可以为六种类型中的任意一种。 -
中括号
[]
表示一个Array,数组中的元素可以为六种类型中的任意一种。 -
带引号的为string,不带引号分为以下三种:
- true 或 false,为boolean。
- 不为true和false,有小数点,为double。
- 不为true和false,无小数点,为int。
-
根节点类型只能为Object或Array。
接收的数据的根节点类型实际上只可能为Object,因为一定会有一个名为status
的key
,其value
为"OK"
或者"ERROR"
(注意全部大写),表示本次请求是否完成。
若status
为"ERROR"
,则同时会有一个名为message
的key
,表示出错的信息,若status
为"OK"
,则没有message
。
{
"POI_num": 3,
"category": "教育机构",
"POIs":[
{
"POI_id": "1",
"POI_name": "复旦大学",
"latitude": 34.5,
"longitude": 123.1,
"city":"上海市"
},
{
"POI_id": "2",
"POI_name": "中医药大学",
"latitude": 32.5,
"longitude": 123.34,
"city":"上海市"
},
{
"POI_id": "4",
"POI_name": "张江计算机楼",
"latitude": 31.5,
"longitude": 121.1,
"city":"上海市"
}
]
}
{
"status": "OK"
}
用户填写完userid后(要求用邮箱),前端用接口2获取验证码,用户从邮件获取验证码。
用户输入验证码后,由前端进行验证,验证通过后,则用该接口发送注册信息给后端。
若注册成功,后端返回的status
为OK
,并附带一个token
(token
的说明见登录接口),前端可以直接登录。
{
"userid":"[email protected]", //小于等于32字节
"password":"123456",
"nickname":"lsh", //小于等于32字节
"gender": 1, //0:保密(未知) 1:男 2:女
"Tel": "15202345235" //可选 小于等于15字节
}
{
"status": "OK",
"token": "03ab32de7e56556b66b2fdb2df0f17da88d3774alshzy137@163.com1512827249" //小于等于128字节
}
该接口可用于
- 注册时获取验证码,对应
type
参数为0。 若userid已经存在,则返回status
为ERROR
。 - 密码找回时获取验证码,对应
type
参数为1。 若userid不存在,则返回status
为ERROR
。
{
"userid":"[email protected]",
"type": 0
}
{
"status": "OK",
"code":"1243454" //小于等于10位
}
{
"status": "ERROR",
"message": "用户名已经存在!"
}
登录成功后,后端会返回一个小于等于128位的token
,以后前端调用其他接口均需要把这个token
传给后端,用于验证身份。
{
"userid":"[email protected]",
"password":"123456"
}
{
"status": "OK",
"token": "1015292bbf6baa2f0641d520e75377d2fe073123lshzy137@163.com1513578455" //小于等于128位
}
{
"status": "ERROR",
"message": "用户名或密码错误!"
}
若只发送了userid
和token
,则相当于向服务器获取帐号信息。
若还有其他参数,则服务器会更新这些信息,然后返回新的个人信息,可用于修改密码。
{
"userid":"[email protected]",
"token":"1015292bbf6baa2f0641d520e75377d2fe073123lshzy137@163.com1513578455"
"nickname":"zwx"
}
{
"status" : "OK",
"userid":"[email protected]", //小于等于32字节
"nickname":"zwx", //小于等于32字节
"gender": 1, //0:保密(未知) 1:男 2:女
"Tel": "15202345235" //可选 小于等于15字节
"tags": 3, //3=(000...0011) 一个64位整数,对应位表示是否选择了该标签,如3表示选择了0号和1号标签; 0=(0...0)表示没有选择标签。
}
{
"userid":"[email protected]",
"latitude": 34.5,
"longitude": 123.1,
"token":"1015292bbf6baa2f0641d520e75377d2fe073123lshzy137@163.com1513578455"
}
{
"status" : "OK",
"POI_num": 3,
"POIs":[
{
"POI_id": "1",
"POI_name": "Fudan University",
"category":"学校",
"latitude": 34.5,
"longitude": 123.1,
"popularity": 3,
"city":"上海市"
},
{
"POI_id": "2",
"POI_name": "Gaoke Garden",
"category":"生活区",
"latitude": 34.5,
"longitude": 123.1,
"popularity": 0,
"city":"上海市"
},
{
"POI_id": "4",
"POI_name": "张江计算机楼",
"category":"学校",
"latitude": 34.5,
"longitude": 123.1,
"popularity": 1,
"city":"上海市"
}
]
}
{
"userid": "[email protected]",
"POI_id": "123",
"postid": 2, //前端目前已有的当前POI的最小的postid,即最早的post,0表示获取最新的post
"token":"1015292bbf6baa2f0641d520e75377d2fe073123lshzy137@163.com1513578455"
}
{
"status" : "OK",
"post_num": 3,
"posts": [
{
"postid":3,
"userid":"[email protected]"
"nickname":"lsh",
"timestamp": 1513578455,
"text":"23333",
"imageUrl":null,
"like": 2,
"dislike": 0,
"attitude": 0 //当前用户的态度,0表示未知,1表示点赞,2表示反对
},
{
"postid":2,
"userid":"[email protected]"
"nickname":"lsh",
"timestamp": 1513578450,
"text":"今天天气不好啊",
"imageUrl":null,
"like": 2, //点赞数
"dislike": 0, //反对数
"attitude": 0 //当前用户的态度,0表示未知,1表示点赞,2表示反对
},
{
"postid":1,
"userid":"[email protected]"
"nickname":"lsh",
"timestamp": 1513578440,
"text":"今天天气好啊",
"imageUrl":null,
"like": 1,
"dislike": 1,
"attitude": 0 //当前用户的态度,0表示未知,1表示点赞,2表示反对
}
]
}
{
"POI_id": "1",
"userid": "[email protected]",
"latitude": 40.43535, //用户所在纬度
"longitude": 123.454, //用户所在经度
"text": "Let's Go!",
"image": "SDGDSGDSGDGD", //base64
"format" "jpeg",
"token": "1015292bbf6baa2f0641d520e75377d2fe073123lshzy137@163.com1513578455",
"tags": 2524242 //一个整数,unsigned long long, binary表示
}
{
"status":"OK",
"postid":123,
"timestamp":1513578600
}
{
"status":"ERROR", //可能出错,前端需要判断
"message":"unknown"
}
{
"user_id": "[email protected]",
"feedback_num":3,
"feedbacks" :[
{
"postid": 12,
"attitude": 1 //1表示点赞,2表示反对,3表示举报
},
{
"postid": 123,
"attitude": 1 //1表示点赞,2表示反对,3表示举报
},
{
"postid": 152,
"attitude": 1 //1表示点赞,2表示反对,3表示举报
}
]
"token":"1015292bbf6baa2f0641d520e75377d2fe073123lshzy137@163.com1513578455"
}
{
"status" : "OK"
}
{
"status":"ERROR", //可能出错,前端需要判断
"message":"unknown"
}
{
"userid": "[email protected]",
"latitude": 40.43535, //用户所在纬度
"longitude": 123.454, //用户所在经度
"token": "1015292bbf6baa2f0641d520e75377d2fe073123lshzy137@163.com1513578455",
"tags": 2524242 //一个整数,unsigned long long, binary表示
}
{
"status" : "OK",
"POI_num": 3,
"POIs":[
{
"POI_id": "1",
"POI_name": "Fudan University",
"category":"学校",
"latitude": 34.5,
"longitude": 123.1,
"popularity": 3,
"city":"上海市"
},
{
"POI_id": "2",
"POI_name": "Gaoke Garden",
"category":"生活区",
"latitude": 34.5,
"longitude": 123.1,
"popularity": 0,
"city":"上海市"
},
{
"POI_id": "4",
"POI_name": "张江计算机楼",
"category":"学校",
"latitude": 34.5,
"longitude": 123.1,
"popularity": 1,
"city":"上海市"
}
]
}