矩阵2.0 api规范
<h3>Api响应格式规范</h3>
<p>api返回的content-type统一使用"application/json"</p>
<ul>
<li>响应公共字段对照表</li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: center;">key</th>
<th style="text-align: center;">类型</th>
<th style="text-align: center;">释义</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">errCode</td>
<td style="text-align: center;">int</td>
<td style="text-align: center;">响应错误码,<a href="http://wiki.heywoods.cn/document/index?document_id=26" title="规范详见">参考规范</a></td>
</tr>
<tr>
<td style="text-align: center;">errMsg</td>
<td style="text-align: center;">string</td>
<td style="text-align: center;">响应错误消息</td>
</tr>
<tr>
<td style="text-align: center;">data</td>
<td style="text-align: center;">object/array</td>
<td style="text-align: center;">具体响应内容</td>
</tr>
</tbody>
</table>
<ul>
<li>正常响应demo</li>
</ul>
<pre><code>{
"errCode" : 0,
"errMsg" : "ok.",
"data" : [
{
"title" : "this is a demo title1",
"content" : "this is demo content1",
"view" : 32
},
{
"title" : "this is a demo title2",
"content" : "this is demo content2",
"view" : 5
},
]
}</code></pre>
<ul>
<li>异常响应demo
<pre><code>{
"errCode" : 40001,
"errMsg" : "wrong value of openid param.",
"data" : []
}</code></pre></li>
</ul>
<h3>ErrorCode定义规范</h3>
<h4>后端返回错误码形为4XXXX,为数字类型</h4>
<p>第2-3位表示模块类型(其中00为公共错误,01开始为具体功能模块)</p>
<ul>
<li>01:小程序login类型</li>
<li>02:操作类型</li>
<li>03:tab类型</li>
<li>04:文章类型</li>
<li>05:后台作者类型</li>
<li>06:用户侧作者类型
<h4>第4-5位表示该具体错误类型(从01开始定义)</h4></li>
</ul>
<h3>错误码对照表:</h3>
<table>
<thead>
<tr>
<th style="text-align: center;">code</th>
<th style="text-align: center;">value</th>
<th style="text-align: center;">释义</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;">40001</td>
<td style="text-align: center;">wrongParam</td>
<td style="text-align: center;">请求参数错误</td>
</tr>
<tr>
<td style="text-align: center;">40002</td>
<td style="text-align: center;">wrongFormat</td>
<td style="text-align: center;">请求格式错误</td>
</tr>
<tr>
<td style="text-align: center;">40003</td>
<td style="text-align: center;">accessDenied</td>
<td style="text-align: center;">无权访问/操作</td>
</tr>
<tr>
<td style="text-align: center;">40004</td>
<td style="text-align: center;">sessionExpired</td>
<td style="text-align: center;">登陆身份过期</td>
</tr>
<tr>
<td style="text-align: center;">40005</td>
<td style="text-align: center;">wrongsProtoCode</td>
<td style="text-align: center;">Protobuf协议号错误</td>
</tr>
<tr>
<td style="text-align: center;">40006</td>
<td style="text-align: center;">unknownError</td>
<td style="text-align: center;">未知/默认错误</td>
</tr>
<tr>
<td style="text-align: center;">40007</td>
<td style="text-align: center;">thirdApiError</td>
<td style="text-align: center;">请求第三方接口失败</td>
</tr>
<tr>
<td style="text-align: center;">40008</td>
<td style="text-align: center;">invalidRequest</td>
<td style="text-align: center;">不被允许的请求</td>
</tr>
<tr>
<td style="text-align: center;">40009</td>
<td style="text-align: center;">unauthorized</td>
<td style="text-align: center;">用户身份未认证</td>
</tr>
<tr>
<td style="text-align: center;">40101</td>
<td style="text-align: center;">code2SessionError</td>
<td style="text-align: center;">请求微信换取openid失败</td>
</tr>
<tr>
<td style="text-align: center;">40201</td>
<td style="text-align: center;">clickTooOffen</td>
<td style="text-align: center;">点击太频繁</td>
</tr>
<tr>
<td style="text-align: center;">40301</td>
<td style="text-align: center;">tabTypeIllegal</td>
<td style="text-align: center;">tab类型不合法(譬如2,是跳转小程序)</td>
</tr>
<tr>
<td style="text-align: center;">40302</td>
<td style="text-align: center;">tabTypeNotFound</td>
<td style="text-align: center;">tab类型不存在</td>
</tr>
<tr>
<td style="text-align: center;">40401</td>
<td style="text-align: center;">articleNotFound</td>
<td style="text-align: center;">文章不存在</td>
</tr>
<tr>
<td style="text-align: center;">40402</td>
<td style="text-align: center;">articleHasBeenDeleted</td>
<td style="text-align: center;">文章已被删除</td>
</tr>
<tr>
<td style="text-align: center;">40501</td>
<td style="text-align: center;">authorNotFound</td>
<td style="text-align: center;">后台作者不存在</td>
</tr>
<tr>
<td style="text-align: center;">40601</td>
<td style="text-align: center;">authorNotFound</td>
<td style="text-align: center;">用户侧作者不存在</td>
</tr>
<tr>
<td style="text-align: center;">40602</td>
<td style="text-align: center;">authorUninitialized</td>
<td style="text-align: center;">用户自己的信息没有初始化</td>
</tr>
<tr>
<td style="text-align: center;">40603</td>
<td style="text-align: center;">authorCreateFail</td>
<td style="text-align: center;">用户侧作者创建失败</td>
</tr>
<tr>
<td style="text-align: center;">40604</td>
<td style="text-align: center;">authorUpdateFail</td>
<td style="text-align: center;">用户侧作者更新失败</td>
</tr>
<tr>
<td style="text-align: center;">40605</td>
<td style="text-align: center;">authorFollowError</td>
<td style="text-align: center;">用户侧作者关注失败</td>
</tr>
</tbody>
</table>