前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速搭建你的api数据交易平台-图文开发教程

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

原创
作者头像
dogstar
发布2022-05-28 19:15:09
6200
发布2022-05-28 19:15:09
举报

项目背景

如果你需要开发搭建自己的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等软件。上传到服务器,解压并配置好域名后。访问首页,可以看到并点击进入【首次使用,请先安装】。

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

随后进入安装向导界面。

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

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

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

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

系统项目和源代码结构

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

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

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

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

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

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

PhalApi Pro版的目录结构如下,

代码语言:javascript
复制
./
├── 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可进行安装和更新

接口划分如下:

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

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

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

连接你的数据库

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

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

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

代码语言:javascript
复制
    '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服务。

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

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

代码语言:javascript
复制
<?php
namespace App\Model\Plus;

use Base\Model\PlusBase;

class Comment extends PlusBase {
    // 实现具体的数据库操作
}

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

开发并上架你的数据API

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

先登录管理后台:

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

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

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

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

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

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

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

设置API数据套餐和费用

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

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

类型选择:付费购买。

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

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

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

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

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

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

开发者在线购买和使用

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

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

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

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

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

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

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

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

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

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

后台流量统计和账单管理

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

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

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

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

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

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

还可以管理客户账号:

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

分配和管理接口权限:

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目背景
  • 安装
  • 系统项目和源代码结构
  • 连接你的数据库
  • 开发并上架你的数据API
  • 设置API数据套餐和费用
  • 开发者在线购买和使用
  • 后台流量统计和账单管理
相关产品与服务
云 API
云 API 是腾讯云开放生态的基石。通过云 API,只需少量的代码即可快速操作云产品;在熟练的情况下,使用云 API 完成一些频繁调用的功能可以极大提高效率;除此之外,通过 API 可以组合功能,实现更高级的功能,易于自动化, 易于远程调用, 兼容性强,对系统要求低。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档