目录
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 + 天以上的项目开发周期。
包括全部API接口,可自动生成在线接口代码,并进行全面而灵活的接口权限分配。基于PhalApi 2.x开发,采用经典的LNMP架构,也可部署运行在Apache和Windows系统,由后端开发工程师负责开发,提供API接口给开发者、客户端使用。
全部接口,可通过在线接口文档浏览。管理员登录后可查看全部内部接口。





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

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

提供给平台的开发者使用,可进行应用管理、查看接口权限等操作。基于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会员登录接口,生成访问令牌。
提供给管理员使用,可进行全面的日常管理。基于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 和开放平台。
我正在使用i18n从头开始构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在rubyonrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi
如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
在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
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru
我有用于控制用户任务的Rails5API项目,我有以下错误,但并非总是针对相同的Controller和路由。ActionController::RoutingError:uninitializedconstantApi::V1::ApiController我向您描述了一些我的项目,以更详细地解释错误。应用结构路线scopemodule:'api'donamespace:v1do#=>Loginroutesscopemodule:'login'domatch'login',to:'sessions#login',as:'login',via::postend#=>Teamroutessc
我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI
我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的
几个月前,我读了一篇关于rubygem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题: