一、约定说明

1.1 参数说明

参数位置:本框架规定了所有请求时,参数所配置的位置说明:

  • query: 参数位置在?后面:http://www.domain.com/path?{name}={value}
  • form-data: 参数位置在body里,以multipart/form-data方式提交。通常表现为json格式
  • www-form: 参数位置在body里,以multipart/x-www-form-urlencoded方式提交。通常为表单键值对格式
  • file: 参数位置在body里,以multipart/form-data方式提交,常用户上传数据
  • raw:不建议
  • binary:不建议

参数值类型:在设置schema.yml时,指定type的值允许是以下几种之一

  • int: 整形
  • float: 浮点型
  • str: 字符串
  • json: json串
  • file: 上传文件

1.2 headers

API请求时,需要提供请求头

headers:

{
    "uid": 用户uid, int,  注册成功、登录成功后返回
    "token": 授权码, str, 注册成功、登录成功后返回
    "locale": "cn",
    "lang": "",
    "version": "", 默认 1.0
    "bundle": "",
    "platform": 0 IOS, 1 Android
    "os": "",
    "device_id": ""
}

1.3 API 返回结果

所有http_status响应值为200的请求,仅代表本次HTTP请求响应成功。 返回以下2种结果之一:

  • 当error=0时,代表应用服务器处理成功,客户端可以正常处理data
  • 当error!=0时,代表应用服务器处理失败,error即为对应的异常码。
  • msg:字段为本次请求的提示信息
  • data:为本次请求返回的数据

result:

成功:{"error": 0, "msg": msg, "data": {}}
失败:{"error": 1, "msg": msg, "data": {}}

1.4 双向校验码seq生成

部分防刷接口需要提供参数seq,生成方法如下

salt:写死在客户端

例如:
params={"nickname": "阿刘", "age": "111", "timestamp": 1473761433}
上述2个参数value 均为 utf-8 编码, 根据key的字典顺序排序 键和值之间用"="连接 键值对之间用"&"连接,
生成待校验的字符串string, string 与 salt 字符串 拼接,计算校验码:
seq = md5(salt + "nickname=阿刘&age=111&timestamp=1473761433")
注:凡需要传seq的接口,必须同时提供请求时间戳参数:timestamp

1.5 翻页码规则:仅支持查看下一页,不支持跳页

参数名:last_id,由服务器返回。客户端可以在请求列表时,回传给服务端,

1当不提供该参数时代表查看第一页
2当服务端返回last_id=-1代表没有下一页了

1.6 域名配置

api:http://api.domain.com admin 接口:http://xx.domain.com docs文档:http://docs.domain.com