@khan-lau
2017-04-02T18:58:45.000000Z
字数 5029
阅读 2043
未分类
--response
result:{
"code":200
"message": "S_OK",
"data": {
"array":[] //此处,根据需求返回不同类型数据.
}
}
--response
{
"code":500,
"message": "FA_UNAUTHORIZED" //见1.5 错误代码定义
}
https://host:port/interface
其他协议字段使用 form 提交
通过https 协议保证安全性.
建议使用 Go Daddy Secure Certificate Authority - G2证书
禁止缓存的页面, 请求需携带If-Modified-Since:"GMT时间戳"
连接使用 tls 1.0+ 进行加密, 避开 ssl 的漏洞
token 有时效限制, 过期后返回对应err_code.(参考协议1.5)
login成功, header 中返回 cookie, 后续请求都需携带对应 cookie
协议中约定所有请求必须使用 utf8编码. 涉及 url-encode, 也需使用 utf8.
涉及分页的接口 暂定每页20条记录.
Message字段
S_OK - 表示操作成功,同时返回对应的Session ID和用于cookie校验的值
FA_UNAUTHORIZED - 表示用户名或者密码不匹配,或者用户不存在
FA_EXPIRED - 用户账户过期
FA_INVALID_VERIFY_CODE - 校验码不正确 (备用)
FA_INVALID_VERIFY_COOKIE - cookie不正确
FA_INVALID_TOKEN - TOKEN不合法,通常是校验码已过期
FA_NEED_VERIFY_CODE - 需要校验码 (备用)
FA_USER_LOCKED - 用户处于锁定状态 (备用)
FA_USER_SUSPENDED - 用户被禁用 (备用)
FA_USER_WRONG_STATUS - 用户状态错误 (备用)
FA_DB_ERROR - 数据库异常
FA_PARAM_ERROR - 参数异常
FA_DATA_NOT_FOUND - 未找到结果
FA_USER_EXISTS - 用户名或手机号重复
FA_ORDER_EXISTS - 用户重复报名
FA_SIGN_ERROR - 签名错误
"user":{
"id":33ul, --id
"user":"john117", --登录用户名
"passwd":"qwer1234", --登录密码
"true_name":"张三", --姓名
"phone":"13801030311", --电话号码
"reg_time":1424312000L, --注册日期 unix时间戳
"expired_time":1424312213L, --失效日期 unix时间戳
"charge": 132, --账户余额 分为单位
"own":"123", //介绍人id
.... --其他字段, 可自行扩展.
}
Race: {
'id' : 123, --比赛id
'type' : "NBA", --比赛类型
'event' : "2016-08-11 18:00:00", --比赛时间
'team_left' : "小牛队", --主队
'team_right' : "网队" --客队
}
Condition:{
'id':123,
'uid':123, -- 条件所属用户id
'rid':123, -- 比赛id
'left_team': '小牛队', -- 主队
'right_team' : '网队', -- 客队
'event': 1488102400000L, -- 比赛开始时间, 1970至今的毫秒数
'cond':1, -- 条件, 1:让分, 2:总分
'expr':-1, -- 表达式, -1:小于等于, 0:等于, 1大于等于
'val':132, -- 条件阀值
'status':-1, -- 发送状态, -1:未发送或出错, 0:发送中, 1:发送完成
'type':1, -- 推送类型, bit0为 push, bit1为sms
'timestamp': 1488102400000L, -- 记录录入时间, 1970至今的毫秒数
'finish_time' :1488102400000L --最后一次触发推送时间
}
msg:{
'id':123,
'parent':0, -- 普通评论为0, 回复则为回复消息的id
'race_id':123, -- 比赛id
'from': 'user1', -- (作者)发件人user
'to': null, -- 被回复人的user, 如普通评论, 则为空
'reply': null, -- 回复的原始消息内容, 如普通评论, 则为空
'msg' : 'adfsa', -- 评论消息内容
'timestamp': 1488102400000L -- 评论发布时间, 1970至今的毫秒数
}
鉴权接口.
参数
Name | Description | |
---|---|---|
user |
用户id | |
passwd |
||
dtoken |
Optional | 设备串码, [ios|adr]@udid |
response
请求成功:
{
"code": 200,
"message": "S_OK",
"data": {
"token" : <string> ,
"user": User --见协议2.1
}
}
请求失败
{
"code":500
"message": "FA_UNAUTHORIZED" //见1.5 错误代码定义
}
init接口会提供在header中提供名为fast4ward.sid的cookie, 后续接口调用请求需携带该cookie.
修改密码
URL:
https://host:port/reset_passwd
参数
Name | Description | |
---|---|---|
user |
user | |
token |
token | |
passwd |
旧密码 | |
new_passwd |
新密码 |
multipart/form-data
方式提交response
请求成功:
{
"code": 200,
"message": "S_OK",
"data": {}
}
获取比赛列表
URL:
https://host:port/list
参数
Name | Description | |
---|---|---|
user |
user | |
token |
token |
response
请求成功:
{
"code": 200,
"message": "S_OK",
"data": {
"array":[
Race, --Race定义见协议 2.2
Race,
......
]
}
}
获取比赛成绩汇总
URL:
https://host:port/score
参数
Name | Description | |
---|---|---|
user |
user | |
token |
token | |
id |
比赛id |
response
请求成功:
{
"code": 200,
"message": "S_OK",
"data": {
"asia_array":[
{
"score":132, --比分
"time": "2016-08-11 18:00:00" --时间
}
......
],
"over_array":[
{
"score":132,
"time": "2016-08-11 18:00:00"
}
]
}
}
定制推送通知条件
URL:
https://host:port/set_push_rule
参数
Name | Description | |
---|---|---|
user |
user | |
token |
token | |
uid |
user对应的用户id | |
rid |
比赛id | |
left_team |
主队 | |
right_team |
客队 | |
event |
比赛开始时间, 1970至今的毫秒数 | |
cond |
条件, 1:让分, 2:总分 | |
expr |
表达式, -1:小于等于, 0:等于, 1大于等于 | |
val |
值 |
response
请求成功:
{
"code": 200,
"message": "S_OK",
"data": {
"condition": Condition --见协议2.3
}
}
分页获取推送条件列表
URL:
https://host:port/get_push_rule
参数
Name | Description | |
---|---|---|
user |
user | |
token |
token | |
offset |
Optional | 分页偏移量, 与limit组合使用, 默认为0 |
limit |
当页记录数 | |
order |
Optional | 按录入时间排序, desc, asc, 默认asc |
response
请求成功:
{
"code": 200,
"message": "S_OK",
"data": {
"offset" : 0, //分页偏移量, 透传
"total" : 5, //共5条记录.
"array":[
condition, --condition定义见协议 2.3
condition,
......
]
}
}
分页获取用于评论的比赛列表
URL:
https://host:port/get_race
参数
Name | Description | |
---|---|---|
user |
user | |
token |
token | |
all |
Optional | 获取或获取全部比赛, 无此参数则获取未过期的比赛 |
search |
Optional | 球队名称模糊搜索 |
offset |
Optional | 分页偏移量, 与limit组合使用, 默认为0 |
limit |
当页记录数, -1表示获取所有记录 | |
order |
Optional | 按录入时间排序, desc, asc, 默认asc |
response
请求成功:
{
"code": 200,
"message": "S_OK",
"data": {
"offset" : 0, //分页偏移量, 透传
"total" : 5, //共5条记录.
"array":[
race, --race定义见协议 2.2, 此处获取的race.event为unix timestamp格式, 长整形
race,
......
]
}
}
分页获取对应比赛的评论列表
URL:
https://host:port/get_msg_by_race
参数
Name | Description | |
---|---|---|
user |
user | |
token |
token | |
race_id |
比赛id | |
search |
Optional | 指定获取某个用户的评论 |
offset |
Optional | 分页偏移量, 与limit组合使用, 默认为0 |
limit |
当页记录数, -1表示获取所有记录 | |
order |
Optional | 按录入时间排序, desc, asc, 默认asc |
response
请求成功:
{
"code": 200,
"message": "S_OK",
"data": {
"offset" : 0, //分页偏移量, 透传
"total" : 5, //共5条记录.
"array":[
msg, --race定义见协议 2.4
msg,
......
]
}
}
发布评论或回复评论
URL:
https://host:port/post_msg_by_race
参数
Name | Description | |
---|---|---|
user |
user | |
token |
token | |
race_id |
赛事id | |
parent |
Optional | 被回复的评论所对应的id |
to |
Optional | 被回复的评论所对应作者user, parent 不为0时, 必填 |
reply |
Optional | 被回复的评论原始内容, parent 不为0时, 必填 |
msg |
评论的内容 |
response
请求成功:
{
"code": 200,
"message": "S_OK",
"data": {
"msg": msg --见协议2.4
}
}
删除用户发布的指定评论
URL:
https://host:port/del_msg
参数
Name | Description | |
---|---|---|
user |
user | |
token |
token | |
id |
评论id |
response
请求成功:
{
"code": 200,
"message": "S_OK",
}
屏蔽用户发布的指定评论
URL:
https://host:port/admin_filter_msg
参数
Name | Description | |
---|---|---|
user |
user, 需特权用户 | |
token |
token | |
id |
评论id |
response
请求成功:
{
"code": 200,
"message": "S_OK",
}