项目背景

如果你需要开发搭建自己的api数据交易平台,并且能在平台上面进行对客户管理、接口管理、套餐管理、账单管理、充值管理,那么下面将来介绍如何使用接口大师这个框架快速进行开发。

安装

PhalApi专业版的运行环境要求如下:

  • 操作系统:Windows/Linux/Mac/Ubuntu/CentOS等
  • 开发语言:PHP 7 及以上版本,推荐使用PHP 7.3
  • 数据库:MySQL 5.5 及以上版本
  • Web服务器:Nginx/Apache/IIS
  • 正式服务器配置最低配置:CPU 1核 / 内存 2G / 硬盘空间40G / 带宽1M

官方推荐使用:CentOS 7 + PHP 7 + MySQL 5.6 + Nginx

安装大概只需要几分钟,可以安装在Windows服务器、Mac、Linux服务器、虚拟机、Docker等,可以使用宝塔、IIS、Nginx、Apache等软件。上传到服务器,解压并配置好域名后。访问首页,可以看到并点击进入【首次使用,请先安装】。

随后进入安装向导界面。

填写数据库账号密码,以及管理员的账号密码,然后开始安装。

安装成功后,就可以开始进行二次开发。

系统项目和源代码结构

接口大师的系统项目主要分为5个子系统:平台展示官网、管理后台、开放平台、OpenAPI及在线接口文档、技术开发文档。

其中,源代码分为:PHP源代码一套、两套前端Vue/Javascript源代码、还有PHPUnit单元测试源代码。

如果是开发API接口,可以使用PHP编程语言进行开发(请放心,对于未使用PHP的技术人员,PHP是一门能快速上手的编程语言,并且接口大师已经把API接口的开发难度降低了近80%以上,同时比自己从零搭建平台可以节省整个项目大概30+天以上的项目周期)。

接口大师基于 PhalApi 开源接口框架,所以它的目录结构和开源版类似。PHP的接口源代码主要在src目录下。

PhalApi Pro版的目录结构如下,

./
├── README.md # 简介
├── bin # 脚本目录
├── config # 配置目录
│   ├── app.php # 应用配置
│   ├── dbs.php # 数据库配置
│   ├── di.php # 依赖服务配置
│   └── sys.php #系统配置
├── data # 数据库
│   └── phalapi_pro.sql # 数据库安装时的文件
├── language # 翻译包
├── pro_admin # 管理后台的前端源代码,基于iview-admin
├── pro_platform # 开放平台的前端源代码,基于iview-admin
├── public # 对外访问的目录
│   ├── admin # 管理后台访问入口(相当于pro_admin打包构建后的dist目录)
│   ├── api # 接口访问入口(内分前台API和后台API)
│   ├── docs # 离线生成的HTML接口文档
│   ├── docs.php # 在线版接口文档访问入口
│   ├── index.php
│   ├── init.php # 全局初始化文件
│   ├── install # 安装向导(成功安装后建议删除此目录)
│   ├── platform # 开放平台访问入口(相当于pro_platform打包构建后的dist目录)
│   ├── static # 静态资源
│   ├── uploads # 上传目录(需要有写入权限)
│   └── wiki # 技术文档
├── runtime # 运行目录
│   ├── _install.lock # 安装锁定文件
│   ├── cache # 文件缓存
│   └── log # 文件日志
├── sdk # SDK包
├── src # 项目源代码,非常重要
│   ├── admin # 后台接口源代码(遵循ADM模式)
│   ├── app # 开放平台接口源代码(遵循ADM模式)
│   ├── base # 基础包源代码(放置底层公共的代码,不对外直接提供接口,即不提供Api层)
│   ├── platform # 开放平台接口源代码(遵循ADM模式)
│   ├── task # 计划任务接口源代码(遵循ADM模式)
│   └── view # 页面模板目录(如接口文档)
├── tests # 单元测试
└── vendor # composer包,不需要手动修改,通过composer install/update可进行安装和更新

接口划分如下:

其中,App开放接口,这部分就是你给你的客户提供的接口,用来放置你的api数据服务接口。最后实时更新的在线接口文档(自动生成,不需要开发者人工维护),类似如下:

连接你的数据库

大概熟悉系统的源代码和代码目录结构后,我们还需要做一个准备工作,就是连接你原来的数据库,即将要开放数据服务的数据库。

目前,接口大师支持MySQL、MS SQL、PostgreSQL、Oracle 等数据库。

为此,你需要修改数据库配置文件./config/db_plus.php,修改里面的数据库连接配置。例如:

    'servers' => array('db_master' => array(                       // 服务器标记'type'      => 'mysql',                 // TODO: 数据库类型,暂时只支持:mysql, sqlserver'host'      => '127.0.0.1',             // TODO: 数据库域名'name'      => 'phalapi_pro',           // TODO: 数据库名字'user'      => 'root',                  // TODO: 数据库用户名'password'  => '',                        // TODO: 数据库密码'port'      => 3306,                    // 数据库端口'charset'   => 'utf8mb4',                  // 数据库字符集 utf8mb4或utf8'pdo_attr_string'   => false,           // 数据库查询结果统一使用字符串,true是,false否'driver_options' => array(              // PDO初始化时的连接选项配置// 若需要更多配置,请参考官方文档:https://www.php.net/manual/zh/pdo.constants.php),),),

你也可以使用.env 文件进行环境变量的配置,再替换到上面的数据库配置文件。

修改DI注册文件./config/di.php,去掉以下代码的注释,注册并开启$di->notorm_plus服务。

// 连接其他数据库(或项目原有的数据库,需要时去掉注释)
// $di->notorm_plus = new NotORMDatabase($di->config->get('dbs_plus'), $di->config->get('sys.notorm_debug'));

在完成前面配置后,最后一步,便可以开始开发你的业务逻辑,连接或操作其他数据库。此时,新加的Model子类,如果是操作新增的数据库,则需要继承于Base\Model\PlusBase基类。例如:

<?php
namespace App\Model\Plus;use Base\Model\PlusBase;class Comment extends PlusBase {// 实现具体的数据库操作
}

这样,就可以连接和使用你的数据库表,进行API接口的开发和测试了。

开发并上架你的数据API

接口大师的一大开发特色,就是可以通过管理后台的界面,进行API低代码的在线开发。

先登录管理后台:

进入管理后台-接口管理-可视化接口设计-添加接口。

比如开放一个根据植物名称查询植物档案的接口,可以依次填写表单,把接口的标题、功能、需要的接口参数、接口返回字段、接口请求示例等写上。接口设计类型可以选择:普通接口API。然后【生成代码】。确认没问题后,可以【保存并发布】。发布后仍然可以继续修改和开发。

发布接口后,你就会看到类似以下的在线接口文档。具备在线接口测试等功能。非常方便。

设置API数据套餐和费用

有了业务数据,也有了API接口,下一步就是为我们提供的API数据接口设置费用和套餐。

进入管理后台-服务大厅-接口流量套餐-添加套餐。

类型选择:付费购买。

套餐名称:可以自己填写。

接口服务:选择刚才开发新增的API接口。

接口流量、套餐价格、有效时间:自己进行资费的配置。

配置套餐成功后,可以在后台看到套餐列表。

开发者在线购买和使用

当API接口配置套餐后,下一步,你的客户就可以在前台进行查看和购买。

对于需要付费才能使用的接口,接口列表会有【付费】标签提示。

进入到在线接口文档详情页,可以看到具体的接口流量套餐。

点击套餐,可以进行在线购买。支持支付宝等多种支付方式。

开发者购买后,可以在开放平台-服务大厅-我的套餐,查看我购买的套餐和流量消耗情况。

也可以在开放平台看到其他的统计数据,例如流量统计等。

后台流量统计和账单管理

最后,回到管理后台,可以看到全服的接口流量统计,每个应用、每个客户不同的统计数据。

也可以在后台看到订单、套餐和账单等数据。

当然,你也可以配置支付宝等在线支付的方式,不需要额外的开发。

还可以管理客户账号:

分配和管理接口权限:

基本上若搭建一个api数据交易平台,你只需要开发核心的API接口业务逻辑,剩下的接口大师都已经自动帮你完成,包括但不限于:自动生成接口文档(还支持离线文档导出)、接口权限管理、接口套餐管理、接口流量统计、接口日记、接口安全等。同时,可以节省30天+以上的项目周期,可以快速上线,为你的客户提供api数据服务。

快速搭建你的api数据交易平台-图文开发教程相关推荐

  1. 如何快速搭建云原生企业级数据湖架构及实践分享

    简介: 众所周知,数据湖技术在大数据领域炙手可热,随着在云上的广泛部署和应用,其业务价值逐渐获得业界共识.如何快搭建数据湖架构被越来越多的企业探讨.本文主要分享快速搭建云原生企业级数据湖架构及实践分享 ...

  2. SharePoint 2007图文开发教程(6)---实现Search Services

    此文和大家分享如何在SharePoint中实现Search的功能. SharePoint中为我们提供了Search的功能,和Event Handler的实现比较类似,还是需要启动支持,定制服务,运行服 ...

  3. 阿里云物联网平台python开发手册_阿里云物联网平台之云端API调用(即云端开发教程)...

    本文介绍如何调用物联网平台的云端API,很多时候控制台上操作不太方便,需要通过API调用来完成或者通过调用API封装接口,以做到二次开发等.如产品管理,设备管理,规则创建等.分别介绍通过common ...

  4. SharePoint 2007图文开发教程(3)---实现简单的WebPart

    在前面的文章中,我们讲解了很多基础的内容,主要包括 安装配置.简单的创建网站等.相对来说比较简单.此文实现简单的WebPart,继续我们的SharePoint之旅. WebPart WebPart大家 ...

  5. 钉钉一行代码_利用Python快速搭建钉钉和邮件数据推送系统

    前面的文章我们写到了利用Python实现钉钉和邮件的数据推送,在数据处理这一块实现了对mysql和odps的数据获取和处理,可以满足常规业务大部分数据场景需求,在一家初创公司数据基础建设还不完善的时候 ...

  6. python flask 快速搭建 WEB 实战

    python flask 快速搭建 WEB 实战 tags: flask 文章目录 python flask 快速搭建 WEB 实战 1. app.py配置首页 2. views.py配置首页 3. ...

  7. 零基础根据Mars3D开发教程发布三维数据

    首先搭建开发环境 步骤如下: 1.点击Mars3D开发教程,进入页面,查看页面展示,进入开发工具清单如图所示.   .Mars3D介绍 | Mars3D开发教程 2.点击"下载"进 ...

  8. 用HttpReports快速搭建API分析平台

    HttpReports 简单介绍 HttpReports 是 .Net Core下的一个Web组件,适用于 WebAPI 项目和 API 网关项目,通过中间件的形式集成到您的项目中, 通过HttpRe ...

  9. 这个项目真香,快速搭建API接口商城,最快当天上线,还有源代码

    API接口商城有什么用? API接口商城通过提供API接口服务或数据服务,向开发者或客户收取服务费用,平台销售的不是接口源代码,而是接口调用的次数和数据这些无形资产. 常用的高频API接口有:短信接口 ...

最新文章

  1. 利用宝塔linux面板+苹果CMS-----从0搭建一个电影网站(一)
  2. spring mvc 与 jasper Report集成
  3. 乘积最大(信息学奥赛一本通-T1275)
  4. 嘉和生物-B确定发行价每股24.00港元 公开发售获认购1247.52倍
  5. InfoPath读取数据库
  6. matlab共享变量,matlab如何编写共享参数拟合程序 - 程序语言 - 小木虫 - 学术 科研 互动社区...
  7. asp.net repeater控件
  8. 二十岁出头,你一无所有,但你却拥有一切
  9. js四舍五入保留两位小数(可完全保留两位)
  10. java面试简历项目经验,java面试题项目中的难点
  11. 20162327WJH第一次实验——线性结构
  12. Java 安全 后端返回文件流
  13. 【日常点滴016】python游戏库arcade结合Tiled map editor地图编辑器和Pymunk物理引擎制作游戏过程记录,并最终打包为exe文件
  14. 注册表(regedit)
  15. 上传下载Linux系统指定目录的文件
  16. java 面试题365
  17. 复杂因子秒级计算,文谛资产是这样做到的...
  18. 摇杆控制方向原理_手游摇杆(零)摇杆设计原理
  19. php比价源码,定稿毕业论文基于PHP的家电在线比价系统设计与实现喜欢就下吧(资料4)...
  20. VS1053B 音频编解码器芯片的介绍(二)

热门文章

  1. python 绘制正弦余弦函数 matplotlib的基本使用
  2. 教程篇(7.0) 06. FortiGate基础架构 单点登录(FSSO) ❀ Fortinet 网络安全专家 NSE 4
  3. 2017网易雷火实习生招聘编程题
  4. Chrome浏览器如何导入证书(最新!)
  5. 远程主机强迫关闭一个现有连接 安卓开发 完美解决版
  6. Linux下通过CCID协议与USB设备进行交互经验总结
  7. 定积分的基本性质6 积分第一中值定理
  8. 【引用】pygame菜鸟入门指南
  9. qt中glMultiTexCoord2fARB报错
  10. 应用程序操作word文件报“RPC服务器不可用,HRESULT:0x800706BA”