应用列表 接口管理
{if count($apiList)>0}
api列表
{/if}

{volist name="appList" id="app" } {if $app.app_status != 1}
- $app.id])}">{$app.app_name}禁用
{else}
- $app.id])}">{$app.app_name}
{/if} {/volist} {volist name="apiList" id="api" } {if $api.status != 1}
- $api.hash])}">{$api.apiName}({$api.apiUrl})禁用
{else}
- $api.hash])}">{$api.apiName}({$api.apiUrl})
{/if} {/volist}

API调用规范
- 调用地址：
API调用地址为API详情页显示的API调用地址。
请求形式为：http://domain/api/hash，其中hash为此接口的hash值，在接口列表和接口详情都能查看
- 调用方式：
GET:显示API文档
POST:调用API请求
- 接口安全：
请求接口数据分两部分：请求Head信息，请求参数主体；
请求Head信息：ACCESS-TOKEN,必填项，将所有POST参数，按键值自然排序，然后按：key1=value1&key2=value2的形式组成字符串
将以上组成的字符串后面直接拼APP的secret，将拼接后的字符串进行MD5加密后，得到的32位字符，作为ACCESS-TOKEN值
如果接口被配置为需要登录验证，则需要在请求的head内增加：SESSION-ID字段，此字段会在登录时由登录接口返回，接口会验证数据库表：
API开发规范
- 代码位置：
API接口代码接口位置位于：application/模块名/api/下
API具体的实现逻辑位于：application/模块名/lib/下
项目正常入口在：application/模块名/controller/下
项目正常页面实现逻辑：application/模块名/lib/下，尽量做到API与正常业务逻辑能共用实现逻辑，以达到代码复用的效果
controller或api目录下调用lib的方式，使用controller方法，
第一个参数为类名，第二个参数为：lib，如：$staff = controller('Staff','lib');
接收POST或GET参数时，在入口文件里处理（API或controller下的文件）
- 参数：
API框架已将输入参数处理完毕，会将所有参数以数组形多传给api目录下的对应类的方法的第一个参数，把当前的应用ID作为第二个参数传递给此类的方法；
如API下有个Staff类，下面有一个login接口：public function login($params,$appId)用户名和密码会放在$params参数内，当前APPID会放在：$appId内
返回参数，以数组形式返回，如果触发错误，则按如下格式返回：return array('error'=>1,'code'=>101,'msg'=>'帐号或密码错误')
确保error为大于0的数值即可，code值自行定义，最终接口调用时，会把code值和msg值直接返回给调用者