From 0708d4ce61f3a30a6d9c665075af5d6b3b32866a Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Thu, 23 Jan 2020 21:26:30 +0800 Subject: [PATCH 01/16] =?UTF-8?q?=E6=96=B0=E5=A2=9Ews=20worker=E5=91=BD?= =?UTF-8?q?=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/BaseController.php | 3 - .../command/worker/WsWorkerCommand.php | 76 +++++++++++++++++++ 2 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 extend/catcher/command/worker/WsWorkerCommand.php diff --git a/app/BaseController.php b/app/BaseController.php index 3d7995e..bfd74d9 100644 --- a/app/BaseController.php +++ b/app/BaseController.php @@ -3,11 +3,8 @@ declare (strict_types = 1); namespace app; -use catcher\CatchAdmin; use think\App; use think\exception\ValidateException; -use think\facade\View; -use think\helper\Str; use think\Validate; /** diff --git a/extend/catcher/command/worker/WsWorkerCommand.php b/extend/catcher/command/worker/WsWorkerCommand.php new file mode 100644 index 0000000..c25dc90 --- /dev/null +++ b/extend/catcher/command/worker/WsWorkerCommand.php @@ -0,0 +1,76 @@ +setName('ws:server') + ->addArgument('option', Argument::OPTIONAL, '[start|reload|stop|restart|reload|status|connections]', 'start') + ->addOption('mode', '-m', Option::VALUE_REQUIRED, 'worker start mode') + ->addOption('address', '-a',Option::VALUE_REQUIRED, 'listen address, like \'127.0.0.1:9090\'') + ->setDescription('start websocket server, default listen 127.0.0.1 port 10001'); + } + + protected function execute(Input $input, Output $output) + { + $this->setWokrermanCommnd(); + + $this->start(); + } + + protected function start() + { + $ws = new Worker(sprintf('http://%s', $this->getAddress())); + + $ws->count = 7; + + $ws->runAll(); + } + + /** + * @return string + * @author JaguarJack + * @email njphper@gmail.com + * @time 2020/1/23 + */ + protected function getAddress() + { + return $this->input->getOption('address') ? : $this->address; + } + + /** + * + */ + protected function setWokrermanCommnd() + { + global $argv; + + $option = $this->input->getArgument('option'); + + $mode = $this->input->getOption('mode'); + + if ($option) { + array_unshift($argv, $mode); + } + + array_unshift($argv, $option); + + array_unshift($argv, 'catchWorker'); + } +} From bea3e43937e0d680ca28923882f2a0ef6b21981c Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Thu, 23 Jan 2020 21:26:45 +0800 Subject: [PATCH 02/16] =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=B8=8D=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E5=BC=95=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extend/catcher/base/CatchController.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/extend/catcher/base/CatchController.php b/extend/catcher/base/CatchController.php index dcbebe9..f0c3337 100644 --- a/extend/catcher/base/CatchController.php +++ b/extend/catcher/base/CatchController.php @@ -2,8 +2,6 @@ namespace catcher\base; use catcher\CatchAdmin; -use catcher\CatchResponse; -use think\facade\View; abstract class CatchController { From f8f20ab955920ddd09e515dbc2bba6733956c639 Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Fri, 24 Jan 2020 08:39:34 +0800 Subject: [PATCH 03/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9D=83=E9=99=90?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/catch.php | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/config/catch.php b/config/catch.php index 6e4e779..cdbb224 100644 --- a/config/catch.php +++ b/config/catch.php @@ -6,16 +6,26 @@ return [ */ 'domain' => '', - /** - * 权限不验证 get 请求 - * - */ - 'is_allow_get' => true, - - /** - * auth 认证 - * - */ + /** + * 权限配置 + * + */ + 'permissions' => [ + /** + * get 请求不验证 + */ + 'is_allow_get' => true, + + /** + * 超级管理员 ID + * + */ + 'super_admin_id' => 1, + ], + /** + * auth 认证 + * + */ 'auth' => [ // 默认 'default' => [ From 5450edb490eecff61ebb6b5bad53d431bef0b5cd Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Fri, 24 Jan 2020 08:39:52 +0800 Subject: [PATCH 04/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9D=83=E9=99=90?= =?UTF-8?q?=E4=B8=AD=E9=97=B4=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- catch/permissions/PermissionsMiddleware.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/catch/permissions/PermissionsMiddleware.php b/catch/permissions/PermissionsMiddleware.php index ae6fed4..230dbdf 100644 --- a/catch/permissions/PermissionsMiddleware.php +++ b/catch/permissions/PermissionsMiddleware.php @@ -24,7 +24,12 @@ class PermissionsMiddleware */ public function handle(Request $request, \Closure $next) { - if ($request->isGet() && config('catch.is_allow_get')) { + // 超级管理员 + if ($request->user()->id === config('catch.permissions.super_admin_id')) { + return $next($request); + } + // Get 请求 + if ($request->isGet() && config('catch.permissions.is_allow_get')) { return $next($request); } From e61b61a220eedbe603142f81fbdf40e1d15a9079 Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Fri, 24 Jan 2020 08:40:04 +0800 Subject: [PATCH 05/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- catch/CatchAdminService.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/catch/CatchAdminService.php b/catch/CatchAdminService.php index aa6b02e..bb63f1d 100644 --- a/catch/CatchAdminService.php +++ b/catch/CatchAdminService.php @@ -17,6 +17,7 @@ use catcher\command\MigrateRunCommand; use catcher\command\ModelGeneratorCommand; use catcher\command\ModuleCacheCommand; use catcher\command\SeedRunCommand; +use catcher\command\worker\WsWorkerCommand; use catcher\event\LoadModuleRoutes; use catcher\validates\Sometimes; use think\facade\Validate; @@ -57,6 +58,7 @@ class CatchAdminService extends Service CreateModuleCommand::class, MigrateRollbackCommand::class, MigrateCreateCommand::class, + WsWorkerCommand::class, ]); } /** From 07442c8292a1cc50a79bde9382fc163c050f72a8 Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Sat, 25 Jan 2020 11:20:27 +0800 Subject: [PATCH 06/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- catch/permissions/PermissionsMiddleware.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/catch/permissions/PermissionsMiddleware.php b/catch/permissions/PermissionsMiddleware.php index 230dbdf..5a32889 100644 --- a/catch/permissions/PermissionsMiddleware.php +++ b/catch/permissions/PermissionsMiddleware.php @@ -24,10 +24,6 @@ class PermissionsMiddleware */ public function handle(Request $request, \Closure $next) { - // 超级管理员 - if ($request->user()->id === config('catch.permissions.super_admin_id')) { - return $next($request); - } // Get 请求 if ($request->isGet() && config('catch.permissions.is_allow_get')) { return $next($request); @@ -49,7 +45,10 @@ class PermissionsMiddleware if (!$user) { throw new PermissionForbiddenException('Login is invalid', Code::LOST_LOGIN); } - + // 超级管理员 + if ($request->user()->id === config('catch.permissions.super_admin_id')) { + return $next($request); + } // toad $permission = $this->getPermission($module, $controller, $action); if (!$permission || !in_array($permission->id, Cache::get(CatchCacheKeys::USER_PERMISSIONS . $user->id))) { From 44eba6b38930a03f981245394af394ad49d234aa Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Sat, 25 Jan 2020 11:34:59 +0800 Subject: [PATCH 07/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9D=83=E9=99=90?= =?UTF-8?q?=E4=B8=AD=E9=97=B4=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- catch/permissions/PermissionsMiddleware.php | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/catch/permissions/PermissionsMiddleware.php b/catch/permissions/PermissionsMiddleware.php index 5a32889..8a15cf9 100644 --- a/catch/permissions/PermissionsMiddleware.php +++ b/catch/permissions/PermissionsMiddleware.php @@ -24,23 +24,17 @@ class PermissionsMiddleware */ public function handle(Request $request, \Closure $next) { - // Get 请求 - if ($request->isGet() && config('catch.permissions.is_allow_get')) { - return $next($request); - } - $rule = $request->rule()->getName(); if (!$rule) { return $next($request); } - + // 模块忽略 [$module, $controller, $action] = $this->parseRule($rule); - if (in_array($module, $this->ignoreModule())) { return $next($request); } - + // 用户未登录 $user = $request->user(); if (!$user) { throw new PermissionForbiddenException('Login is invalid', Code::LOST_LOGIN); @@ -49,6 +43,10 @@ class PermissionsMiddleware if ($request->user()->id === config('catch.permissions.super_admin_id')) { return $next($request); } + // Get 请求 + if ($request->isGet() && config('catch.permissions.is_allow_get')) { + return $next($request); + } // toad $permission = $this->getPermission($module, $controller, $action); if (!$permission || !in_array($permission->id, Cache::get(CatchCacheKeys::USER_PERMISSIONS . $user->id))) { From 886e86ef246cdb818e666c686f062f1bf0013a16 Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Sat, 25 Jan 2020 16:24:11 +0800 Subject: [PATCH 08/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9composer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 6564d5b..b4a4c32 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,9 @@ "topthink/framework": "^6.0.0", "topthink/think-orm": "^2.0", "topthink/think-migration": "^3.0", - "thans/tp-jwt-auth": "^1.0" + "thans/tp-jwt-auth": "^1.0", + "workerman/workerman": "^3.5", + "jaguarjack/think-filesystem-cloud": "dev-master" }, "require-dev": { "symfony/var-dumper": "^4.2", From 0db7f7d3e91911457cb0fdc6f69ae0c055c32d6a Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Sat, 25 Jan 2020 16:24:44 +0800 Subject: [PATCH 09/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9composer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package/filesystem-cloud/README.md | 58 +++++++++++++ package/filesystem-cloud/composer.json | 32 +++++++ package/filesystem-cloud/src/Filesystem.php | 86 +++++++++++++++++++ package/filesystem-cloud/src/Service.php | 10 +++ .../filesystem-cloud/src/drivers/Local.php | 7 ++ .../src/drivers/OssDriver.php | 34 ++++++++ .../src/drivers/QcloudDriver.php | 16 ++++ .../src/drivers/QiniuDriver.php | 18 ++++ 8 files changed, 261 insertions(+) create mode 100644 package/filesystem-cloud/README.md create mode 100644 package/filesystem-cloud/composer.json create mode 100644 package/filesystem-cloud/src/Filesystem.php create mode 100644 package/filesystem-cloud/src/Service.php create mode 100644 package/filesystem-cloud/src/drivers/Local.php create mode 100644 package/filesystem-cloud/src/drivers/OssDriver.php create mode 100644 package/filesystem-cloud/src/drivers/QcloudDriver.php create mode 100644 package/filesystem-cloud/src/drivers/QiniuDriver.php diff --git a/package/filesystem-cloud/README.md b/package/filesystem-cloud/README.md new file mode 100644 index 0000000..fcec69d --- /dev/null +++ b/package/filesystem-cloud/README.md @@ -0,0 +1,58 @@ +## Think-Filesystem-cloud + +### 要求 + - php 7.1 + - topthink/framework 6.0.0 + +### 使用 +```php +composer require jaguarjack/think-filesystem-cloud +``` + +### 配置 +config/filesystem.php +```php +"disks" => [ + // oss 配置 + 'oss' => [ + 'type' => 'oss', + 'prefix' => '', + 'access_key' => ''; + 'secret_key' => ''; + 'end_point' => ''; // ssl:https://iidestiny.com + 'bucket' => ''; + 'is_cname' => true + ], + // 七牛配置 + 'qiniu' => [ + 'type' => 'qiniu', + 'access_key' => '', + 'secret_key' => '', + 'bucket' => '', + 'domain' => '', + ], + // 腾讯云配置 + 'qcloud' => [ + 'type' => 'qcloud', + 'region' => '', + 'credentials' => [ + 'appId' => , // 域名中数字部分 + 'secretId' => '', + 'secretKey' => '', + ], + 'bucket' => 'test', + 'timeout' => 60, + 'connect_timeout' => 60, + 'cdn' => '您的 CDN 域名', + 'scheme' => 'https', + 'read_from_cdn' => false, + ] +``` + +### 感谢 + - [iiDestiny/flysystem-oss](https://github.com/iiDestiny/flysystem-oss) + - [overtrue/flysystem-qiniu](https://github.com/overtrue/flysystem-qiniu) + - [overtrue/flysystem-cos](https://github.com/overtrue/flysystem-cos) + +### 协议 + MIT \ No newline at end of file diff --git a/package/filesystem-cloud/composer.json b/package/filesystem-cloud/composer.json new file mode 100644 index 0000000..6e11324 --- /dev/null +++ b/package/filesystem-cloud/composer.json @@ -0,0 +1,32 @@ +{ + "name": "jaguarjack/think-filesystem-cloud", + "description": "cloud filesystem for thinkphp6.0", + "type": "library", + "license": "MIT", + "authors": [ + { + "name": "jaguarjack", + "email": "njphper@gmail.com" + } + ], + "minimum-stability": "dev", + "require": { + "guzzlehttp/guzzle": "^6.3", + "overtrue/flysystem-qiniu": "^1.0", + "overtrue/flysystem-cos": "^2.0", + "iidestiny/flysystem-oss": "^1.3", + "jaguarjack/think-filesystem-cloud": "dev-master" + }, + "autoload": { + "psr-4": { + "jaguarjack\\filesystem\\cloud\\": "src" + } + }, + "extra": { + "think": { + "services": [ + "jaguarjack\\filesystem\\cloud\\Service" + ] + } + } +} diff --git a/package/filesystem-cloud/src/Filesystem.php b/package/filesystem-cloud/src/Filesystem.php new file mode 100644 index 0000000..7cc6475 --- /dev/null +++ b/package/filesystem-cloud/src/Filesystem.php @@ -0,0 +1,86 @@ +driver($name); + } + + protected function resolveType(string $name) + { + return $this->getDiskConfig($name, 'type', 'local'); + } + + protected function resolveConfig(string $name) + { + return $this->getDiskConfig($name); + } + + /** + * 获取缓存配置 + * @access public + * @param null|string $name 名称 + * @param mixed $default 默认值 + * @return mixed + */ + public function getConfig(string $name = null, $default = null) + { + if (!is_null($name)) { + return $this->app->config->get('filesystem.' . $name, $default); + } + + return $this->app->config->get('filesystem'); + } + + public function resolveClass(string $type): string + { + if ($this->namespace || false !== strpos($type, '\\')) { + $class = false !== strpos($type, '\\') ? $type : $this->namespace . Str::studly($type) . 'Driver'; + + if (class_exists($class)) { + return $class; + } + } + + throw new InvalidArgumentException("Driver [$type] not supported."); + } + + /** + * 获取磁盘配置 + * @param string $disk + * @param null $name + * @param null $default + * @return array + */ + public function getDiskConfig($disk, $name = null, $default = null) + { + if ($config = $this->getConfig("disks.{$disk}")) { + return Arr::get($config, $name, $default); + } + + throw new InvalidArgumentException("Disk [$disk] not found."); + } + + /** + * 默认驱动 + * @return string|null + */ + public function getDefaultDriver() + { + return $this->getConfig('default'); + } +} \ No newline at end of file diff --git a/package/filesystem-cloud/src/Service.php b/package/filesystem-cloud/src/Service.php new file mode 100644 index 0000000..8ea823c --- /dev/null +++ b/package/filesystem-cloud/src/Service.php @@ -0,0 +1,10 @@ +app->bind('filesystem', Filesystem::class); + } +} \ No newline at end of file diff --git a/package/filesystem-cloud/src/drivers/Local.php b/package/filesystem-cloud/src/drivers/Local.php new file mode 100644 index 0000000..33a635d --- /dev/null +++ b/package/filesystem-cloud/src/drivers/Local.php @@ -0,0 +1,7 @@ + Date: Sat, 25 Jan 2020 17:07:12 +0800 Subject: [PATCH 10/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9composer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.lock | 1154 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 1115 insertions(+), 39 deletions(-) diff --git a/composer.lock b/composer.lock index d51c8f8..45b1a5c 100644 --- a/composer.lock +++ b/composer.lock @@ -1,11 +1,500 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "3cddd5e35328c13e588b027bace1d9fc", + "content-hash": "b823383f18570fde6f461ccede883667", "packages": [ + { + "name": "aliyuncs/oss-sdk-php", + "version": "v2.3.1", + "source": { + "type": "git", + "url": "https://github.com/aliyun/aliyun-oss-php-sdk.git", + "reference": "053d7ba9e798e4c09b9c5c1edab153d25ea9643a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/aliyun/aliyun-oss-php-sdk/zipball/053d7ba9e798e4c09b9c5c1edab153d25ea9643a", + "reference": "053d7ba9e798e4c09b9c5c1edab153d25ea9643a", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "satooshi/php-coveralls": "~1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "OSS\\": "src/OSS" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aliyuncs", + "homepage": "http://www.aliyun.com" + } + ], + "description": "Aliyun OSS SDK for PHP", + "homepage": "http://www.aliyun.com/product/oss/", + "time": "2019-11-15T11:05:42+00:00" + }, + { + "name": "guzzlehttp/command", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/command.git", + "reference": "2aaa2521a8f8269d6f5dfc13fe2af12c76921034" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/command/zipball/2aaa2521a8f8269d6f5dfc13fe2af12c76921034", + "reference": "2aaa2521a8f8269d6f5dfc13fe2af12c76921034", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "guzzlehttp/guzzle": "^6.2", + "guzzlehttp/promises": "~1.3", + "guzzlehttp/psr7": "~1.0", + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0|~5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.9-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Command\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + } + ], + "description": "Provides the foundation for building command-based web service clients", + "time": "2016-11-24T13:34:15+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.5.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "43ece0e75098b7ecd8d13918293029e555a50f82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/43ece0e75098b7ecd8d13918293029e555a50f82", + "reference": "43ece0e75098b7ecd8d13918293029e555a50f82", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.0", + "guzzlehttp/psr7": "^1.6.1", + "php": ">=5.5" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0", + "psr/log": "^1.1" + }, + "suggest": { + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.5-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2019-12-23T11:57:10+00:00" + }, + { + "name": "guzzlehttp/guzzle-services", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle-services.git", + "reference": "9e3abf20161cbf662d616cbb995f2811771759f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle-services/zipball/9e3abf20161cbf662d616cbb995f2811771759f7", + "reference": "9e3abf20161cbf662d616cbb995f2811771759f7", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "guzzlehttp/command": "~1.0", + "guzzlehttp/guzzle": "^6.2", + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "gimler/guzzle-description-loader": "^0.0.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Command\\Guzzle\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "Stefano Kowalke", + "email": "blueduck@mail.org", + "homepage": "https://github.com/konafets" + } + ], + "description": "Provides an implementation of the Guzzle Command library that uses Guzzle service descriptions to describe web services, serialize requests, and parse responses into easy to use model structures.", + "time": "2017-10-06T14:32:02+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.6.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "239400de7a173fe9901b9ac7c06497751f00727a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a", + "reference": "239400de7a173fe9901b9ac7c06497751f00727a", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0", + "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "ext-zlib": "*", + "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.8" + }, + "suggest": { + "zendframework/zend-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Schultze", + "homepage": "https://github.com/Tobion" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "time": "2019-07-01T23:21:34+00:00" + }, + { + "name": "iidestiny/flysystem-oss", + "version": "1.3.7", + "source": { + "type": "git", + "url": "https://github.com/iiDestiny/flysystem-oss.git", + "reference": "3a35575c9479553156c1855184b47ddfb3c46bdb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/iiDestiny/flysystem-oss/zipball/3a35575c9479553156c1855184b47ddfb3c46bdb", + "reference": "3a35575c9479553156c1855184b47ddfb3c46bdb", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "aliyuncs/oss-sdk-php": "^2.3", + "ext-json": "*", + "league/flysystem": "^1.0", + "nesbot/carbon": "^1.24.1 || ^2.0", + "php": "^7.0" + }, + "require-dev": { + "mockery/mockery": "^1.2", + "phpunit/phpunit": "^6.5", + "symfony/var-dumper": "^3.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Iidestiny\\Flysystem\\Oss\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "iidestiny", + "email": "iidestiny@vip.qq.com" + } + ], + "description": "Flysystem adapter for the Oss storage.", + "keywords": [ + "alioss", + "laravel", + "oss", + "阿里oss" + ], + "time": "2019-10-16T06:01:19+00:00" + }, + { + "name": "jaguarjack/think-filesystem-cloud", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/yanwenwu/think-filesystem-cloud.git", + "reference": "fb6dbe4b8e9df925b7e76c2a2c6469d7dd1f829b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yanwenwu/think-filesystem-cloud/zipball/fb6dbe4b8e9df925b7e76c2a2c6469d7dd1f829b", + "reference": "fb6dbe4b8e9df925b7e76c2a2c6469d7dd1f829b", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "guzzlehttp/guzzle": "^6.3", + "iidestiny/flysystem-oss": "^1.3", + "jaguarjack/think-filesystem-cloud": "dev-master", + "overtrue/flysystem-cos": "^2.0", + "overtrue/flysystem-qiniu": "^1.0" + }, + "type": "library", + "extra": { + "think": { + "services": [ + "jaguarjack\\filesystem\\cloud\\Service" + ] + } + }, + "autoload": { + "psr-4": { + "jaguarjack\\filesystem\\cloud\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "jaguarjack", + "email": "njphper@gmail.com" + } + ], + "description": "cloud filesystem for thinkphp6.0", + "time": "2020-01-25T08:25:25+00:00" + }, { "name": "lcobucci/jwt", "version": "3.3.1", @@ -210,6 +699,82 @@ "description": "An adapter decorator to enable meta-data caching.", "time": "2018-07-09T20:51:04+00:00" }, + { + "name": "nesbot/carbon", + "version": "2.29.1", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "e509be5bf2d703390e69e14496d9a1168452b0a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e509be5bf2d703390e69e14496d9a1168452b0a2", + "reference": "e509be5bf2d703390e69e14496d9a1168452b0a2", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "ext-json": "*", + "php": "^7.1.8 || ^8.0", + "symfony/translation": "^3.4 || ^4.0 || ^5.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", + "kylekatarnls/multi-tester": "^1.1", + "phpmd/phpmd": "^2.8", + "phpstan/phpstan": "^0.11", + "phpunit/phpunit": "^7.5 || ^8.0", + "squizlabs/php_codesniffer": "^3.4" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "http://nesbot.com" + }, + { + "name": "kylekatarnls", + "homepage": "http://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "http://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "time": "2020-01-21T09:36:43+00:00" + }, { "name": "opis/closure", "version": "3.5.1", @@ -277,6 +842,105 @@ ], "time": "2019-11-29T22:36:02+00:00" }, + { + "name": "overtrue/flysystem-cos", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/overtrue/flysystem-cos.git", + "reference": "987384030c6491384d3945ee00d1dc6af29dd435" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/overtrue/flysystem-cos/zipball/987384030c6491384d3945ee00d1dc6af29dd435", + "reference": "987384030c6491384d3945ee00d1dc6af29dd435", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "guzzlehttp/guzzle": "^6.3", + "league/flysystem": "^1.0", + "php": ">=7.0", + "qcloud/cos-sdk-v5": "^2.0.0" + }, + "require-dev": { + "mockery/mockery": "~1.0", + "php": ">=7.1", + "phpunit/phpunit": "^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Overtrue\\Flysystem\\Cos\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "overtrue", + "email": "i@overtrue.me" + } + ], + "description": "Flysystem adapter for the QCloud COS storage.", + "time": "2019-10-08T04:00:04+00:00" + }, + { + "name": "overtrue/flysystem-qiniu", + "version": "1.0.4", + "source": { + "type": "git", + "url": "https://github.com/overtrue/flysystem-qiniu.git", + "reference": "d2f13e93cadf2543224afbed7e85230706a9451f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/overtrue/flysystem-qiniu/zipball/d2f13e93cadf2543224afbed7e85230706a9451f", + "reference": "d2f13e93cadf2543224afbed7e85230706a9451f", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "league/flysystem": "^1.0", + "php": ">=5.5.9", + "qiniu/php-sdk": "^7.2" + }, + "require-dev": { + "mockery/mockery": "1.2.3", + "php": ">=5.6.0", + "phpunit/phpunit": "~8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Overtrue\\Flysystem\\Qiniu\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "overtrue", + "email": "i@overtrue.me" + } + ], + "description": "Flysystem adapter for the Qiniu storage.", + "time": "2019-08-16T03:20:56+00:00" + }, { "name": "psr/cache", "version": "1.0.1", @@ -384,6 +1048,62 @@ ], "time": "2017-02-14T16:28:37+00:00" }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, { "name": "psr/log", "version": "1.1.2", @@ -491,6 +1211,373 @@ ], "time": "2017-10-23T01:57:42+00:00" }, + { + "name": "qcloud/cos-sdk-v5", + "version": "v2.0.5", + "source": { + "type": "git", + "url": "https://github.com/tencentyun/cos-php-sdk-v5.git", + "reference": "fa6791c0761a35f4d2493eaf31ed326b56cc0a32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tencentyun/cos-php-sdk-v5/zipball/fa6791c0761a35f4d2493eaf31ed326b56cc0a32", + "reference": "fa6791c0761a35f4d2493eaf31ed326b56cc0a32", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "guzzlehttp/guzzle": "~6.3", + "guzzlehttp/guzzle-services": "~1.1", + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Qcloud\\Cos\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "yaozongyou", + "email": "yaozongyou@vip.qq.com" + }, + { + "name": "lewzylu", + "email": "327874225@qq.com" + } + ], + "description": "PHP SDK for QCloud COS", + "keywords": [ + "cos", + "php", + "qcloud" + ], + "time": "2019-12-24T09:54:39+00:00" + }, + { + "name": "qiniu/php-sdk", + "version": "v7.2.10", + "source": { + "type": "git", + "url": "https://github.com/qiniu/php-sdk.git", + "reference": "d89987163f560ebf9dfa5bb25de9bd9b1a3b2bd8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/qiniu/php-sdk/zipball/d89987163f560ebf9dfa5bb25de9bd9b1a3b2bd8", + "reference": "d89987163f560ebf9dfa5bb25de9bd9b1a3b2bd8", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0", + "squizlabs/php_codesniffer": "~2.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Qiniu\\": "src/Qiniu" + }, + "files": [ + "src/Qiniu/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Qiniu", + "email": "sdk@qiniu.com", + "homepage": "http://www.qiniu.com" + } + ], + "description": "Qiniu Resource (Cloud) Storage SDK for PHP", + "homepage": "http://developer.qiniu.com/", + "keywords": [ + "cloud", + "qiniu", + "sdk", + "storage" + ], + "time": "2019-10-28T10:23:23+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.13.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f", + "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "time": "2019-11-27T14:18:11+00:00" + }, + { + "name": "symfony/translation", + "version": "v5.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "28e1054f1ea26c63762d9260c37cb1056ea62dbb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/28e1054f1ea26c63762d9260c37cb1056ea62dbb", + "reference": "28e1054f1ea26c63762d9260c37cb1056ea62dbb", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": "^7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" + }, + "provide": { + "symfony/translation-implementation": "2.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/service-contracts": "^1.1.2|^2", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2020-01-21T08:40:24+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/8cc682ac458d75557203b2f2f14b0b92e1c744ed", + "reference": "8cc682ac458d75557203b2f2f14b0b92e1c744ed", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "php": "^7.2.5" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "time": "2019-11-18T17:27:11+00:00" + }, { "name": "thans/tp-jwt-auth", "version": "v1.0.6", @@ -767,21 +1854,19 @@ "orm" ], "time": "2020-01-07T10:05:10+00:00" - } - ], - "packages-dev": [ + }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.13.1", + "name": "workerman/workerman", + "version": "v3.5.25", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f" + "url": "https://github.com/walkor/Workerman.git", + "reference": "0b59a11f0fd66f95c795895d199ca10fbbf37ec8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f", - "reference": "7b4aab9743c30be783b73de055d24a39cf4b954f", + "url": "https://api.github.com/repos/walkor/Workerman/zipball/0b59a11f0fd66f95c795895d199ca10fbbf37ec8", + "reference": "0b59a11f0fd66f95c795895d199ca10fbbf37ec8", "shasum": "", "mirrors": [ { @@ -791,24 +1876,16 @@ ] }, "require": { - "php": ">=5.3.3" + "php": ">=5.3" }, "suggest": { - "ext-mbstring": "For best performance" + "ext-event": "For better performance. " }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.13-dev" - } - }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] + "Workerman\\": "./" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -816,25 +1893,22 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "walkor", + "email": "walkor@workerman.net", + "homepage": "http://www.workerman.net", + "role": "Developer" } ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", + "description": "An asynchronous event driven PHP framework for easily building fast, scalable network applications.", + "homepage": "http://www.workerman.net", "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" + "asynchronous", + "event-loop" ], - "time": "2019-11-27T14:18:11+00:00" - }, + "time": "2020-01-19T06:54:59+00:00" + } + ], + "packages-dev": [ { "name": "symfony/polyfill-php72", "version": "v1.13.1", @@ -1034,7 +2108,9 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "jaguarjack/think-filesystem-cloud": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { From 3001ba26b130dddcd2c8a49f987c6afcdabb9adc Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Sat, 25 Jan 2020 17:07:33 +0800 Subject: [PATCH 11/16] =?UTF-8?q?=E4=BF=AE=E6=94=B9ignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index 269cadf..8247566 100644 --- a/.gitignore +++ b/.gitignore @@ -1,29 +1,7 @@ /.idea /.vscode /vendor - +/package *.log .env -# view -/view/catch-admin/.DS_Store -/view/catch-admin/node_modules -/view/catch-admin/dist - -# local env files -/view/catch-admin/.env.local -/view/catch-admin/.env.*.local - -# Log files -/view/catch-admin/npm-debug.log* -/view/catch-admin/yarn-debug.log* -/view/catch-admin/yarn-error.log* - -# Editor directories and files -/view/catch-admin/.idea -/view/catch-admin/.vscode -/view/catch-admin/*.suo -/view/catch-admin/*.ntvs* -/view/catch-admin/*.njsproj -/view/catch-admin/*.sln -/view/catch-admin/*.sw* From 6b0eb5f8494c63c32fe23013a50c217d138eeba9 Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Sat, 25 Jan 2020 20:03:18 +0800 Subject: [PATCH 12/16] fixed bugs --- catch/CatchAdminService.php | 2 +- catch/login/controller/Index.php | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/catch/CatchAdminService.php b/catch/CatchAdminService.php index bb63f1d..982ba5f 100644 --- a/catch/CatchAdminService.php +++ b/catch/CatchAdminService.php @@ -86,7 +86,7 @@ class CatchAdminService extends Service protected function registerMiddleWares(): void { $this->app->middleware->import([ - 'catch_check_permission' => PermissionsMiddleware::class, + 'catch_check_permission' => PermissionsMiddleware::class, ], 'route'); } diff --git a/catch/login/controller/Index.php b/catch/login/controller/Index.php index 90745f5..50a6b23 100644 --- a/catch/login/controller/Index.php +++ b/catch/login/controller/Index.php @@ -1,14 +1,15 @@ putFile('ok', $file)); $params = $request->param(); $token = $auth->attempt($params); From 6f31f12be7e1fafbc5a6e3df9246f2a3e3b44611 Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Sat, 25 Jan 2020 20:05:57 +0800 Subject: [PATCH 13/16] =?UTF-8?q?=E6=96=B0=E5=A2=9Ecommands?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/worker/WsWorkerCommand.php | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/extend/catcher/command/worker/WsWorkerCommand.php b/extend/catcher/command/worker/WsWorkerCommand.php index c25dc90..0e29fe6 100644 --- a/extend/catcher/command/worker/WsWorkerCommand.php +++ b/extend/catcher/command/worker/WsWorkerCommand.php @@ -23,6 +23,7 @@ class WsWorkerCommand extends Command $this->setName('ws:server') ->addArgument('option', Argument::OPTIONAL, '[start|reload|stop|restart|reload|status|connections]', 'start') ->addOption('mode', '-m', Option::VALUE_REQUIRED, 'worker start mode') + ->addOption('number', '-n', Option::VALUE_REQUIRED, 'worker number') ->addOption('address', '-a',Option::VALUE_REQUIRED, 'listen address, like \'127.0.0.1:9090\'') ->setDescription('start websocket server, default listen 127.0.0.1 port 10001'); } @@ -34,11 +35,19 @@ class WsWorkerCommand extends Command $this->start(); } + /** + * worker start + * + * @author JaguarJack + * @email njphper@gmail.com + * @time 2020/1/23 + * @return void + */ protected function start() { - $ws = new Worker(sprintf('http://%s', $this->getAddress())); + $ws = new Worker(sprintf('websocket://%s', $this->getAddress())); - $ws->count = 7; + $ws->count = $this->getWorkerNumber(); $ws->runAll(); } @@ -55,7 +64,25 @@ class WsWorkerCommand extends Command } /** + * worker number * + * @author JaguarJack + * @email njphper@gmail.com + * @time 2020/1/23 + * @return mixed + */ + protected function getWorkerNumber() + { + return $this->input->getOption('number') ? : 3; + } + + /** + * set workerman command + * + * @author JaguarJack + * @email njphper@gmail.com + * @time 2020/1/23 + * @return void */ protected function setWokrermanCommnd() { From b9acfbea2b82ca960425fca4f3bce86b90ba2bf3 Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Sat, 25 Jan 2020 20:06:13 +0800 Subject: [PATCH 14/16] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extend/catcher/CatchUpload.php | 117 +++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 extend/catcher/CatchUpload.php diff --git a/extend/catcher/CatchUpload.php b/extend/catcher/CatchUpload.php new file mode 100644 index 0000000..864cf4a --- /dev/null +++ b/extend/catcher/CatchUpload.php @@ -0,0 +1,117 @@ +getDriver())->putFile($this->getPath(), $file); + } + + /** + * get upload driver + * + * @author JaguarJack + * @email njphper@gmail.com + * @time 2020/1/25 + * @return string + */ + protected function getDriver() + { + return $this->driver; + } + + /** + * set driver + * + * @author JaguarJack + * @email njphper@gmail.com + * @time 2020/1/25 + * @param $driver + * @throws \Exception + * @return $this + */ + public function setDriver($driver) + { + if (!in_array($driver, [self::OSS, self::QCLOUD, self::QIQNIU, self::LOCAL])) { + throw new \Exception(sprintf('Upload Driver [%s] Not Supported', $driver)); + } + + $this->driver = $driver; + + return $this; + } + + /** + * + * @author JaguarJack + * @email njphper@gmail.com + * @time 2020/1/25 + * @return string + */ + protected function getPath() + { + return $this->path; + } + + /** + * + * @author JaguarJack + * @email njphper@gmail.com + * @time 2020/1/25 + * @param string $path + * @return $this + */ + public function setPath(string $path) + { + $this->path = $path; + + return $this; + } +} \ No newline at end of file From 714837c8dfd65dee4558f351049c42252d29dcfb Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Sat, 25 Jan 2020 20:06:36 +0800 Subject: [PATCH 15/16] =?UTF-8?q?=E6=96=B0=E5=A2=9Ecloud=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/filesystem.php | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/config/filesystem.php b/config/filesystem.php index c851aed..4e3bfb9 100644 --- a/config/filesystem.php +++ b/config/filesystem.php @@ -22,5 +22,38 @@ return [ 'visibility' => 'public', ], // 更多的磁盘配置信息 - ], + 'qiniu' => [ + 'type' => 'qiniu', + 'access_key' => 'iLOE193LsBtlY4LZSN6cMIec9FTmMDRXPoFnBAec', + 'secret_key' => '2w7bQ6dw_HA2mfZHxXyzROxXach_9-6kavgJ9aHl', + 'bucket' => 'assets', + 'domain' => 'assets.njphper.com', + ], + 'oss' => [ + 'type' => 'oss', + 'prefix' => '', + 'access_key' => 'XbBP7l7B8ZrXOkDk', + 'secret_key' => 'EhNxzuIMZJsvpjWXSyvsSgcCML5In2', + 'end_point' => 'https://oss-cn-beijing.aliyuncs.com', // ssl:https://iidestiny.com + 'bucket' => 'jaguarjack-test', + 'is_cname' => false + ], + // 腾讯云配置 + 'qcloud' => [ + 'type' => 'qcloud', + 'region' => 'ap-chengdu', + 'credentials' => [ + 'appId' => '1252879105', // 域名中数字部分 + 'secretId' => 'AKIDVpqhjprOp0BNL2EhhRurb7QZjspWmoiN', + 'secretKey' => 'ojV3OuEKCohjWq0yhBPZWEoFTTYN5c5w', + ], + 'bucket' => 'jaguarjack-1252879105', + 'timeout' => 60, + 'connect_timeout' => 60, + 'cdn' => '', + 'scheme' => 'https', + 'read_from_cdn' => false, + ] + ] + ]; From 10687ea93cbaa88d39d6f69a7ba8ccacc0319797 Mon Sep 17 00:00:00 2001 From: yanwenwu Date: Sat, 25 Jan 2020 20:07:08 +0800 Subject: [PATCH 16/16] =?UTF-8?q?=E5=A2=9E=E5=8A=A0composer=E6=8F=92?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/composer.lock b/composer.lock index 45b1a5c..b5d0a6a 100644 --- a/composer.lock +++ b/composer.lock @@ -448,12 +448,12 @@ "source": { "type": "git", "url": "https://github.com/yanwenwu/think-filesystem-cloud.git", - "reference": "fb6dbe4b8e9df925b7e76c2a2c6469d7dd1f829b" + "reference": "1b2931c988cdea59c638c4f842c1ccb304376f4f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/yanwenwu/think-filesystem-cloud/zipball/fb6dbe4b8e9df925b7e76c2a2c6469d7dd1f829b", - "reference": "fb6dbe4b8e9df925b7e76c2a2c6469d7dd1f829b", + "url": "https://api.github.com/repos/yanwenwu/think-filesystem-cloud/zipball/1b2931c988cdea59c638c4f842c1ccb304376f4f", + "reference": "1b2931c988cdea59c638c4f842c1ccb304376f4f", "shasum": "", "mirrors": [ { @@ -493,7 +493,7 @@ } ], "description": "cloud filesystem for thinkphp6.0", - "time": "2020-01-25T08:25:25+00:00" + "time": "2020-01-25T09:25:22+00:00" }, { "name": "lcobucci/jwt",