[搜]

贴心猫-文档

如果是一般的模板标签调用,可先忽略本节;直接跳转到 模板&标签 相关章节

场景分析

  • 思想来源
    • 正常情况下,使用上一节中的控制器模式,可返回 json,jsonp,已经可以满足APP-API的需求了;
    • 而这里专门针对APP-API做一些优化处理,目的是让代码更简洁!
    • 另提示:之前 贴心猫开发过 REST-API,主要用于开放给第三方调用,有频率限制,有兴趣可了解:
  • SAPI定义/需求
    • Server-API 的缩写,即 服务端-API,供API,APP小程序 或h5调用;
    • 输出json/jsonp纯数据,无模板视图,不需要配置 /root/cfgs/sycfg/sy_vopcfg.php
    • 很多场景需要设置跨域;
    • 很多场景需要类似: AccessKeyId/AccessKeySecret 认证
    • 可能需要版本管理:可能需要:v1.0, v2.0 ... 等多个版本同时存在

文件结构

    + /views/sapi/
    |  + /comm/ (通用类库方法)
    |  |  --- baseApi.php
    |  |  --- ...
    |  + /mds/ (md文档)
    |  |  --- sys-about.md
    |  |  --- ...
    |  + /nver/ (默认最新版本)
    |  |  --- bextApi.php ([当前版本]通用API)
    |  |  --- cargoApi.php (产品API)
    |  |  --- infoApi.php (扩展信息API)
    |  |  --- newsApi.php (新闻API)
    |  |  --- rootApi.php (首页API)
    |  |  --- ...
    |  + /v3.6/ (具体版本)
    |  |  --- .gitkeep.txt
    |  |  --- ...

SAPI规范

  • 目录结构如上
    • 一个版本,一个目录;comm, mds 为通用目录
    • 一个模型 一个文件,Api.php结尾;首页规定为 root模型
    • 一个模型 可能有多个子模型,如新闻模型 含有 新闻模型,新闻评论模型
  • 代码如下
    • 代码文件:{views}/sapi/下 (N个子目录)
    • 查看代码
  • 参数
    • mkv=news, mkv路由参数,必选,默认为 mkv=root-home
    • debug=1/0, 调试:不要debug或debug=0-常规状态, 1-调试
    • ver=nver, 版本(暂未用)
    • sk={sk}, 认证串(暂未用)