### 接口说明
前端与后端接口开发标准参见:[接口开发 & 规范](http://www.kancloud.cn/xiak/quanduan/275548?_blank)
**但是这里情况有点特殊,Java端处理json数据比较麻烦,所以为了方便,接口信息经过如下转换了:**
```php
// java风格转换 错误码转换为负数
private function _javaConversion($res)
{
if (isset($res['errCode'])) {
$code = (string) (-$res['errCode']);
$res_ = ['status' => ($code != 0 ? $code : -1000), 'msg' => $res['errMsg']];
} else {
$res_ = $res;
}
return $res_;
}
```
也就是,不论成功/失败的(情景)状态,返回数据字段名是统一的。规范是:
```json
{"status":"", "msg":"", "data":""}
```
根据转换方法可知,如果为失败则状态码为负数。
*当然data不是必须的,以实际接口说明为准。*
* * * * *
### API接口文档阅读说明
请读者知悉,由于时间关系,为了快速方便,接口文档的书写没有很详细,严格,参数返回格式没有按照标准的json返回来书写,仅供参考,请以接口实际返回为准。
所有接口的返回都会经过上面转换方法转换,但接口文档还是以原数据作说明,请知晓。
如在使用中遇到任何问题,包括但不局限于文档错误,不详细,表述不清楚有歧义等问题,请留言联系我们,谢谢。
* * * * *
### 特别说明
所有接口全部采用JSON作为数据响应(请求以常规form data格式发送即可),系统正确的情况下会保证全部响应以JSON返回(ajax数据解析格式需要设置为:dataType: 'json'),除非系统发生不可控错误,请前端开发人员知悉。
**接口只返回失败和成功两种结果吗?**
**是的,接口每次只会返回这两种结果之中的一种。**其实成功和失败两种结果并不是说是系统错误,或者操作失败的意思,比如获取不存在的文章会返回失败,或者用户没有权限查看该文章也会返回失败,这种失败和成功实质是一种情景下操作反馈,是由应用业务逻辑决定的,并不是说是系统错误或者本次操作失败的意思的,返回失败并不是真正的操作失败,而是业务逻辑反馈出来信息,请仔细理解这点。
**以JavaScript为例,不可控的错误需要监控ajax的状态:**
```javascript
// 注册全局ajax失败控制
$.ajaxSetup({
error:function(x, e) {
layer.open({content: '抱歉,服务忙!'});
return false;
}
});
```
last update:2017-3-24 16:39:49