草庐IT

API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架

YF云飞 2023-07-30 原文

目录

一、简介

二、“器”有所用 

三、“三大”平台/系统使用手册

⭐️1、API接口系统手册⭐️

访问在线接口

在线接口文档列表

接口文档详情页

搜索接口

⭐️2、Platform开放平台手册⭐️

访问开放平台

注册并登录开发者账号

创建应用

查看接口权限

调用开发接口

获取接口访问令牌

对比三种获取令牌的方式:

调用开放接口

⭐️3、Admin管理后台手册⭐️

访问管理后台 ​编辑

登陆管理后台

使用管理后台

账号管理

应用管理

接口管理(权限、设计、测试)

素材库

配置管理

计划任务

数据库管理

统计

管理后台权限分配

开放平台权限分配

四、总结


一、简介

  • PhalApi Pro 是PhalApi开源接口框架的专业版, 基于主流的PHP+MySQL,可用于开发接口系统、搭建开放平台,能有效管理开发者、应用、接口和权限。通过开放平台可以快速整合资源,借助SaaS服务、Serverless、云服务、大数据和开放接口等互联网技术,连接最终顾客、开发者、合作伙伴、供应商和企业,形成商业闭环。

  • 专业版包括API接口系统、Platform开放平台和Admin管理后台三个子系统,可快速用于接口开发管理和开放平台搭建。

  • 接口大师 (5 合 1),包括了:OpenAPI 接口系统、Docs 在线接口文档、Platform 开放平台、Admin 管理后台 Wiki 技术文档。

二、“器”有所用 

PhalApi Pro 接口大师,是一套开发、管理和提供接口的产品框架、软件源代码和解决方案。可用于快速搭建您的:OpenAPI、API 开放平台、数据平台、PaaS 平台、SaaS 软件等。

基于前后端分离技术栈开发,后端使用 PHP 开发语言和 PhalApi 开源接口框架,前端使用 Vue 以及 iView。接口大师的特点是:技术要求更低、部署速度更快(可视化安装)、应用场景更广,可以即刻开放 API 接口,共享数据,可减少 30 + 天以上的项目开发周期。

三、“三大”平台/系统使用手册

⭐️1、API接口系统手册⭐️

包括全部API接口,可自动生成在线接口代码,并进行全面而灵活的接口权限分配。基于PhalApi 2.x开发,采用经典的LNMP架构,也可部署运行在Apache和Windows系统,由后端开发工程师负责开发,提供API接口给开发者、客户端使用。

全部接口,可通过在线接口文档浏览。管理员登录后可查看全部内部接口。

访问在线接口

在线接口文档列表

接口文档详情页

填写接口参数后,可以进行在线接口测试:

搜索接口

可以进行接口的搜索,模糊匹配接口名称和接口描述,以及接口英文名称。

⭐️2、Platform开放平台手册⭐️

提供给平台的开发者使用,可进行应用管理、查看接口权限等操作。基于iView Admin开发,采用前后端分离技术方案。

新手开发者的主要使用流程是:

访问开放平台

注册并登录开发者账号

进入开发者注册页面,按提示填写注册信息,然后提交并登录。

创建应用

进入【应用管理】-【我的应用】-【创建新应用】,按要求填写相关信息,确认提交,然后等待管理员审核。

填写应用信息:

创建新应用后等待管理员审核。

查看应用密钥:

应用审核通过后,可查看应用的接口权限。

查看接口权限

在管理员分配接口权限后,就可以调用需要的开放接口API。

调用开发接口

开发者在调用开放接口前,需要先注册开发者账号,创建新的应用并等待管理员审核通过,并且只能调用已分配权限的接口。

获取接口访问令牌

首先,开发者需要根据已申请的app_key和app_secret创建新的访问令牌。可以使用接口App.Auth.ApplyToken 申请访问令牌接口。

界面化操作指引如下,进入在线接口文档,选择【App.Auth.ApplyToken】。

输入应用的app_key和密钥,获取令牌:

申请成功后,接口会返回access_token访问令牌,以及expire_at有效时间。

{
    "ret": 200,
    "data": {
        "access_token": "访问令牌",
        "expire_at": 1580442248
    },
    "msg": ""
}

对比三种获取令牌的方式:

接口应用app_key应用密钥会员登录账号会员登录密码备注
App.Auth.ApplyToken需要需要不需要不需要可指定uid
App.Auth.UserLogin不需要不需要需要需要可指定app_key
App.Auth.AppUserLogin需要需要需要需要自动绑定uid和app_key

调用开放接口

接下来,就可以根据access_token访问令牌,访问其他的开放接口。

需要注意的是,如果部分开放接口需要会员登录,此时开发者应使用App.User.UserLogin会员登录接口,根据会员登录账号、密码和app_key,生成一个带有会员登录态的访问令牌。

温馨提示:如果开放接口需要检测会员登录态,开发者应用需要调用App.User.UserLogin会员登录接口,生成访问令牌。

⭐️3、Admin管理后台手册⭐️

提供给管理员使用,可进行全面的日常管理。基于iView Admin开发,采用前后端分离技术方案。

访问管理后台 

登陆管理后台

打开管理后台,首先需要进行管理员登录,登录界面如下:

管理员账号密码,在安装向导时,由用户自行设定。如果忘记管理员账号,可查看member数据库表;如果忘记密码,需要重新安装。

使用管理后台

进入管理后台后,可以看到类似以下的后台首页:

其他功能模块,按界面指引操作即可。

下面简单介绍管理后台的功能,最新的界面以最新版的为准。

账号管理

管理和查看全部账号,包括管理员、开发者和会员的账号,进行账号的管理,例如修改密码、修改资料、创建账号。

应用管理

可以对客户端应用进行管理,如审核开发者应用、查看应用信息、限制应用接口调用次数、禁用或恢复等。

接口管理(权限、设计、测试)

可以进行接口权限分配和管理(权限分配)、进行可视化接口设计(接口开发)、接口自动化黑盒测试(接口测试)。

接口权限:
为开发者角色分配接口权限:

创建接口授权规则:

接口设计: 可以在线生成接口代码、保存接口代码,还可以创建数据库表,生成对应的CURD通用数据接口。

自动生成的API代码示例: 

接口测试:

素材库

对上传的图片、文档进行管理:

配置管理

动态配置:

计划任务

定时计划任务,需要添加crontab配置,启动后台任务。

通过crontab -e,添加以下计划任务:

# PhalApi Pro 计划任务
*/1 * * * * php /path/to/phalapi-pro/bin/run_task.php > /dev/null

数据库管理

可以统计数据库容量,可视化直观的统计。

还可以查看实时数据库进程,方便知道当前有哪些查询和操作。

统计

接口统计:

注册统计和登录统计:

管理后台权限分配

点击【权限】-【管理后台权限分配】,可针对管理后台的功能操作,向管理员进行权限分配。

温馨提示:只有超级管理员,才有权限进行权限分配。

添加新操作,如果有新增的菜单,可添加新操作,然后再进行权限分配。

其中,URI链接为管理后台的页面路径,不需要域名,不需要/admin/,对应页面后面的路径。

针对管理员角色分配管理后台菜单操作权限:

温馨提示:超级管理员拥有全部管理后台的权限,无须分配。

也可以针对个别的账号ID分配管理后台菜单权限:

开放平台权限分配

可以针对开放平台操作,向开发者进行权限分配。

温馨提示:只有超级管理员,才有权限进行权限分配。

添加新操作,如果有新增的菜单,可添加新操作,然后再进行权限分配。

针对开发者角色分配开放平台的菜单操作权限:

温馨提示:管理员(包括普通管理员和超级管理员,以及新增的自定义管理员)拥有全部开放平台的权限,无须分配。

也可以针对个别开发者账号ID,单独分配开放平台的操作权限。

四、总结


接口大师功能齐全,性能强大,美中不足就是专业版价格并不便宜

当然,接口大师也有免费的开源框架:

地址:https://github.com/phalapi/phalapi.git

总之,

如果你是前端开发,需要用到 API 接口开发自己的应用或实现自己的业务,但又不想折磨复杂的后端、数据库、服务器、运维、接口开发等,可以直接使用果创云 YesApi 的零代码开发平台和免费的 API 接口。

如果你是 PHP 开发人员,需要开发 API 接口给自己的前端使用,可以使用 PhalApi 开源接口框架,基于 PHP 语言快速开发自己的 API 接口。

如果你是项目负责或产品经理或技术 TL,若需要开放 API 接口给外部开发者、客户或其他企业使用,可以使用接口大师,快速部署自己的 OpenAPI 和开放平台。

有关API 低代码开发:接口大师,一套开发、管理和提供接口的产品框架的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  3. ruby-on-rails - Rails 源代码 : initialize hash in a weird way? - 2

    在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has

  4. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  5. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  6. ruby-on-rails - 浏览 Ruby 源代码 - 2

    我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru

  7. ruby-on-rails - ActionController::RoutingError: 未初始化常量 Api::V1::ApiController - 2

    我有用于控制用户任务的Rails5API项目,我有以下错误,但并非总是针对相同的Controller和路由。ActionController::RoutingError:uninitializedconstantApi::V1::ApiController我向您描述了一些我的项目,以更详细地解释错误。应用结构路线scopemodule:'api'donamespace:v1do#=>Loginroutesscopemodule:'login'domatch'login',to:'sessions#login',as:'login',via::postend#=>Teamroutessc

  8. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  9. ruby - 模块嵌套代码风格偏好 - 2

    我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的

  10. ruby - 寻找通过阅读代码确定编程语言的ruby gem? - 2

    几个月前,我读了一篇关于ruby​​gem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:

随机推荐