最快1天,搭建你的OpenAPI和開放平臺(tái)
什么是OpenAPI、什么是開放平臺(tái)?
根據(jù)百度百科的記錄,
在互聯(lián)網(wǎng)時(shí)代,把網(wǎng)站的服務(wù)封裝成一系列計(jì)算機(jī)易識(shí)別的數(shù)據(jù)接口開放出去,供第三方開發(fā)者使用,這種行為就叫做Open API,提供開放API的平臺(tái)本身就被稱為開放平臺(tái)。
百度百科
我們也可以通過一些案例來快速認(rèn)識(shí)開放平臺(tái),例如支付寶的開放平臺(tái):

又如抖音開放平臺(tái):

以及微信開放平臺(tái):

總結(jié)下來,開放平臺(tái)一般有以下特點(diǎn):
1、二級(jí)域名通常使用open,例如:open.xxx.com
2、使用人群和用戶對(duì)象主要是開發(fā)者,因此需要開發(fā)者申請(qǐng)入駐
3、開放平臺(tái)核心提供的是OpenAPI,不同開發(fā)者或不同應(yīng)用,擁有不同的接口調(diào)用權(quán)限
4、開放平臺(tái)還需要為開發(fā)者用戶提供配套完成的產(chǎn)品功能體系,以便讓開發(fā)者可以在平臺(tái)上查看和管理賬號(hào)、核心業(yè)務(wù)數(shù)據(jù),甚至訂單信息
5、需要提供在線的接口文檔,即便是游客也能訪問查看
6、一個(gè)賬號(hào)可以創(chuàng)建或申請(qǐng)多個(gè)應(yīng)用
7、平臺(tái)側(cè),需要有一個(gè)內(nèi)部管理后臺(tái),對(duì)開發(fā)者賬號(hào)、應(yīng)用、API接口權(quán)限、流量統(tǒng)計(jì)等進(jìn)行通用的管理
如何在1天時(shí)間內(nèi),快速搭建你的OpenAPI和開放平臺(tái)?
下面,以 接口大師,也就是PhalApi開源框架的專業(yè)版,介紹和分享如何在1在時(shí)間內(nèi),搭建自己的OpenAPI和開放平臺(tái)。
運(yùn)行環(huán)境的要求
接口大師,主要是基于主流的PHP開發(fā)語(yǔ)言+MySQL數(shù)據(jù)庫(kù)開發(fā)的,所以技術(shù)很通用。
運(yùn)行環(huán)境要求如下:
操作系統(tǒng):Windows/Linux/Mac/Ubuntu/CentOS等
開發(fā)語(yǔ)言:PHP 5.3.3 及以上版本,推薦使用PHP 7
數(shù)據(jù)庫(kù):MySQL 5.5 及以上版本
Web服務(wù)器:Nginx/Apache
正式服務(wù)器配置最低配置:CPU 1核 / 內(nèi)存 2G / 硬盤空間40G / 帶寬1M
官方推薦使用:CentOS 7 + PHP 7 + MySQL 5.6 + Nginx
正式的服務(wù)器環(huán)境,建議使用更高配置的服務(wù)器。
安裝
第1步、在獲取到接口大師的源代碼后,將項(xiàng)目源代碼包上傳到服務(wù)器,并進(jìn)行解壓。假設(shè)解壓目錄為:/www/phalapi-pro。
源代碼壓縮包解壓后有:

第2步、進(jìn)行Web服務(wù)器的配置。
如果使用的是Nginx,參考以下Nginx配置,配置好重啟Nginx。
server{listen 80;server_name open.phalapi.net;index index.html index.php;root /www/phalapi-pro/public;location ~ .*\.(php|php5)?${# fastcgi_pass 127.0.0.1:9000;fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}# 管理后臺(tái)if (!-e $request_filename) {rewrite ^/admin/(.*) /admin/index.html;}# 開放平臺(tái)if (!-e $request_filename) {rewrite ^/platform/(.*) /platform/index.html;}# 靜態(tài)資源緩存location ~.*\.(js|css|html|png|jpg)${expires 3d;}# 限制上傳的PHP文件,都只能是下載,而非執(zhí)行location ~* /uploads/.*\.(php|php5)?${}access_log /var/log/nginx/open.phalapi.net.access.log;error_log /var/log/nginx/open.phalapi.net.error.log;}
溫馨提示:請(qǐng)把open.phalapi.net換成你自己的域名。
第3步、安裝向?qū)?/p>
安裝地址:http://你的域名/install ,或者打開首頁(yè):http://你的域名/,點(diǎn)擊進(jìn)入安裝向?qū)А?/p>

進(jìn)入安裝向?qū)Ш?,同意安裝。檢測(cè)通過后,下一步。

根據(jù)表單,填寫數(shù)據(jù)庫(kù)的相關(guān)配置,以及管理員的賬號(hào)和密碼。下一步。
溫馨提示:重點(diǎn)修改你的項(xiàng)目名稱、你的數(shù)據(jù)庫(kù)連接、管理員登錄密碼。

安裝成功。

開始使用你的開放平臺(tái)
成功安裝后,就可以開始使用你的自己的開放平臺(tái)了。
訪問開放平臺(tái)首頁(yè)
默認(rèn)的開放平臺(tái)首頁(yè)類似如下,你可以根據(jù)自己的需求進(jìn)行二次開發(fā)。
首頁(yè),主要是給游客以及已注冊(cè)的用戶訪問和使用的,提供了新手引導(dǎo)和開放平臺(tái)介紹的內(nèi)容。
通過頂部菜單,可以看到有以下訪問入口:
首頁(yè)
OpenAPI
開放平臺(tái)
技術(shù)文檔
管理后臺(tái)
語(yǔ)言切換
注冊(cè)/登錄

訪問開放平臺(tái)
開放平臺(tái)是提供給你的開發(fā)者使用的,開發(fā)者可以是內(nèi)部的也可以是外部的,或者第三方開發(fā)者。
當(dāng)開發(fā)者需要使用開放平臺(tái)時(shí),第一件事情是需要注冊(cè)新賬號(hào)。

注冊(cè)成功后,即可登錄:

登錄成功后,即可進(jìn)入開放平臺(tái),進(jìn)行應(yīng)用管理、查看接口權(quán)限、查看流量統(tǒng)計(jì)、提交工單以及開發(fā)者個(gè)人中心等。例如在開放平臺(tái)的首頁(yè)可以看到:我的應(yīng)用、我的訂單、我的套餐、API總數(shù)、接口流量統(tǒng)計(jì)、我的工單等。

訪問OpenAPI
在開放平臺(tái)左下方,以及首頁(yè)的頂部菜單,都可以明顯看到有OpenAPI接口文檔的入口。這些是開發(fā)者需要重點(diǎn)查看、開發(fā)對(duì)接、調(diào)用和依賴的API接口。
進(jìn)入到OpenAPI,可以看到有接口分類頁(yè):

接口搜索頁(yè):

接口詳情頁(yè):

在接口詳情頁(yè),同時(shí)提供了在線接口測(cè)試的功能。

訪問內(nèi)部管理后臺(tái)
管理后臺(tái),是提供給內(nèi)部管理員使用的,以便對(duì)開發(fā)者、應(yīng)用、接口、業(yè)務(wù)數(shù)據(jù)等進(jìn)行全面的管理和維護(hù)。
例如,管理后臺(tái)的登錄界面:

為方便區(qū)分,開發(fā)者平臺(tái)是藍(lán)色主題,管理后臺(tái)是黃色主題。
成功登錄后,可以進(jìn)行管理后臺(tái)首頁(yè)。
通過左側(cè)菜單,可以看到有很豐富和完善的功能和菜單。
首頁(yè)
服務(wù)大廳
賬號(hào)管理(開發(fā)者賬號(hào)管理,以及管理員賬號(hào))
應(yīng)用管理(開發(fā)者入駐和應(yīng)用申請(qǐng)審核)
接口管理(接口權(quán)限分配)
工單管理
素材庫(kù)
配置管理
計(jì)劃任務(wù)
數(shù)據(jù)庫(kù)管理
統(tǒng)計(jì)(登錄、開發(fā)者注冊(cè)、應(yīng)用匯總、接口流量等統(tǒng)計(jì))
權(quán)限控制(管理后臺(tái)和開放平臺(tái)的菜單權(quán)限分配)

如何添加自己的API接口?
在完成接口大師的安裝,以及簡(jiǎn)單的認(rèn)識(shí)和使用后,就可以根據(jù)自己的需要,基于接口大師進(jìn)行二次開發(fā),把自己需要開放的滎接口,需要共享的數(shù)據(jù)對(duì)外提供給你的開發(fā)者。
下面以Hello World為示例,講解如何快速二次開發(fā),添加自己的API接口。
創(chuàng)建./src/app/Api/HelloWorld.php文件,并添加以下PHP代碼:
namespace App\Api;use App\Common\Api;/*** Hello World示例*/class HelloWorld extends Api {/*** 接口示例* @desc 一個(gè)開放接口示例,可直接訪問,不需要任何驗(yàn)證,因?yàn)榕渲昧藄ervice_whitelist白名單。熟悉后可刪除此示例接口。* @return string content 一句話*/public function say() {return array('content' => 'Hello PhalApi Pro!');}}
這樣就可以手動(dòng)添加一個(gè)自己的新接口了,后面的接口文檔、接口權(quán)限、接口統(tǒng)計(jì)等,都可以由接口大師自動(dòng)生成。
例如接口分頁(yè)會(huì)顯示此接口模塊和接口名稱:

Hello World的接口詳情頁(yè):

在開放平臺(tái),開發(fā)者可以看到此接口是否有調(diào)用權(quán)限(由于當(dāng)前開發(fā)者的應(yīng)用未審核通過,所以不具備任何接口的調(diào)用權(quán)限):

在管理后臺(tái),可以看到此接口的權(quán)限以及進(jìn)行分配:

通過界面,自動(dòng)生成OpenAPI
接口大師,還有一個(gè)亮點(diǎn)和創(chuàng)新的功能,就是可以通過界面,直接自動(dòng)生成OpenAPI的PHP代碼,甚至連代碼都不需要編寫,就可以生成你的接口或CURD數(shù)據(jù)接口。
只需要填寫接口的類名和方法名,就可以快速生成接口文件的源代碼,保存后,效果就和前面手動(dòng)編寫接口一樣。非常方便。

小結(jié)和在線演示
可以通過演示賬號(hào),直接登錄,在線體驗(yàn)。

以及接口大師5合1產(chǎn)品矩陣的效果匯總?cè)缦拢?br>

整體技術(shù)架構(gòu)設(shè)計(jì)
接口大師,整體技術(shù)架構(gòu)設(shè)計(jì)如下:

查看技術(shù)文檔
更多內(nèi)容,請(qǐng)參考 接口大師的 技術(shù)文檔。http://www.yesx2.com/wiki/#/
PhalApi Pro 2.0 技術(shù)文檔
前言
簡(jiǎn)介
安裝
一、使用手冊(cè)
1.1 API接口系統(tǒng)使用手冊(cè)
1.2 Platform開放平臺(tái)使用手冊(cè)
1.3 Admin管理后臺(tái)使用手冊(cè)
二、產(chǎn)品介紹
2.1 整體架構(gòu)及業(yè)務(wù)流程
2.2 賬號(hào)體系
2.3 開放接口權(quán)限
2.4 重要項(xiàng)目配置
三、API接口開發(fā)文檔
3.1 接口分類
3.2 在線接口文檔
3.3 如何調(diào)用接口
3.4 如何開發(fā)接口
3.5 接口調(diào)試
3.6 計(jì)劃任務(wù)
3.7 連接其他數(shù)據(jù)庫(kù)
3.8 第二套接口驗(yàn)簽方案
四、前端開發(fā)文檔
4.1 Platform開放平臺(tái)開發(fā)文檔
4.2 Admin管理后臺(tái)開發(fā)文檔
五、附錄
5.1 版本更新日記
5.2 數(shù)據(jù)庫(kù)表結(jié)構(gòu)
5.3 聯(lián)系我們
5.4 如何編寫開發(fā)手冊(cè)
5.5 文檔編寫規(guī)范

