# 接口研發
* * * * *
在前面介紹章節的接口介紹中已經介紹了接口文檔,錯誤碼設計,Token。這里就不重復講解了,直接來實戰開發一個友情鏈接接口。
* * * * *
### 友情鏈接的接口邏輯層
此處演示友情鏈接接口就不新加文件了,若有需要童鞋們可以自己新建文件。
先來完成api模塊邏輯類中的友情鏈接方法,此處放在Common文件:
~~~
/**
* 友情鏈接
*/
public function getBlogrollList()
{
return $this->modelBlogroll->getList([DATA_STATUS_NAME => DATA_NORMAL], true, 'sort desc,id asc', false);
}
~~~
簡單粗暴的直接上代碼才是最有效的,意思就是在邏輯層中通過友情鏈接模型查詢數據狀態正常的友情鏈接列表。
就這么簡單,下面再看看接口控制器層。
* * * * *
### 友情鏈接的接口控制器層
~~~
/**
* 友情鏈接
*/
public function getBlogrollList()
{
return $this->apiReturn($this->logicCommon->getBlogrollList($this->param));
}
~~~
搞定。。。加到Common控制器就好了。 OneBase研發接口簡直是 事半功倍。
下面將接口通過后臺加進去,然后測試下接口是否正常。
先增加一個超級簡單的友情鏈接列表接口。

測試一下友情鏈接接口是否正常。

測完,一切正常,接口返回的數據這里就不一一解釋了蛤,就是一些接口內置返回字段和自己邏輯層返回的數據。
* * * * *
### 聚合接口
~~~
<?php
// +---------------------------------------------------------------------+
// | OneBase | [ WE CAN DO IT JUST THINK ] |
// +---------------------------------------------------------------------+
// | Licensed | http://www.apache.org/licenses/LICENSE-2.0 ) |
// +---------------------------------------------------------------------+
// | Author | Bigotry <3162875@qq.com> |
// +---------------------------------------------------------------------+
// | Repository | https://gitee.com/Bigotry/OneBase |
// +---------------------------------------------------------------------+
namespace app\api\controller;
/**
* 聚合接口控制器
*/
class Combination extends ApiBase
{
/**
* 首頁接口
*/
public function index()
{
$article_category_list = $this->logicArticle->getArticleCategoryList();
$article_list = $this->logicArticle->getArticleList($this->param);
return $this->apiReturn(compact('article_category_list', 'article_list'));
}
/**
* 詳情接口
*/
public function details()
{
$article_category_list = $this->logicArticle->getArticleCategoryList();
$article_details = $this->logicArticle->getArticleInfo($this->param);
return $this->apiReturn(compact('article_category_list', 'article_details'));
}
}
~~~
上面代碼就是聚合接口的類,可以看到首頁接口中包含了文章分類數據和文章列表數據,文章詳情接口中 包含了 文章分類數據 和 文章詳情數據。
為什么需要聚合接口?
因為APP端發起HTTP請求是非常耗費資源的,通俗易懂就是速度很慢,如果一個首頁數據展示 都需要 十幾次請求接口拿數據的話。。可想而知流量大的壓根就打不開了吧。
OneBase聚合接口是將邏輯層返回的數據進行組合,然后在一個接口中進行返回,并不要求只能一個接口返回,而是越少越好。
- 序言
- 基礎
- 安裝環境
- 安裝演示
- 規范
- 目錄
- 介紹
- 后臺介紹
- 后臺首頁
- 會員管理
- 系統管理
- 系統設置與配置管理
- 菜單管理
- 系統回收站
- 服務管理
- 插件管理
- 文章管理
- 接口管理
- 優化維護
- SEO管理
- 數據庫
- 文件清理
- 行為日志
- 執行記錄
- 統計分析
- 接口介紹
- 接口文檔
- 錯誤碼設計
- Token介紹
- 前臺介紹
- 架構
- 架構總覽
- 生命周期
- 入口文件
- 模塊設計
- 依賴注入
- 控制器架構
- 邏輯架構
- 驗證架構
- 服務架構
- 模型架構
- 行為架構
- 插件架構
- 配置
- 配置介紹
- 配置加載
- 配置擴展
- 請求
- 請求信息
- 日志
- 后臺行為日志
- 系統執行日志
- 框架日志
- 數據
- 數據庫設計
- 數據字典
- 數據庫操作
- 事務控制
- 混合操作
- 實戰
- 控制器
- 邏輯與驗證
- 視圖與模型
- 插件研發
- 服務研發
- 接口研發
- 雜項
- 數據導入導出
- 二維碼條形碼
- 郵件發送
- 云存儲服務
- 支付服務
- 短信服務
- 微信分享
- 生成海報
- 聊天室
- PJAX
- Demo
- Widget
- 附錄
- 常量參考
- 配置參考
- 函數參考
- 進階
- Redis
- 自動緩存
- 全自動緩存
- 索引
- 數據簽名
- 全自動事務
- 隊列