jucloud / easy-organization
这是我使用过最优雅的方式查询企业工商信息的SDK了
v1.0.0
2023-06-09 12:40 UTC
Requires
- php: >=7.4
- ext-bcmath: *
- ext-json: *
- ext-libxml: *
- ext-openssl: *
- ext-simplexml: *
- psr/container: ^1.1 || ^2.0
- psr/event-dispatcher: ^1.0
- psr/http-client: ^1.0
- psr/http-message: ^1.0 || ^2.0
- psr/log: ^1.1 || ^2.0 || ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- guzzlehttp/guzzle: ^7.0
- mockery/mockery: ^1.4
- monolog/monolog: ^2.2
- phpstan/phpstan: ^1.0.0
- phpunit/phpunit: ^9.0
- symfony/event-dispatcher: ^5.2.0
- symfony/http-foundation: ^5.2.0
- symfony/psr-http-message-bridge: ~2.0|^2.1
- symfony/var-dumper: ^5.1
Suggests
- hyperf/pimple: 其它/无框架下使用 SDK,请安装
- illuminate/container: Laravel 框架下使用 SDK,请安装
README
前言
📦 一个 PHP 获取第三方(天眼查、企查查、启信宝)工商信息 SDK,公司业务需求问题,目前只实现了搜索和获取机构基本信息,其余接口未进行对接,大家如有需求可根据需求自行fork或者提交pr。
为了节约实现时间加快业务实现,总体架构借鉴了yansongda/pay,之前在做支付相关业务时,轮子造的很不错,比较简单容易理解,而且代码优雅,感谢yansongda作出的技术贡献。
欢迎 Star,欢迎 PR!
特点
- 多租户支持
- Swoole 支持
- 灵活的插件机制
- 丰富的事件系统
- 根据天眼查、企查查、启信宝最新 API 开发而成
- 文件结构清晰易理解,可以随心所欲添加本项目中未支持的网关
- 方法使用更优雅,不必再去研究那些奇怪的的方法名或者类名是做啥用的
- 符合 PSR2、PSR3、PSR4、PSR7、PSR11、PSR14、PSR18 等各项标准,你可以各种方便的与你的框架集成
运行环境
- PHP 7.4+
- composer
支持的方法
天眼查
企查查
启信宝
安装
composer require jucloud/easy-organization
laravel 扩展包请 传送至这里
使用示例
基本使用(以天眼查为例):
<?php namespace App\Http\Controllers; use JuCloud\EasyOrganization\EasyOrganization; class IndexController { protected $config = [ 'tianyancha' => [ 'default' => [ // 选填-默认为正常模式。可选为: MODE_NORMAL, MODE_SANDBOX, MODE_SERVICE 'mode' => EasyOrganization::MODE_NORMAL, // 必填-天眼查分配的 token 'token' => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' ], ], 'logger' => [ // optional 'enable' => false, 'file' => storage_path('logs/jucloud.organization.log'),, 'level' => 'info', // 建议生产环境等级调整为 info,开发环境为 debug 'type' => 'single', // optional, 可选 daily. 'max_file' => 30, // optional, 当 type 为 daily 时有效,默认 30 天 ], 'http' => [ // optional 'timeout' => 5.0, 'connect_timeout' => 5.0, // 更多配置项请参考 [Guzzle](https://guzzle-cn.readthedocs.io/zh_CN/latest/request-options.html) ], ]; public function search() { // keyword 关键词 // page_size 每页大小 // page_index 当前页数 $result = EasyOrganization::tianyancha($this->config)->search([ 'keyword' => '', 'page_size' => 0, //非必填 'page_index' => 20, //非必填 ]); return $result; } }
代码贡献
由于测试及使用环境的限制,本项目中只开发了天眼查、企查查、启信宝的部分网关。 如果您有其它网关的需求,或者发现本项目中需要改进的代码,欢迎 Fork 并提交 PR!
LICENSE
MIT