接口文档格式示例
字段可选
M:must
O:optional
C: conditional、某些条件下必选
数据库
音乐表
t_music
fid bigint music id,autoindex,主键
fclient_id string(64) 客户端计算的id
fuserid string(128) 用户id
fdev_id string(128) 设备id
ftitle string(255) 标题
ftype string(64) 类型、这里不做枚举、只存字符串
falbum string(128) 专辑
fartist string(128) 艺术家
fcover_image_url text 音乐图片url
fcontent_url text 音乐内容url
fduration bigint 音乐时长、秒
fip string(64) 设备公网ip
fmemo string(128) 备注
fcreate_time datetime create时间。
fmodify_time datetime 修改时间。
主键
fid
key
fuserid
unique key
fuserid + fclient_id
会话检查(接口文档格式示例)
接口名
/service/session/check
Method
GET
请求
sess_id M string(32) session id
userid M string(32) 账户id。
timestamp M string(10) unix-time时间戳,utctime
sign M string(32) 签名、使用session key做sign key
响应
retcode M int 错误码。0为成功、其他为错误。
retinfo M string(64) 错误信息。成功时候返回OK、错误时返回错误信息。
--retcode=0时候有以下字段--
---会话更新字段---
session_update O map,会话更新、当会话快要超时时、服务器会自动下发新的会话、app用新的会话信息替换旧的。如果没有更新、不返回。
sess_id M session id
sess_key M 会话密钥
login_time M 登陆时间、datetime格式、这是服务器端时间
---contact checksum字段---
contact O 如果下面任何一个字段有值、contact就会存在、如果两个字段都没值、contact就不返回
checksum O 联系人数据的checksum,没有的话不返回
checksum_extra O 联系人数据checksum备用字段,没有的话不返回
---配置更新字段---
config_update O 如果下面任何一个字段有值、config字段返回、否则不返回。
splash_time O 启动闪屏时间、秒
bg_update_time O 后台刷新时间间隔、秒
示例
request
http://localhost/service/session/login?passwd=FF6711F2869D155AFD423C6057827052×tamp=1450766779&userid=C75B5F01261443DE4ED15F2CD877789F&sign=D1D20F9D39A76DA90FAAE7C977A34FF2
response
{
"userpic": "http://localhost:80/static/pic/USERPIC-C75B5F01261443DE4ED15F2CD877789F-687B9E51AFA44AFE4F50A21BD5F5306B.png",
"retcode": 0,
"sess_id": "B2D28EF0F1ACBD2C12DAC32967E0455E",
"sess_key": "B4A022DCE0A6758D73C767035187A780",
"retinfo": "OK",
"login_time": "2015-12-22 14:46:19"
}
逻辑
校验所有参数长度、与格式符合要求。
校验timestamp超时、n分钟有效(配置文件)
校验用户。
校验登陆态
校验sign
检查登陆态更新
检查contact信息
返回