艾思(aisisoft)接口开发文档说明

103 阅读4分钟
  1. 路由定义:
    框架使用多应用, 默认路由模式; url三部分组成, 格式为: /模块名称/控制器名称/方法名称;
    如 /core/Config/lists: 即为平台核心模块/config控制器/lists方法.

  2. 接口请求分类:
    接口分为两种类型: 命令型和获取数据型;
    命令型接口如添删改接口, 这种接口data字段一般为空数组;
    获取数据型如查询接口, 这种接口status值总是1, info字段只是给前端开发人员做个提示, 数据到底是否获取成功, 需要再判断data的值是否为空数组;

  3. 数据提交方式:
    框架使用最宽泛的方式, 支持所有的提交方式, 并且不做提交方法的判断. 请求到底是要干什么, 不是根据请求方式进行判断, 而是使用方法名进行判断.
    一般情况在后端开发调试过程中, 直接使用GET方式在URL中传参更加方便; 对于前端开发人员, 使用POST和GET方式都可以, 根据实际情况, 以快捷方便为原则进行选择即可(但是在一定程度上要统一, 要封装, 建议全部使用POST);
    特殊情况, 比仿说要传递大量数据的, 如text字段/文章正文内容/文件上传等, 酌情处理(POST);

  4. 常用控制器方法命名规范:

    1. 添加/保存: edit
    2. 查询单条数据: detail
    3. 分页列表: lists
    4. 删除: del
    5. 不分页列表: ls (注意, 当表内数据过多, 比仿说超过50条时谨慎使用, 因为此方法是返回表内所有的数据)
    6. 查询前20条列表: search
  5. 数据返回字段格式:
    数据返回统一使用JSON格式. 所有接口都包含三个字段. [‘status' : ‘int 状态码’, 'info' : ‘string 信息说明’, 'data' : ‘array/array object 数据集’]

  6. 数据返回字段详细说明:

    1. status: 接口状态, int类型, 值为0, 1, 2, 其它.
      命令型接口, 当值为0时表示操作失败, 为1时表示操作成功, 2为token过期, 其它自定义
      获取数据型, 执行成功并不意为着能得到数据, 如detail接口返回的status值总是是1, 但是data数据有可能返回空数组. 所以强类型语言下前端在获取数据后, 有可能需要再对data字段进行是否为空数组的判断, 否则会出现用户提示查询成功, 但是没有内容的情况.
    2. info: 接口信息的说明, string类型.
      一般情况下这个字段是给用户的操作结果的提示语, 如删除成功删除失败的提示.如果是获取数据, 一般情况下, status值为1时, info字段不用展示给用户, 前端开发时做为提示即可;
    3. data: 接口返回的数据集合, 数组或数组对象.
      命令类型接口时, 一般返回空数组, 忽略即可.
      获取数据型时, 返回数组或数组对象, 数据格式为三种;
  7. data字段的三种格式:

  8. 条数据格式, 返回的是数组对象, 如detail接口, 需要传递要查询的表id

{
 
    "status": 1,
 
    "info": "数据列表",
 
    "data": {
 
        "id": 2,
 
        "name": "普通会员",
 
        "sort": 3
 
    }
 
}
  1. 多条数据格式, 返回的是数组对象, 如ls接口; (包含多维数组的情况, 子数组以_child命名, 不再举例)
{
 
    "status": 1,
 
    "info": "数据列表",
 
    "data": [
 
        {
 
            "id": 2,
 
            "name": "普通会员"
 
        },
 
        {
 
            "id": 3,
 
            "name": "VIP会员"
 
        }
 
    ]
  1. 带分页的数据列表格式, 如lists接口, 需要传递p:页码(默认1), page_size:一页多少条(默认后台定义10条)
{
 
    "status": 1,
 
    "info": "数据列表",
 
    "data": {
 
        "page_size": 10, // 分页大小
 
        "count": 2,   // 总数量
 
        "list": [  // 数组集
 
            {
 
                "id": 2,
 
                "name": "普通会员",
 
                "sort": 3
 
            },
 
            {
 
                "id": 3,
 
                "name": "VIP会员",
 
                "sort": 5
 
            }
 
        ]
 
    }
 
}

山东艾思软件科技有限公司,是专业的App定制开发, 网站制作企业;为企业提供从软件开发整合运营的一整套方案。App定制开发包括: 办公ERP, OA, CMS, CRM类定制开发, 聊天类APP开发, 电商商城类