Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lmhfq/easyopen
一个基于Hyperf框架的简单易用的接口开放平台,平台封装了常用的参数校验、结果返回等功能,开发者只需实现业务代码即可。
https://github.com/lmhfq/easyopen
easyopen hyperf openapi
Last synced: 5 days ago
JSON representation
一个基于Hyperf框架的简单易用的接口开放平台,平台封装了常用的参数校验、结果返回等功能,开发者只需实现业务代码即可。
- Host: GitHub
- URL: https://github.com/lmhfq/easyopen
- Owner: lmhfq
- License: mit
- Created: 2020-08-17T02:46:37.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2020-09-15T12:37:39.000Z (about 4 years ago)
- Last Synced: 2024-08-02T18:43:50.065Z (3 months ago)
- Topics: easyopen, hyperf, openapi
- Language: PHP
- Homepage:
- Size: 78.1 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# easyopen
一个简单易用的接口开放平台,平台封装了常用的参数校验、结果返回等功能,开发者只需实现业务代码即可。easyopen的功能类似于[淘宝开放平台](http://open.taobao.com/docs/api.htm?spm=a219a.7629065.0.0.6cQDnQ&apiId=4),它的所有接口只提供一个url,通过参数来区分不同业务。这样做的好处是接口url管理方便了,平台管理者只需维护好接口参数即可。由于参数的数量是可知的,这样可以在很大程度上进行封装。封装完后平台开发者只需要写业务代码,其它功能可以通过配置来完成。
## 示例
- 1、定义自己的控制器和网关路由,注入OpenRequestDispatcher 即可
```
dispatch($request);
}
}
```- 2、定义开发服务类如下,引入OpenService 和 OpenMapping即可
```
select(['appid', 'secret', 'public_key', 'status'])->where(['appid' => $appId])->first();
if (!$data) {
throw new ApplicationDataFetchException(ErrorSubCode::getMessage(ErrorSubCode::INVALID_APP_ID));
}
$this->data = $data;
return $this;
}/**
* @inheritDoc
*/
public function getSecret(?string $appId = null): string
{
return $this->data['secret'] ?? '';
}/**
* @inheritDoc
*/
public function getPublicKey(?string $appId = null): string
{
return $this->data['public_key'] ?? '';
}}
```- 2、在 config/autoload/dependencies.php 内完成关系配置:
```
\App\Factory\ApplicationDataFetchFactory::class,
];
```- 3、发布平台密钥配置文件
```
php bin/hyperf.php vendor:publish lmh/easyopen
```