### 接口說明
前端與后端接口開發標準參見:[接口開發 & 規范](http://www.hmoore.net/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