diff --git a/addon/AutoVod/info.json b/addon/AutoVod/info.json new file mode 100644 index 0000000..b689140 --- /dev/null +++ b/addon/AutoVod/info.json @@ -0,0 +1,9 @@ +{ + "name": "AutoVod", + "label": "Ai短视频", + "description": "自动实现短视频生产,自动发布", + "installed": true, + "enabled": true, + "version": "1.0.0", + "order": 99 +} \ No newline at end of file diff --git a/addon/Comarea/Api/AreaController.php b/addon/Comarea/Api/AreaController.php index 4fbedfd..114e651 100644 --- a/addon/Comarea/Api/AreaController.php +++ b/addon/Comarea/Api/AreaController.php @@ -24,6 +24,6 @@ class AreaController #[GetMapping("getInfo")] public function getInfo($pid = 0) { - return 1; + return 3; } } \ No newline at end of file diff --git a/addon/Comarea/Controller/IndexController.php b/addon/Comarea/Controller/IndexController.php index 39344b9..8568b02 100644 --- a/addon/Comarea/Controller/IndexController.php +++ b/addon/Comarea/Controller/IndexController.php @@ -14,19 +14,21 @@ namespace Addon\Comarea\Controller; use Hyperf\HttpServer\Annotation\Controller; use Hyperf\HttpServer\Annotation\GetMapping; -use Builder\MineController; +use Builder\BaseController; use Builder\Entity\UISettingEntity; use Builder\Entity\UserEntity; use Builder\Entity\MenuEntity; use Builder\Entity\MenuItemEntity; use Builder\View; +use Hyperf\HttpServer\Annotation\AutoController; /** * Class IndexController + * @AutoController() * @package Addon\Comarea\Controller */ #[Controller(prefix: "area")] -class IndexController extends MineController +class IndexController extends BaseController { #[GetMapping("index")] public function Index(){ @@ -36,4 +38,12 @@ class IndexController extends MineController $setting->setUser($user); return View::make($setting); } + + +// #[GetMapping("grid")] + public function grid(){ + + var_dump(555); + return 111; + } } \ No newline at end of file diff --git a/addon/Comarea/config.json b/addon/Comarea/info.json similarity index 100% rename from addon/Comarea/config.json rename to addon/Comarea/info.json diff --git a/addon/Comorder/config.json b/addon/Comorder/info.json similarity index 100% rename from addon/Comorder/config.json rename to addon/Comorder/info.json diff --git a/addon/Member/config.json b/addon/Member/info.json similarity index 100% rename from addon/Member/config.json rename to addon/Member/info.json diff --git a/api/ApiController.php b/api/ApiController.php index b79936d..a1b4921 100644 --- a/api/ApiController.php +++ b/api/ApiController.php @@ -16,8 +16,8 @@ use App\System\Service\SystemAppService; use Hyperf\HttpServer\Annotation\Middlewares; use Hyperf\HttpServer\Annotation\PostMapping; use Builder\Exception\NormalStatusException; -use Builder\Helper\MineCode; -use Builder\MineApi; +use Builder\Helper\BaseCode; +use Builder\Api; use Hyperf\HttpServer\Annotation\Controller; use Hyperf\HttpServer\Annotation\RequestMapping; use Psr\Http\Message\ResponseInterface; @@ -28,7 +28,7 @@ use Api\Middleware\VerifyInterfaceMiddleware; * @package Api */ #[Controller(prefix: "api")] -class ApiController extends MineApi +class ApiController extends Api { public const SIGN_VERSION = '1.0'; @@ -63,8 +63,8 @@ class ApiController extends MineApi return $class->{$apiData['method_name']}(); } catch (\Throwable $e) { throw new NormalStatusException( - t('mineadmin.interface_exception') . $e->getMessage(), - MineCode::INTERFACE_EXCEPTION + t('uiview.interface_exception') . $e->getMessage(), + BaseCode::INTERFACE_EXCEPTION ); } } @@ -77,7 +77,7 @@ class ApiController extends MineApi protected function __init() { if (empty($this->request->input('apiData'))) { - throw new NormalStatusException(t('mineadmin.access_denied'), MineCode::NORMAL_STATUS); + throw new NormalStatusException(t('uiview.access_denied'), BaseCode::NORMAL_STATUS); } return $this->request->input('apiData'); diff --git a/api/ApiDocController.php b/api/ApiDocController.php index 1631957..80e7e5a 100644 --- a/api/ApiDocController.php +++ b/api/ApiDocController.php @@ -17,8 +17,8 @@ use App\System\Service\SystemAppService; use Hyperf\Di\Annotation\Inject; use Hyperf\HttpServer\Annotation\GetMapping; use Hyperf\HttpServer\Annotation\PostMapping; -use Builder\Helper\MineCode; -use Builder\MineApi; +use Builder\Helper\BaseCode; +use Builder\Api; use Hyperf\HttpServer\Annotation\Controller; use Psr\Http\Message\ResponseInterface; @@ -27,7 +27,7 @@ use Psr\Http\Message\ResponseInterface; * @package Api */ #[Controller(prefix: "apiDoc")] -class ApiDocController extends MineApi +class ApiDocController extends Api { /** * @var SystemAppService @@ -54,11 +54,11 @@ class ApiDocController extends MineApi $app_secret = $this->request->input('app_secret', ''); if (empty($app_id) && empty($app_secret)) { - return $this->error(t('mineadmin.api_auth_fail'), MineCode::API_PARAMS_ERROR); + return $this->error(t('uiview.api_auth_fail'), BaseCode::API_PARAMS_ERROR); } - if (($code = $this->systemAppService->loginDoc($app_id, $app_secret)) !== MineCode::API_VERIFY_PASS) { - return $this->error(t('mineadmin.api_auth_fail'), $code); + if (($code = $this->systemAppService->loginDoc($app_id, $app_secret)) !== BaseCode::API_VERIFY_PASS) { + return $this->error(t('uiview.api_auth_fail'), $code); } return $this->success(); diff --git a/api/InterfaceApi/v1/DemoApi.php b/api/InterfaceApi/v1/DemoApi.php index 51b5d04..18ec032 100644 --- a/api/InterfaceApi/v1/DemoApi.php +++ b/api/InterfaceApi/v1/DemoApi.php @@ -11,7 +11,7 @@ namespace Api\InterfaceApi\v1; -use Builder\MineResponse; +use Builder\BaseResponse; use App\System\Mapper\SystemDeptMapper; use App\System\Mapper\SystemUserMapper; use Psr\Container\ContainerExceptionInterface; @@ -33,7 +33,7 @@ class DemoApi */ protected SystemDeptMapper $dept; - protected MineResponse $response; + protected BaseResponse $response; /** * DemoApi constructor. @@ -44,7 +44,7 @@ class DemoApi */ public function __construct(SystemUserMapper $user, SystemDeptMapper $dept) { - $this->response = container()->get(MineResponse::class); + $this->response = container()->get(BaseResponse::class); $this->user = $user; $this->dept = $dept; } diff --git a/api/Listener/ApiLogListener.php b/api/Listener/ApiLogListener.php index 330e777..c4b744b 100644 --- a/api/Listener/ApiLogListener.php +++ b/api/Listener/ApiLogListener.php @@ -16,7 +16,7 @@ use Hyperf\Event\Annotation\Listener; use Hyperf\Event\Contract\ListenerInterface; use Builder\Event\ApiAfter; use Builder\Helper\Str; -use Builder\MineRequest; +use Builder\BaseRequest; /** * API访问日志保存 @@ -46,7 +46,7 @@ class ApiLogListener implements ListenerInterface { /* @var $event ApiAfter */ $data = $event->getApiData(); - $request = container()->get(MineRequest::class); + $request = container()->get(BaseRequest::class); $service = container()->get(SystemApiLogService::class); if (empty($data)) { diff --git a/api/Middleware/VerifyInterfaceMiddleware.php b/api/Middleware/VerifyInterfaceMiddleware.php index d6fab70..7f688ad 100644 --- a/api/Middleware/VerifyInterfaceMiddleware.php +++ b/api/Middleware/VerifyInterfaceMiddleware.php @@ -20,8 +20,8 @@ use App\System\Service\SystemApiService; use Hyperf\Di\Annotation\Inject; use Hyperf\Context\Context; use Builder\Exception\NormalStatusException; -use Builder\Helper\MineCode; -use Builder\MineRequest; +use Builder\Helper\BaseCode; +use Builder\BaseRequest; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Psr\EventDispatcher\EventDispatcherInterface; @@ -90,23 +90,23 @@ class VerifyInterfaceMiddleware implements MiddlewareInterface switch ($this->_getApiData()['auth_mode']) { case SystemApi::AUTH_MODE_EASY: if (empty($queryParams['app_id'])) { - return MineCode::API_APP_ID_MISSING; + return BaseCode::API_APP_ID_MISSING; } if (empty($queryParams['identity'])) { - return MineCode::API_IDENTITY_MISSING; + return BaseCode::API_IDENTITY_MISSING; } return $service->verifyEasyMode($queryParams['app_id'], $queryParams['identity']); case SystemApi::AUTH_MODE_NORMAL: if (empty($queryParams['access_token'])) { - return MineCode::API_ACCESS_TOKEN_MISSING; + return BaseCode::API_ACCESS_TOKEN_MISSING; } return $service->verifyNormalMode($queryParams['access_token']); default: throw new \RuntimeException(); } } catch (\Throwable $e) { - throw new NormalStatusException(t('mineadmin.api_auth_exception'), MineCode::API_AUTH_EXCEPTION); + throw new NormalStatusException(t('uiview.api_auth_exception'), BaseCode::API_AUTH_EXCEPTION); } } @@ -119,25 +119,25 @@ class VerifyInterfaceMiddleware implements MiddlewareInterface { $service = container()->get(SystemApiService::class); $apiModel = $service->mapper->one(function($query) { - $request = container()->get(MineRequest::class); + $request = container()->get(BaseRequest::class); $query->where('access_name', $request->route('method')); }); // 检查接口是否存在 if (! $apiModel) { - throw new NormalStatusException(t('mineadmin.not_found'), MineCode::NOT_FOUND); + throw new NormalStatusException(t('uiview.not_found'), BaseCode::NOT_FOUND); } // 检查接口是否停用 if ($apiModel['status'] == SystemApi::DISABLE) { - throw new NormalStatusException(t('mineadmin.api_stop'), MineCode::RESOURCE_STOP); + throw new NormalStatusException(t('uiview.api_stop'), BaseCode::RESOURCE_STOP); } // 检查接口请求方法 if ($apiModel['request_mode'] !== SystemApi::METHOD_ALL && $request->getMethod()[0] !== $apiModel['request_mode']) { throw new NormalStatusException( - t('mineadmin.not_allow_method', ['method' => $request->getMethod()]), - MineCode::METHOD_NOT_ALLOW + t('uiview.not_allow_method', ['method' => $request->getMethod()]), + BaseCode::METHOD_NOT_ALLOW ); } @@ -164,8 +164,8 @@ class VerifyInterfaceMiddleware implements MiddlewareInterface $request = $this->apiModelCheck($request); - if (($code = $this->auth($request)) !== MineCode::API_VERIFY_PASS) { - throw new NormalStatusException(t('mineadmin.api_auth_fail'), $code); + if (($code = $this->auth($request)) !== BaseCode::API_VERIFY_PASS) { + throw new NormalStatusException(t('uiview.api_auth_fail'), $code); } $result = $handler->handle($request); diff --git a/app/Mall/Controller/Agent/IndexController.php b/app/Mall/Controller/Agent/IndexController.php new file mode 100644 index 0000000..3571841 --- /dev/null +++ b/app/Mall/Controller/Agent/IndexController.php @@ -0,0 +1,139 @@ +showHeader() + ->title('测试') + ->body( + Alert::make() + ->type('error') + ->title('这里是警告信息') + ->description('我是提示消息哈哈哈') + ); + return $content->toJson(); + } + #[RequestMapping(methods: "get,post")] + public function grid(){ + $page = request('page'); + $pre = 10; + $grid = new Grid(); + if ($grid->isGetData()) { +// $start = ($page - 1) * $pre; +// $data = file_get_contents('http://web.peakchao.top:250/music/getMusicBanner'); +// $data = json_decode($data, true); +// $lsat_page = 10; +// $grid->customData($data['result'], $page, $pre, $lsat_page, 100); + } + $grid->dataUrl('/ui/grid'); + $grid->autoHeight(); + $grid->column('name')->width(180); + $grid->column('img1', 'Image')->defaultValue('https://wx.qlogo.cn/mmopen/vi_32/ajNVdqHZLLBpqXMk6kUC4PeB5VrIVtHyUqrcPg65sjKdPxlkBINiaQ1NG6nZC9iaWOh9qdO6VaApJzgWA1wu5h8Q/132')->component(Avatar::make())->width(80); + $grid->column('singer')->width(80); + + $grid->batchActions(function (Grid\BatchActions $actions) { + $actions->hideDeleteAction(); + }); + $grid->ref("top250"); + $grid->toolbars(function (Grid\Toolbars $toolbars) { + $toolbars->createButton()->disabled(); + $js = <<addLeft(Button::make("动态获取已选择的项目")->refData("top250", $js)); + $js = <<addLeft(Button::make("调用表格事件,清除全选")->refData("top250", $js)->className('ml-10')); + $js = <<addLeft(Button::make("手动发送emit")->refData("top250", $js)->className('ml-10')); + + $toolbars->addLeft(Button::make("表格交互")->ref('gButton')->className('ml-10')->dialog(function (Dialog $dialog) { + $dialog->width('40%'); + $dialog->ref("gDialog")->showClose(false); +// $dialog->slot(function (Content $content) { +// $this->dialogGrid($content); +// }); + $dialog->title("表格交互"); + })); + $js = <<{ + if (rowIndex === 1) { + return 'warning-row'; + } else if (rowIndex === 3) { + return 'success-row'; + } + return ''; +} +JS; + $toolbars->addLeft(Button::make("设置表格row-class-name")->refData("top250", $js)->className('ml-10')); + }); + +// $grid->top(function (Content $content) { +// $content->row($this->code())->className('mb-10'); +// }); + + $grid->selection(); + $grid->actions(function (Grid\Actions $actions) { + $actions->hideEditAction(); + $actions->hideDeleteAction(); + $title = $actions->getRow()['name'] ?? ''; + $actions->add(Grid\Actions\ActionButton::make("操作:$title")); + }); + + return $grid->toJson(); + } +} \ No newline at end of file diff --git a/app/Mall/Controller/Goods/GoodsCategory.php b/app/Mall/Controller/Goods/GoodsCategory.php new file mode 100644 index 0000000..c1eb085 --- /dev/null +++ b/app/Mall/Controller/Goods/GoodsCategory.php @@ -0,0 +1,99 @@ +isGetData()) { +// $start = ($page - 1) * $pre; +// $data = file_get_contents('http://web.peakchao.top:250/music/getMusicBanner'); +// $data = json_decode($data, true); +// $lsat_page = 10; +// $grid->customData($data['result'], $page, $pre, $lsat_page, 100); + $grid->customData([ + [ + 'pk'=>'1', + 'name'=>'11111', + 'singer'=>'333', + 'img1'=>'https://wx.qlogo.cn/mmopen/vi_32/ajNVdqHZLLBpqXMk6kUC4PeB5VrIVtHyUqrcPg65sjKdPxlkBINiaQ1NG6nZC9iaWOh9qdO6VaApJzgWA1wu5h8Q/132' + ], + [ + 'pk'=>'2', + 'name'=>'xxx', + 'singer'=>'999', + 'img1'=>'https://wx.qlogo.cn/mmopen/vi_32/ajNVdqHZLLBpqXMk6kUC4PeB5VrIVtHyUqrcPg65sjKdPxlkBINiaQ1NG6nZC9iaWOh9qdO6VaApJzgWA1wu5h8Q/132' + ] + ], $page, $pre, 1, 100); + return $grid; + } + $grid->pk('pk'); //显示操作列 + $grid->operationColumn(); //显示操作列 + $grid->tablePagination();//开启分页 + $grid->showCheckedAll();//开启多选 + $grid->dataCompleteRefresh(); //设置编辑删除更新数据 + $grid->addTopButton('add'); + $grid->addTopButton('delete'); + $grid->addTopButton('edit'); +// { formType: 'grid', cols: [ { span: 24, formList: [ { dataIndex: 'avatar' }] }] }, + $a = [ + 'width' => 500, + 'layout' => [ + [ + 'formType' => 'grid', + 'cols' => [ + [ + 'span' => 24, + 'formList' => [ + [ + 'dataIndex' => 'img1' + ] + ] + ] + ], + ] + ], + ]; + $grid->formOption($a); + $grid->column('img1', '图片') + ->defaultValue('https://wx.qlogo.cn/mmopen/vi_32/ajNVdqHZLLBpqXMk6kUC4PeB5VrIVtHyUqrcPg65sjKdPxlkBINiaQ1NG6nZC9iaWOh9qdO6VaApJzgWA1wu5h8Q/132') + ->component(Avatar::make()) + ->width(100); + $grid->column('name','中国')->width(180)->formType('textarea'); + $grid->column('singer','头像')->width(80); + return $grid; + } +} \ No newline at end of file diff --git a/app/Mall/Controller/Goods/GoodsController.php b/app/Mall/Controller/Goods/GoodsController.php new file mode 100644 index 0000000..50435a4 --- /dev/null +++ b/app/Mall/Controller/Goods/GoodsController.php @@ -0,0 +1,78 @@ +isGetData()) { +// $start = ($page - 1) * $pre; +// $data = file_get_contents('http://web.peakchao.top:250/music/getMusicBanner'); +// $data = json_decode($data, true); +// $lsat_page = 10; + var_dump(666); + $grid->customData([ + [ + 'name'=>'11111', + 'singer'=>'333', + 'img1'=>'https://wx.qlogo.cn/mmopen/vi_32/ajNVdqHZLLBpqXMk6kUC4PeB5VrIVtHyUqrcPg65sjKdPxlkBINiaQ1NG6nZC9iaWOh9qdO6VaApJzgWA1wu5h8Q/132' + ], + [ + 'name'=>'xxx', + 'singer'=>'999', + 'img1'=>'https://wx.qlogo.cn/mmopen/vi_32/ajNVdqHZLLBpqXMk6kUC4PeB5VrIVtHyUqrcPg65sjKdPxlkBINiaQ1NG6nZC9iaWOh9qdO6VaApJzgWA1wu5h8Q/132' + ] + ], $page, $pre, 1, 100); + return $grid; + } + $grid->dataUrl('/ui/grid'); + $grid->column('img1', 'Image') + ->defaultValue('https://wx.qlogo.cn/mmopen/vi_32/ajNVdqHZLLBpqXMk6kUC4PeB5VrIVtHyUqrcPg65sjKdPxlkBINiaQ1NG6nZC9iaWOh9qdO6VaApJzgWA1wu5h8Q/132') + ->component(Avatar::make())->width(80); + $grid->column('name')->width(180); + $grid->column('singer')->width(80); + return $grid->toJson(); + } +} \ No newline at end of file diff --git a/app/Mall/Controller/IndexController.php b/app/Mall/Controller/IndexController.php index 90b72ad..8610fe9 100644 --- a/app/Mall/Controller/IndexController.php +++ b/app/Mall/Controller/IndexController.php @@ -13,7 +13,7 @@ namespace App\Mall\Controller; use Hyperf\HttpServer\Annotation\Controller; use Hyperf\HttpServer\Annotation\GetMapping; -use Builder\MineController; +use Builder\BaseController; use Builder\Entity\UISettingEntity; use Builder\Entity\UserEntity; @@ -22,12 +22,14 @@ use Builder\View\Layout\Content; use Builder\View\Components\Widgets\Alert; use Builder\Entity\MenuEntity; use Builder\Entity\MenuItemEntity; +use Hyperf\HttpServer\Annotation\AutoController; /** * Class IndexController + * @AutoController() * @package App\Mall\Controller */ #[Controller(prefix: "mall")] -class IndexController extends MineController +class IndexController extends BaseController { #[GetMapping("index")] public function Index(){ @@ -38,12 +40,12 @@ class IndexController extends MineController return View::make($setting); } - #[GetMapping("test")] +// #[GetMapping("test")] public function test() { $content = new Content(); $content->showHeader() - ->title('测试') + ->title('888') ->body( Alert::make() ->type('error') @@ -52,4 +54,10 @@ class IndexController extends MineController ); return $content; } + + #[GetMapping("grid")] + public function grid(){ + var_dump(555); + return 111; + } } \ No newline at end of file diff --git a/app/Mall/config.json b/app/Mall/info.json similarity index 100% rename from app/Mall/config.json rename to app/Mall/info.json diff --git a/app/System/Controller/Api/SystemApiColumnController.php b/app/System/Controller/Api/SystemApiColumnController.php index 88522fd..774d02a 100644 --- a/app/System/Controller/Api/SystemApiColumnController.php +++ b/app/System/Controller/Api/SystemApiColumnController.php @@ -14,8 +14,8 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineCollection; -use Builder\MineController; +use Builder\BaseCollection; +use Builder\BaseController; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Psr\Http\Message\ResponseInterface; @@ -25,7 +25,7 @@ use Psr\Http\Message\ResponseInterface; * Class SystemApiColumnController */ #[Controller(prefix: "system/apiColumn"), Auth] -class SystemApiColumnController extends MineController +class SystemApiColumnController extends BaseController { #[Inject] protected SystemApiColumnService $service; @@ -164,7 +164,7 @@ class SystemApiColumnController extends MineController #[PostMapping("downloadTemplate")] public function downloadTemplate(): ResponseInterface { - return (new MineCollection)->export(\App\System\Dto\ApiColumnDto::class, '模板下载', []); + return (new BaseCollection)->export(\App\System\Dto\ApiColumnDto::class, '模板下载', []); } /** diff --git a/app/System/Controller/Api/SystemApiController.php b/app/System/Controller/Api/SystemApiController.php index cbf7eef..bba286c 100644 --- a/app/System/Controller/Api/SystemApiController.php +++ b/app/System/Controller/Api/SystemApiController.php @@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Psr\Http\Message\ResponseInterface; @@ -24,7 +24,7 @@ use Psr\Http\Message\ResponseInterface; * Class SystemApiController */ #[Controller(prefix: "system/api"), Auth] -class SystemApiController extends MineController +class SystemApiController extends BaseController { #[Inject] protected SystemApiService $service; diff --git a/app/System/Controller/Api/SystemApiGroupController.php b/app/System/Controller/Api/SystemApiGroupController.php index ce0097b..2349884 100644 --- a/app/System/Controller/Api/SystemApiGroupController.php +++ b/app/System/Controller/Api/SystemApiGroupController.php @@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Psr\Http\Message\ResponseInterface; @@ -24,7 +24,7 @@ use Psr\Http\Message\ResponseInterface; * Class SystemApiGroupController */ #[Controller(prefix: "system/apiGroup"), Auth] -class SystemApiGroupController extends MineController +class SystemApiGroupController extends BaseController { #[Inject] protected SystemApiGroupService $service; diff --git a/app/System/Controller/App/SystemAppController.php b/app/System/Controller/App/SystemAppController.php index e76eb93..aca2744 100644 --- a/app/System/Controller/App/SystemAppController.php +++ b/app/System/Controller/App/SystemAppController.php @@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Psr\Http\Message\ResponseInterface; @@ -24,7 +24,7 @@ use Psr\Http\Message\ResponseInterface; * Class SystemAppController */ #[Controller(prefix: "system/app"), Auth] -class SystemAppController extends MineController +class SystemAppController extends BaseController { #[Inject] protected SystemAppService $service; diff --git a/app/System/Controller/App/SystemAppGroupController.php b/app/System/Controller/App/SystemAppGroupController.php index 836a5d0..54e30c7 100644 --- a/app/System/Controller/App/SystemAppGroupController.php +++ b/app/System/Controller/App/SystemAppGroupController.php @@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Psr\Http\Message\ResponseInterface; @@ -24,7 +24,7 @@ use Psr\Http\Message\ResponseInterface; * Class SystemAppGroupController */ #[Controller(prefix: "system/appGroup"), Auth] -class SystemAppGroupController extends MineController +class SystemAppGroupController extends BaseController { #[Inject] protected SystemAppGroupService $service; diff --git a/app/System/Controller/CommonController.php b/app/System/Controller/CommonController.php index cce1382..2cf6f02 100644 --- a/app/System/Controller/CommonController.php +++ b/app/System/Controller/CommonController.php @@ -15,7 +15,7 @@ use Hyperf\HttpServer\Annotation\Controller; use Hyperf\HttpServer\Annotation\GetMapping; use Hyperf\HttpServer\Annotation\PostMapping; use Builder\Annotation\Auth; -use Builder\MineController; +use Builder\BaseController; use Psr\Http\Message\ResponseInterface; /** @@ -24,7 +24,7 @@ use Psr\Http\Message\ResponseInterface; * @package App\System\Controller */ #[Controller(prefix: "system/common"), Auth] -class CommonController extends MineController +class CommonController extends BaseController { #[Inject] protected SystemUserService $userService; diff --git a/app/System/Controller/DataCenter/AttachmentController.php b/app/System/Controller/DataCenter/AttachmentController.php index 7295370..34077df 100644 --- a/app/System/Controller/DataCenter/AttachmentController.php +++ b/app/System/Controller/DataCenter/AttachmentController.php @@ -14,7 +14,7 @@ use Psr\Http\Message\ResponseInterface; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; /** * 文件管理控制器 @@ -22,7 +22,7 @@ use Builder\MineController; * @package App\System\Controller\DataCenter */ #[Controller(prefix: "system/attachment"), Auth] -class AttachmentController extends MineController +class AttachmentController extends BaseController { #[Inject] protected SystemUploadFileService $service; diff --git a/app/System/Controller/DataCenter/DataMaintainController.php b/app/System/Controller/DataCenter/DataMaintainController.php index 9402a62..f12b5fb 100644 --- a/app/System/Controller/DataCenter/DataMaintainController.php +++ b/app/System/Controller/DataCenter/DataMaintainController.php @@ -12,7 +12,7 @@ use Hyperf\HttpServer\Annotation\PostMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Http\Message\ResponseInterface; /** @@ -20,7 +20,7 @@ use Psr\Http\Message\ResponseInterface; * @package App\System\Controller\DataCenter */ #[Controller(prefix: "system/dataMaintain"), Auth] -class DataMaintainController extends MineController +class DataMaintainController extends BaseController { #[Inject] protected DataMaintainService $service; diff --git a/app/System/Controller/DataCenter/DictDataController.php b/app/System/Controller/DataCenter/DictDataController.php index 80109df..0aa2f7d 100644 --- a/app/System/Controller/DataCenter/DictDataController.php +++ b/app/System/Controller/DataCenter/DictDataController.php @@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Http\Message\ResponseInterface; /** @@ -23,7 +23,7 @@ use Psr\Http\Message\ResponseInterface; * @package App\System\Controller\DataCenter */ #[Controller(prefix: "system/dataDict"), Auth] -class DictDataController extends MineController +class DictDataController extends BaseController { #[Inject] protected SystemDictDataService $service; diff --git a/app/System/Controller/DataCenter/DictTypeController.php b/app/System/Controller/DataCenter/DictTypeController.php index 1127031..a4f8ef1 100644 --- a/app/System/Controller/DataCenter/DictTypeController.php +++ b/app/System/Controller/DataCenter/DictTypeController.php @@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Psr\Http\Message\ResponseInterface; @@ -27,7 +27,7 @@ use Psr\Http\Message\ResponseInterface; * @Auth */ #[Controller(prefix: "system/dictType"), Auth] -class DictTypeController extends MineController +class DictTypeController extends BaseController { #[Inject] protected SystemDictTypeService $service; diff --git a/app/System/Controller/DataCenter/NoticeController.php b/app/System/Controller/DataCenter/NoticeController.php index 88a7234..a52272a 100644 --- a/app/System/Controller/DataCenter/NoticeController.php +++ b/app/System/Controller/DataCenter/NoticeController.php @@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Http\Message\ResponseInterface; /** @@ -22,7 +22,7 @@ use Psr\Http\Message\ResponseInterface; * Class NoticeController */ #[Controller(prefix: "system/notice"), Auth] -class NoticeController extends MineController +class NoticeController extends BaseController { #[Inject] protected SystemNoticeService $service; diff --git a/app/System/Controller/DataCenter/QueueMessageController.php b/app/System/Controller/DataCenter/QueueMessageController.php index c50a6bf..25c0bd4 100644 --- a/app/System/Controller/DataCenter/QueueMessageController.php +++ b/app/System/Controller/DataCenter/QueueMessageController.php @@ -12,7 +12,7 @@ use Hyperf\HttpServer\Annotation\GetMapping; use Hyperf\HttpServer\Annotation\PostMapping; use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; -use Builder\MineController; +use Builder\BaseController; use Psr\Http\Message\ResponseInterface; /** @@ -20,7 +20,7 @@ use Psr\Http\Message\ResponseInterface; * Class MessageController */ #[Controller(prefix: "system/queueMessage"), Auth] -class QueueMessageController extends MineController +class QueueMessageController extends BaseController { #[Inject] protected SystemQueueMessageService $service; diff --git a/app/System/Controller/IndexController.php b/app/System/Controller/IndexController.php index e197341..335f301 100644 --- a/app/System/Controller/IndexController.php +++ b/app/System/Controller/IndexController.php @@ -17,7 +17,7 @@ use Hyperf\HttpServer\Annotation\PostMapping; use Hyperf\Di\Annotation\Inject; use Builder\Entity\UISettingEntity; use Builder\Entity\UserEntity; -use Builder\MineController; +use Builder\BaseController; use Builder\View; use Builder\View\Layout\Content; /** @@ -25,7 +25,7 @@ use Builder\View\Layout\Content; * @package App\System\Controller */ #[Controller(prefix: "system")] -class IndexController extends MineController +class IndexController extends BaseController { #[GetMapping("index")] public function Index(){ diff --git a/app/System/Controller/LoginController.php b/app/System/Controller/LoginController.php index 2a4dc96..4b15e05 100644 --- a/app/System/Controller/LoginController.php +++ b/app/System/Controller/LoginController.php @@ -14,7 +14,7 @@ use Psr\Http\Message\ResponseInterface; use Builder\Annotation\Auth; use Builder\Helper\LoginUser; use Builder\Interfaces\UserServiceInterface; -use Builder\MineController; +use Builder\BaseController; use Builder\Vo\UserServiceVo; /** @@ -22,7 +22,7 @@ use Builder\Vo\UserServiceVo; * @package App\System\Controller */ #[Controller(prefix: "system")] -class LoginController extends MineController +class LoginController extends BaseController { #[Inject] protected SystemUserService $systemUserService; diff --git a/app/System/Controller/Logs/LogsController.php b/app/System/Controller/Logs/LogsController.php index ff0ac76..0c8e753 100644 --- a/app/System/Controller/Logs/LogsController.php +++ b/app/System/Controller/Logs/LogsController.php @@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\GetMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; /** * 日志控制器 @@ -22,7 +22,7 @@ use Builder\MineController; * @package App\System\Controller\Logs */ #[Controller(prefix: "system/logs"), Auth] -class LogsController extends MineController +class LogsController extends BaseController { /** * 登录日志服务 diff --git a/app/System/Controller/Modules/ModuleController.php b/app/System/Controller/Modules/ModuleController.php index 9ec96b2..b62a259 100644 --- a/app/System/Controller/Modules/ModuleController.php +++ b/app/System/Controller/Modules/ModuleController.php @@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Http\Message\ResponseInterface; /** @@ -23,7 +23,7 @@ use Psr\Http\Message\ResponseInterface; * @package App\System\Controller\Modules */ #[Controller(prefix: "system/setting/module"), Auth] -class ModuleController extends MineController +class ModuleController extends BaseController { #[Inject] protected ModuleService $service; diff --git a/app/System/Controller/Monitor/CacheMonitorController.php b/app/System/Controller/Monitor/CacheMonitorController.php index c8679a7..840b80e 100644 --- a/app/System/Controller/Monitor/CacheMonitorController.php +++ b/app/System/Controller/Monitor/CacheMonitorController.php @@ -12,7 +12,7 @@ use Hyperf\HttpServer\Annotation\PostMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Http\Message\ResponseInterface; /** @@ -21,7 +21,7 @@ use Psr\Http\Message\ResponseInterface; * @package App\System\Controller\Monitor */ #[Controller(prefix: "system/cache"), Auth] -class CacheMonitorController extends MineController +class CacheMonitorController extends BaseController { #[Inject] protected CacheMonitorService $service; diff --git a/app/System/Controller/Monitor/OnlineUserMonitorController.php b/app/System/Controller/Monitor/OnlineUserMonitorController.php index 2bacb69..4368918 100644 --- a/app/System/Controller/Monitor/OnlineUserMonitorController.php +++ b/app/System/Controller/Monitor/OnlineUserMonitorController.php @@ -10,7 +10,7 @@ use Hyperf\HttpServer\Annotation\GetMapping; use Hyperf\HttpServer\Annotation\PostMapping; use Builder\Annotation\Auth; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; /** * 在线用户监控 @@ -18,7 +18,7 @@ use Builder\MineController; * @package App\System\Controller\Monitor */ #[Controller(prefix: "system/onlineUser"), Auth] -class OnlineUserMonitorController extends MineController +class OnlineUserMonitorController extends BaseController { #[Inject] protected SystemUserService $service; diff --git a/app/System/Controller/Monitor/ServerMonitorController.php b/app/System/Controller/Monitor/ServerMonitorController.php index f8cc1b8..6d7f34e 100644 --- a/app/System/Controller/Monitor/ServerMonitorController.php +++ b/app/System/Controller/Monitor/ServerMonitorController.php @@ -10,14 +10,14 @@ use Hyperf\HttpServer\Annotation\Controller; use Hyperf\HttpServer\Annotation\GetMapping; use Builder\Annotation\Auth; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; /** * Class ServerMonitorController * @package App\System\Controller\Monitor */ #[Controller(prefix: "system/server"), Auth] -class ServerMonitorController extends MineController +class ServerMonitorController extends BaseController { #[Inject] protected ServerMonitorService $service; diff --git a/app/System/Controller/Permission/DeptController.php b/app/System/Controller/Permission/DeptController.php index 0203b12..bb23fe9 100644 --- a/app/System/Controller/Permission/DeptController.php +++ b/app/System/Controller/Permission/DeptController.php @@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Psr\Http\Message\ResponseInterface; @@ -24,7 +24,7 @@ use Psr\Http\Message\ResponseInterface; * @package App\System\Controller */ #[Controller(prefix: "system/dept"), Auth] -class DeptController extends MineController +class DeptController extends BaseController { #[Inject] protected SystemDeptService $service; diff --git a/app/System/Controller/Permission/MenuController.php b/app/System/Controller/Permission/MenuController.php index c0e64c1..c030441 100644 --- a/app/System/Controller/Permission/MenuController.php +++ b/app/System/Controller/Permission/MenuController.php @@ -13,7 +13,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Psr\Http\Message\ResponseInterface; @@ -23,7 +23,7 @@ use Psr\Http\Message\ResponseInterface; * @package App\System\Controller */ #[Controller(prefix: "system/menu"), Auth] -class MenuController extends MineController +class MenuController extends BaseController { #[Inject] protected SystemMenuService $service; @@ -89,7 +89,7 @@ class MenuController extends MineController public function update(int $id, SystemMenuRequest $request): ResponseInterface { return $this->service->update($id, $request->all()) - ? $this->success() : $this->error(t('mineadmin.data_no_change')); + ? $this->success() : $this->error(t('uiview.data_no_change')); } /** diff --git a/app/System/Controller/Permission/PostController.php b/app/System/Controller/Permission/PostController.php index 7cb0f64..85788f5 100644 --- a/app/System/Controller/Permission/PostController.php +++ b/app/System/Controller/Permission/PostController.php @@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Http\Message\ResponseInterface; /** @@ -22,7 +22,7 @@ use Psr\Http\Message\ResponseInterface; * @package App\System\Controller */ #[Controller(prefix: "system/post"), Auth] -class PostController extends MineController +class PostController extends BaseController { #[Inject] protected SystemPostService $service; diff --git a/app/System/Controller/Permission/RoleController.php b/app/System/Controller/Permission/RoleController.php index 5e0df29..4486475 100644 --- a/app/System/Controller/Permission/RoleController.php +++ b/app/System/Controller/Permission/RoleController.php @@ -14,7 +14,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Http\Message\ResponseInterface; /** @@ -22,7 +22,7 @@ use Psr\Http\Message\ResponseInterface; * @package App\System\Controller */ #[Controller(prefix: "system/role"), Auth] -class RoleController extends MineController +class RoleController extends BaseController { #[Inject] protected SystemRoleService $service; diff --git a/app/System/Controller/Permission/UserController.php b/app/System/Controller/Permission/UserController.php index bc58a2a..7f80184 100644 --- a/app/System/Controller/Permission/UserController.php +++ b/app/System/Controller/Permission/UserController.php @@ -14,8 +14,8 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineCollection; -use Builder\MineController; +use Builder\BaseCollection; +use Builder\BaseController; use Psr\Http\Message\ResponseInterface; /** @@ -23,7 +23,7 @@ use Psr\Http\Message\ResponseInterface; * @package App\System\Controller */ #[Controller(prefix: "system/user"), Auth] -class UserController extends MineController +class UserController extends BaseController { #[Inject] protected SystemUserService $service; @@ -241,6 +241,6 @@ class UserController extends MineController #[PostMapping("downloadTemplate")] public function downloadTemplate(): ResponseInterface { - return (new MineCollection)->export(\App\System\Dto\UserDto::class, '模板下载', []); + return (new BaseCollection)->export(\App\System\Dto\UserDto::class, '模板下载', []); } } \ No newline at end of file diff --git a/app/System/Controller/Settings/SystemConfigController.php b/app/System/Controller/Settings/SystemConfigController.php index f0c80fa..b1533a1 100644 --- a/app/System/Controller/Settings/SystemConfigController.php +++ b/app/System/Controller/Settings/SystemConfigController.php @@ -14,7 +14,7 @@ use App\System\Service\SettingConfigService; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; /** * 系统配置控制器 @@ -22,7 +22,7 @@ use Builder\MineController; * @package App\System\Controller\Settings */ #[Controller(prefix: "system/setting/config"), Auth] -class SystemConfigController extends MineController +class SystemConfigController extends BaseController { #[Inject] protected SettingConfigService $service; diff --git a/app/System/Controller/Settings/SystemConfigGroupController.php b/app/System/Controller/Settings/SystemConfigGroupController.php index 4742c9c..2e29864 100644 --- a/app/System/Controller/Settings/SystemConfigGroupController.php +++ b/app/System/Controller/Settings/SystemConfigGroupController.php @@ -14,7 +14,7 @@ use App\System\Service\SettingConfigGroupService; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; /** * 系统配置组控制器 @@ -22,7 +22,7 @@ use Builder\MineController; * @package App\System\Controller\Settings */ #[Controller(prefix: "system/setting/configGroup"), Auth] -class SystemConfigGroupController extends MineController +class SystemConfigGroupController extends BaseController { #[Inject] protected SettingConfigGroupService $service; diff --git a/app/System/Controller/Tools/CrontabController.php b/app/System/Controller/Tools/CrontabController.php index 3f6ba5a..546f59e 100644 --- a/app/System/Controller/Tools/CrontabController.php +++ b/app/System/Controller/Tools/CrontabController.php @@ -15,7 +15,7 @@ use Hyperf\HttpServer\Annotation\PutMapping; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; use Psr\Http\Message\ResponseInterface; /** @@ -24,7 +24,7 @@ use Psr\Http\Message\ResponseInterface; * @package App\System\Controller\Tools */ #[Controller(prefix: "system/setting/crontab"), Auth] -class CrontabController extends MineController +class CrontabController extends BaseController { /** * 计划任务服务 diff --git a/app/System/Controller/Tools/GenerateCodeController.php b/app/System/Controller/Tools/GenerateCodeController.php index 6d68be4..a3e4d7e 100644 --- a/app/System/Controller/Tools/GenerateCodeController.php +++ b/app/System/Controller/Tools/GenerateCodeController.php @@ -17,7 +17,7 @@ use App\System\Service\SettingGenerateTablesService; use Builder\Annotation\Auth; use Builder\Annotation\OperationLog; use Builder\Annotation\Permission; -use Builder\MineController; +use Builder\BaseController; /** @@ -26,7 +26,7 @@ use Builder\MineController; * @package App\System\Controller\Tools */ #[Controller(prefix: "system/setting/code"), Auth] -class GenerateCodeController extends MineController +class GenerateCodeController extends BaseController { /** * 信息表服务 diff --git a/app/System/Controller/UploadController.php b/app/System/Controller/UploadController.php index dbb4e39..b83be6e 100644 --- a/app/System/Controller/UploadController.php +++ b/app/System/Controller/UploadController.php @@ -10,14 +10,14 @@ use Hyperf\HttpServer\Annotation\Controller; use Hyperf\HttpServer\Annotation\GetMapping; use Hyperf\HttpServer\Annotation\PostMapping; use Builder\Annotation\Auth; -use Builder\MineController; +use Builder\BaseController; /** * Class UploadController * @package App\System\Controller */ #[Controller(prefix: "system")] -class UploadController extends MineController +class UploadController extends BaseController { #[Inject] protected SystemUploadFileService $service; diff --git a/app/System/Dto/ApiColumnDto.php b/app/System/Dto/ApiColumnDto.php index d01818e..3e1fca8 100644 --- a/app/System/Dto/ApiColumnDto.php +++ b/app/System/Dto/ApiColumnDto.php @@ -1,7 +1,7 @@ get(MineRequest::class); + $request = container()->get(BaseRequest::class); $service = container()->get(SystemLoginLogService::class); $redis = redis(); diff --git a/app/System/Mapper/SystemDeptMapper.php b/app/System/Mapper/SystemDeptMapper.php index b827c04..5ab9592 100644 --- a/app/System/Mapper/SystemDeptMapper.php +++ b/app/System/Mapper/SystemDeptMapper.php @@ -10,7 +10,7 @@ use Hyperf\DbConnection\Db; use Builder\Abstracts\AbstractMapper; use Builder\Annotation\Transaction; use Builder\Exception\MineException; -use Builder\MineCollection; +use Builder\BaseCollection; class SystemDeptMapper extends AbstractMapper { @@ -36,7 +36,7 @@ class SystemDeptMapper extends AbstractMapper ->orderBy('sort', 'desc') ->userDataScope() ->get()->toArray(); - return (new MineCollection())->toTree($treeData, $treeData[0]['parent_id'] ?? 0); + return (new BaseCollection())->toTree($treeData, $treeData[0]['parent_id'] ?? 0); } /** diff --git a/app/System/Mapper/SystemQueueMessageMapper.php b/app/System/Mapper/SystemQueueMessageMapper.php index 8c6c76d..30252d1 100644 --- a/app/System/Mapper/SystemQueueMessageMapper.php +++ b/app/System/Mapper/SystemQueueMessageMapper.php @@ -8,7 +8,7 @@ use Hyperf\Database\Model\Builder; use Hyperf\DbConnection\Db; use Builder\Abstracts\AbstractMapper; use Builder\Annotation\Transaction; -use Builder\MineModel; +use Builder\BaseModel; /** * 信息管理Mapper类 diff --git a/app/System/Mapper/SystemUserMapper.php b/app/System/Mapper/SystemUserMapper.php index f913fd7..ae1fe61 100644 --- a/app/System/Mapper/SystemUserMapper.php +++ b/app/System/Mapper/SystemUserMapper.php @@ -9,7 +9,7 @@ use Hyperf\Database\Model\Builder; use Hyperf\Database\Model\ModelNotFoundException; use Builder\Abstracts\AbstractMapper; use Builder\Annotation\Transaction; -use Builder\MineModel; +use Builder\BaseModel; /** * Class SystemUserMapper @@ -126,9 +126,9 @@ class SystemUserMapper extends AbstractMapper /** * 获取用户信息 * @param int $id - * @return MineModel + * @return BaseModel */ - public function read(int $id): ?MineModel + public function read(int $id): ?BaseModel { $user = $this->model::find($id); if ($user) { diff --git a/app/System/Model/SettingConfig.php b/app/System/Model/SettingConfig.php index 5526cfc..11d1a2e 100644 --- a/app/System/Model/SettingConfig.php +++ b/app/System/Model/SettingConfig.php @@ -3,7 +3,7 @@ declare (strict_types=1); namespace App\System\Model; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $group_id 组ID * @property string $key 配置键名 @@ -14,7 +14,7 @@ use Builder\MineModel; * @property int $sort 排序 * @property string $remark 备注 */ -class SettingConfig extends MineModel +class SettingConfig extends BaseModel { public bool $incrementing = false; protected string $primaryKey = 'key'; diff --git a/app/System/Model/SettingConfigGroup.php b/app/System/Model/SettingConfigGroup.php index 4547ce7..59e7fcc 100644 --- a/app/System/Model/SettingConfigGroup.php +++ b/app/System/Model/SettingConfigGroup.php @@ -3,7 +3,7 @@ declare (strict_types=1); namespace App\System\Model; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property string $name 配置组名称 @@ -14,7 +14,7 @@ use Builder\MineModel; * @property \Carbon\Carbon $updated_at 更新时间 * @property string $remark 备注 */ -class SettingConfigGroup extends MineModel +class SettingConfigGroup extends BaseModel { /** * The table associated with the model. diff --git a/app/System/Model/SettingCrontab.php b/app/System/Model/SettingCrontab.php index 0edef28..239a573 100644 --- a/app/System/Model/SettingCrontab.php +++ b/app/System/Model/SettingCrontab.php @@ -3,7 +3,7 @@ declare (strict_types=1); namespace App\System\Model; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property string $name 任务名称 @@ -20,7 +20,7 @@ use Builder\MineModel; * @property string $remark 备注 * @property-read \Hyperf\Database\Model\Collection|SettingCrontabLog[] $logs */ -class SettingCrontab extends MineModel +class SettingCrontab extends BaseModel { // 命令任务 public const COMMAND_CRONTAB = 1; diff --git a/app/System/Model/SettingCrontabLog.php b/app/System/Model/SettingCrontabLog.php index 0468a9a..25f5e4c 100644 --- a/app/System/Model/SettingCrontabLog.php +++ b/app/System/Model/SettingCrontabLog.php @@ -3,7 +3,7 @@ declare (strict_types=1); namespace App\System\Model; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property int $crontab_id 任务ID @@ -14,7 +14,7 @@ use Builder\MineModel; * @property int $status 执行状态 (1成功 2失败) * @property string $created_at 创建时间 */ -class SettingCrontabLog extends MineModel +class SettingCrontabLog extends BaseModel { public bool $timestamps = false; /** diff --git a/app/System/Model/SettingGenerateColumns.php b/app/System/Model/SettingGenerateColumns.php index 1335891..90bef30 100644 --- a/app/System/Model/SettingGenerateColumns.php +++ b/app/System/Model/SettingGenerateColumns.php @@ -3,7 +3,7 @@ declare (strict_types=1); namespace App\System\Model; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property int $table_id 所属表ID @@ -29,7 +29,7 @@ use Builder\MineModel; * @property \Carbon\Carbon $updated_at 更新时间 * @property string $remark 备注 */ -class SettingGenerateColumns extends MineModel +class SettingGenerateColumns extends BaseModel { public const YES = 2; public const NO = 1; diff --git a/app/System/Model/SettingGenerateTables.php b/app/System/Model/SettingGenerateTables.php index 818bbc6..8680dc0 100644 --- a/app/System/Model/SettingGenerateTables.php +++ b/app/System/Model/SettingGenerateTables.php @@ -3,7 +3,7 @@ declare (strict_types=1); namespace App\System\Model; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property string $table_name 表名称 @@ -25,7 +25,7 @@ use Builder\MineModel; * @property \Carbon\Carbon $updated_at 更新时间 * @property string $remark 备注 */ -class SettingGenerateTables extends MineModel +class SettingGenerateTables extends BaseModel { /** * The table associated with the model. diff --git a/app/System/Model/SystemApi.php b/app/System/Model/SystemApi.php index 5d38166..b26312c 100644 --- a/app/System/Model/SystemApi.php +++ b/app/System/Model/SystemApi.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property int $group_id 接口组ID @@ -27,7 +27,7 @@ use Builder\MineModel; * @property-read SystemApiGroup $apiGroup * @property-read \Hyperf\Database\Model\Collection|SystemApp[] $apps */ -class SystemApi extends MineModel +class SystemApi extends BaseModel { use SoftDeletes; public const METHOD_ALL = 'A'; diff --git a/app/System/Model/SystemApiColumn.php b/app/System/Model/SystemApiColumn.php index d9b7bfb..e3a1d95 100644 --- a/app/System/Model/SystemApiColumn.php +++ b/app/System/Model/SystemApiColumn.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property int $api_id 接口主键 @@ -23,7 +23,7 @@ use Builder\MineModel; * @property string $remark 备注 * @property-read SystemApi $api */ -class SystemApiColumn extends MineModel +class SystemApiColumn extends BaseModel { use SoftDeletes; /** diff --git a/app/System/Model/SystemApiGroup.php b/app/System/Model/SystemApiGroup.php index 618fbfb..f6bd10c 100644 --- a/app/System/Model/SystemApiGroup.php +++ b/app/System/Model/SystemApiGroup.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property string $name 接口组名称 @@ -17,7 +17,7 @@ use Builder\MineModel; * @property string $remark 备注 * @property-read \Hyperf\Database\Model\Collection|SystemApi[] $apis */ -class SystemApiGroup extends MineModel +class SystemApiGroup extends BaseModel { use SoftDeletes; /** diff --git a/app/System/Model/SystemApiLog.php b/app/System/Model/SystemApiLog.php index de785df..cc9e8d8 100644 --- a/app/System/Model/SystemApiLog.php +++ b/app/System/Model/SystemApiLog.php @@ -3,7 +3,7 @@ declare (strict_types=1); namespace App\System\Model; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property int $api_id api ID @@ -17,7 +17,7 @@ use Builder\MineModel; * @property string $access_time 访问时间 * @property string $remark 备注 */ -class SystemApiLog extends MineModel +class SystemApiLog extends BaseModel { public bool $timestamps = false; /** diff --git a/app/System/Model/SystemApp.php b/app/System/Model/SystemApp.php index c20f7d0..e8b0ee1 100644 --- a/app/System/Model/SystemApp.php +++ b/app/System/Model/SystemApp.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property int $group_id 应用组ID @@ -22,7 +22,7 @@ use Builder\MineModel; * @property-read \Hyperf\Database\Model\Collection|SystemApi[] $apis * @property-read SystemAppGroup $appGroup */ -class SystemApp extends MineModel +class SystemApp extends BaseModel { use SoftDeletes; /** diff --git a/app/System/Model/SystemAppGroup.php b/app/System/Model/SystemAppGroup.php index 5333854..545a4b5 100644 --- a/app/System/Model/SystemAppGroup.php +++ b/app/System/Model/SystemAppGroup.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property string $name 应用组名称 @@ -16,7 +16,7 @@ use Builder\MineModel; * @property string $deleted_at 删除时间 * @property string $remark 备注 */ -class SystemAppGroup extends MineModel +class SystemAppGroup extends BaseModel { use SoftDeletes; /** diff --git a/app/System/Model/SystemDept.php b/app/System/Model/SystemDept.php index 1f22704..66bed03 100644 --- a/app/System/Model/SystemDept.php +++ b/app/System/Model/SystemDept.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property int $parent_id 父ID @@ -22,7 +22,7 @@ use Builder\MineModel; * @property string $remark 备注 * @property-read \Hyperf\Database\Model\Collection|SystemRole[] $roles */ -class SystemDept extends MineModel +class SystemDept extends BaseModel { use SoftDeletes; /** diff --git a/app/System/Model/SystemDictData.php b/app/System/Model/SystemDictData.php index 41de7a1..3c2b76f 100644 --- a/app/System/Model/SystemDictData.php +++ b/app/System/Model/SystemDictData.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property int $type_id 字典类型ID @@ -20,7 +20,7 @@ use Builder\MineModel; * @property string $deleted_at 删除时间 * @property string $remark 备注 */ -class SystemDictData extends MineModel +class SystemDictData extends BaseModel { use SoftDeletes; /** diff --git a/app/System/Model/SystemDictType.php b/app/System/Model/SystemDictType.php index d24accb..6f5731f 100644 --- a/app/System/Model/SystemDictType.php +++ b/app/System/Model/SystemDictType.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property string $name 字典名称 @@ -18,7 +18,7 @@ use Builder\MineModel; * @property string $remark 备注 * @property-read \Hyperf\Database\Model\Collection|SystemDictData[] $dictData */ -class SystemDictType extends MineModel +class SystemDictType extends BaseModel { use SoftDeletes; /** diff --git a/app/System/Model/SystemLoginLog.php b/app/System/Model/SystemLoginLog.php index 9755bf6..a825415 100644 --- a/app/System/Model/SystemLoginLog.php +++ b/app/System/Model/SystemLoginLog.php @@ -3,7 +3,7 @@ declare (strict_types=1); namespace App\System\Model; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property string $username 用户名 @@ -16,7 +16,7 @@ use Builder\MineModel; * @property string $login_time 登录时间 * @property string $remark 备注 */ -class SystemLoginLog extends MineModel +class SystemLoginLog extends BaseModel { public bool $timestamps = false; public const SUCCESS = 1; diff --git a/app/System/Model/SystemMenu.php b/app/System/Model/SystemMenu.php index 84b182d..43e49d5 100644 --- a/app/System/Model/SystemMenu.php +++ b/app/System/Model/SystemMenu.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property int $parent_id 父ID @@ -27,7 +27,7 @@ use Builder\MineModel; * @property string $remark 备注 * @property-read \Hyperf\Database\Model\Collection|SystemRole[] $roles */ -class SystemMenu extends MineModel +class SystemMenu extends BaseModel { use SoftDeletes; /** diff --git a/app/System/Model/SystemNotice.php b/app/System/Model/SystemNotice.php index 404a4b9..680af28 100644 --- a/app/System/Model/SystemNotice.php +++ b/app/System/Model/SystemNotice.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property int $message_id 消息ID @@ -19,7 +19,7 @@ use Builder\MineModel; * @property string $deleted_at 删除时间 * @property string $remark 备注 */ -class SystemNotice extends MineModel +class SystemNotice extends BaseModel { use SoftDeletes; /** diff --git a/app/System/Model/SystemOperLog.php b/app/System/Model/SystemOperLog.php index 71c5a71..24da9a8 100644 --- a/app/System/Model/SystemOperLog.php +++ b/app/System/Model/SystemOperLog.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property string $username 用户名 @@ -23,7 +23,7 @@ use Builder\MineModel; * @property string $deleted_at 删除时间 * @property string $remark 备注 */ -class SystemOperLog extends MineModel +class SystemOperLog extends BaseModel { use SoftDeletes; /** diff --git a/app/System/Model/SystemPost.php b/app/System/Model/SystemPost.php index c6e89f4..ab2b2da 100644 --- a/app/System/Model/SystemPost.php +++ b/app/System/Model/SystemPost.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property string $name 岗位名称 @@ -19,7 +19,7 @@ use Builder\MineModel; * @property string $remark 备注 * @property-read \Hyperf\Database\Model\Collection|SystemUser[] $users */ -class SystemPost extends MineModel +class SystemPost extends BaseModel { use SoftDeletes; /** diff --git a/app/System/Model/SystemQueueLog.php b/app/System/Model/SystemQueueLog.php index 4f36c18..3758ec4 100644 --- a/app/System/Model/SystemQueueLog.php +++ b/app/System/Model/SystemQueueLog.php @@ -3,7 +3,7 @@ declare (strict_types=1); namespace App\System\Model; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property string $exchange_name 交换机名称 @@ -18,7 +18,7 @@ use Builder\MineModel; * @property \Carbon\Carbon $created_at 创建时间 * @property \Carbon\Carbon $updated_at 更新时间 */ -class SystemQueueLog extends MineModel +class SystemQueueLog extends BaseModel { /** * @Message("未生产") diff --git a/app/System/Model/SystemQueueMessage.php b/app/System/Model/SystemQueueMessage.php index 8c0a546..1027ec0 100644 --- a/app/System/Model/SystemQueueMessage.php +++ b/app/System/Model/SystemQueueMessage.php @@ -3,7 +3,7 @@ declare (strict_types=1); namespace App\System\Model; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property int $content_id 内容ID @@ -19,7 +19,7 @@ use Builder\MineModel; * @property-read \Hyperf\Database\Model\Collection|SystemUser[] $receiveUser * @property-read SystemUser $sendUser */ -class SystemQueueMessage extends MineModel +class SystemQueueMessage extends BaseModel { /** * 消息类型:通知 diff --git a/app/System/Model/SystemRole.php b/app/System/Model/SystemRole.php index 9fa8ebc..8104af7 100644 --- a/app/System/Model/SystemRole.php +++ b/app/System/Model/SystemRole.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property string $name 角色名称 @@ -22,7 +22,7 @@ use Builder\MineModel; * @property-read \Hyperf\Database\Model\Collection|SystemMenu[] $menus * @property-read \Hyperf\Database\Model\Collection|SystemUser[] $users */ -class SystemRole extends MineModel +class SystemRole extends BaseModel { use SoftDeletes; // 所有 diff --git a/app/System/Model/SystemUploadfile.php b/app/System/Model/SystemUploadfile.php index e45ecf2..ed3d236 100644 --- a/app/System/Model/SystemUploadfile.php +++ b/app/System/Model/SystemUploadfile.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 主键 * @property string $storage_mode 存储模式 (1 本地 2 阿里云 3 七牛云 4 腾讯云) @@ -24,7 +24,7 @@ use Builder\MineModel; * @property string $deleted_at 删除时间 * @property string $remark 备注 */ -class SystemUploadfile extends MineModel +class SystemUploadfile extends BaseModel { use SoftDeletes; /** diff --git a/app/System/Model/SystemUser.php b/app/System/Model/SystemUser.php index ca3923d..1fdf824 100644 --- a/app/System/Model/SystemUser.php +++ b/app/System/Model/SystemUser.php @@ -4,7 +4,7 @@ declare (strict_types=1); namespace App\System\Model; use Hyperf\Database\Model\SoftDeletes; -use Builder\MineModel; +use Builder\BaseModel; /** * @property int $id 用户ID,主键 * @property string $username 用户名 @@ -30,7 +30,7 @@ use Builder\MineModel; * @property-read \Hyperf\Database\Model\Collection|SystemRole[] $roles * @property-write mixed $password 密码 */ -class SystemUser extends MineModel +class SystemUser extends BaseModel { use SoftDeletes; public const USER_NORMAL = 1; diff --git a/app/System/Request/GenerateRequest.php b/app/System/Request/GenerateRequest.php index be7babc..901b260 100644 --- a/app/System/Request/GenerateRequest.php +++ b/app/System/Request/GenerateRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class GenerateRequest extends MineFormRequest +class GenerateRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/MessageRequest.php b/app/System/Request/MessageRequest.php index 2c155d9..f7db80c 100644 --- a/app/System/Request/MessageRequest.php +++ b/app/System/Request/MessageRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class MessageRequest extends MineFormRequest +class MessageRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/ModuleRequest.php b/app/System/Request/ModuleRequest.php index ff3bb90..5e47c73 100644 --- a/app/System/Request/ModuleRequest.php +++ b/app/System/Request/ModuleRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class ModuleRequest extends MineFormRequest +class ModuleRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SettingConfigGroupRequest.php b/app/System/Request/SettingConfigGroupRequest.php index 9081b4a..2412b9a 100644 --- a/app/System/Request/SettingConfigGroupRequest.php +++ b/app/System/Request/SettingConfigGroupRequest.php @@ -3,9 +3,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SettingConfigGroupRequest extends MineFormRequest +class SettingConfigGroupRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SettingConfigRequest.php b/app/System/Request/SettingConfigRequest.php index 6522bde..0f60648 100644 --- a/app/System/Request/SettingConfigRequest.php +++ b/app/System/Request/SettingConfigRequest.php @@ -3,9 +3,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SettingConfigRequest extends MineFormRequest +class SettingConfigRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SettingCrontabRequest.php b/app/System/Request/SettingCrontabRequest.php index 28ccdf1..52cb603 100644 --- a/app/System/Request/SettingCrontabRequest.php +++ b/app/System/Request/SettingCrontabRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SettingCrontabRequest extends MineFormRequest +class SettingCrontabRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemApiColumnRequest.php b/app/System/Request/SystemApiColumnRequest.php index de2458c..7de5cf0 100644 --- a/app/System/Request/SystemApiColumnRequest.php +++ b/app/System/Request/SystemApiColumnRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemApiColumnRequest extends MineFormRequest +class SystemApiColumnRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemApiGroupRequest.php b/app/System/Request/SystemApiGroupRequest.php index dc482a2..336184c 100644 --- a/app/System/Request/SystemApiGroupRequest.php +++ b/app/System/Request/SystemApiGroupRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemApiGroupRequest extends MineFormRequest +class SystemApiGroupRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemApiRequest.php b/app/System/Request/SystemApiRequest.php index 7c7733e..c459033 100644 --- a/app/System/Request/SystemApiRequest.php +++ b/app/System/Request/SystemApiRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemApiRequest extends MineFormRequest +class SystemApiRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemAppGroupRequest.php b/app/System/Request/SystemAppGroupRequest.php index 1befe74..ebe7333 100644 --- a/app/System/Request/SystemAppGroupRequest.php +++ b/app/System/Request/SystemAppGroupRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemAppGroupRequest extends MineFormRequest +class SystemAppGroupRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemAppRequest.php b/app/System/Request/SystemAppRequest.php index da3eb6e..7ac0738 100644 --- a/app/System/Request/SystemAppRequest.php +++ b/app/System/Request/SystemAppRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemAppRequest extends MineFormRequest +class SystemAppRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemDeptRequest.php b/app/System/Request/SystemDeptRequest.php index 255066b..285b069 100644 --- a/app/System/Request/SystemDeptRequest.php +++ b/app/System/Request/SystemDeptRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemDeptRequest extends MineFormRequest +class SystemDeptRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemDictDataRequest.php b/app/System/Request/SystemDictDataRequest.php index b7667bf..2f44a35 100644 --- a/app/System/Request/SystemDictDataRequest.php +++ b/app/System/Request/SystemDictDataRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemDictDataRequest extends MineFormRequest +class SystemDictDataRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemDictTypeRequest.php b/app/System/Request/SystemDictTypeRequest.php index a225052..a5592d2 100644 --- a/app/System/Request/SystemDictTypeRequest.php +++ b/app/System/Request/SystemDictTypeRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemDictTypeRequest extends MineFormRequest +class SystemDictTypeRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemMenuRequest.php b/app/System/Request/SystemMenuRequest.php index f9f4768..61a3014 100644 --- a/app/System/Request/SystemMenuRequest.php +++ b/app/System/Request/SystemMenuRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemMenuRequest extends MineFormRequest +class SystemMenuRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemNoticeRequest.php b/app/System/Request/SystemNoticeRequest.php index 3c3f63f..6a73fa8 100644 --- a/app/System/Request/SystemNoticeRequest.php +++ b/app/System/Request/SystemNoticeRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemNoticeRequest extends MineFormRequest +class SystemNoticeRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemPostRequest.php b/app/System/Request/SystemPostRequest.php index 24f3973..51700d0 100644 --- a/app/System/Request/SystemPostRequest.php +++ b/app/System/Request/SystemPostRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemPostRequest extends MineFormRequest +class SystemPostRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemRoleRequest.php b/app/System/Request/SystemRoleRequest.php index 62552c6..d2f0505 100644 --- a/app/System/Request/SystemRoleRequest.php +++ b/app/System/Request/SystemRoleRequest.php @@ -2,9 +2,9 @@ declare(strict_types=1); namespace App\System\Request; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemRoleRequest extends MineFormRequest +class SystemRoleRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/SystemUserRequest.php b/app/System/Request/SystemUserRequest.php index 660b66d..cb521d3 100644 --- a/app/System/Request/SystemUserRequest.php +++ b/app/System/Request/SystemUserRequest.php @@ -3,9 +3,9 @@ declare(strict_types=1); namespace App\System\Request; use App\System\Service\SystemUserService; -use Builder\MineFormRequest; +use Builder\FormRequest; -class SystemUserRequest extends MineFormRequest +class SystemUserRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Request/UploadRequest.php b/app/System/Request/UploadRequest.php index 4cb9a10..82765d4 100644 --- a/app/System/Request/UploadRequest.php +++ b/app/System/Request/UploadRequest.php @@ -3,11 +3,11 @@ declare(strict_types=1); namespace App\System\Request; use App\Setting\Service\SettingConfigService; -use Builder\MineFormRequest; +use Builder\FormRequest; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; -class UploadRequest extends MineFormRequest +class UploadRequest extends FormRequest { /** * 公共规则 diff --git a/app/System/Service/Dependencies/UserAuthService.php b/app/System/Service/Dependencies/UserAuthService.php index 708751d..da87a7c 100644 --- a/app/System/Service/Dependencies/UserAuthService.php +++ b/app/System/Service/Dependencies/UserAuthService.php @@ -20,7 +20,7 @@ use Builder\Event\UserLoginBefore; use Builder\Event\UserLogout; use Builder\Exception\NormalStatusException; use Builder\Exception\UserBanException; -use Builder\Helper\MineCode; +use Builder\Helper\BaseCode; use Builder\Interfaces\UserServiceInterface; use Builder\Vo\UserServiceVo; @@ -72,13 +72,13 @@ class UserAuthService implements UserServiceInterface } } catch (\Exception $e) { if ($e instanceof ModelNotFoundException) { - throw new NormalStatusException(t('jwt.username_error'), MineCode::NO_DATA); + throw new NormalStatusException(t('jwt.username_error'), BaseCode::NO_DATA); } if ($e instanceof NormalStatusException) { - throw new NormalStatusException(t('jwt.password_error'), MineCode::PASSWORD_ERROR); + throw new NormalStatusException(t('jwt.password_error'), BaseCode::PASSWORD_ERROR); } if ($e instanceof UserBanException) { - throw new NormalStatusException(t('jwt.user_ban'), MineCode::USER_BAN); + throw new NormalStatusException(t('jwt.user_ban'), BaseCode::USER_BAN); } console()->error($e->getMessage()); throw new NormalStatusException(t('jwt.unknown_error')); diff --git a/app/System/Service/ModuleService.php b/app/System/Service/ModuleService.php index b016c12..9ec8f9c 100644 --- a/app/System/Service/ModuleService.php +++ b/app/System/Service/ModuleService.php @@ -8,15 +8,15 @@ use Hyperf\Utils\Filesystem\Filesystem; use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Output\NullOutput; -use Builder\Mine; +use Builder\Base; use Builder\Abstracts\AbstractService; use Builder\Generator\ModuleGenerator; class ModuleService extends AbstractService { /** - * @var Mine + * @var Base */ - protected Mine $mine; + protected Base $base; /** * @var string|null @@ -24,7 +24,7 @@ class ModuleService extends AbstractService #[Value('cache.default.prefix')] protected ?string $prefix = null; - public function __construct(Mine $mine) + public function __construct(Base $mine) { $this->mine = $mine; } @@ -122,14 +122,14 @@ class ModuleService extends AbstractService * @throws \Psr\Container\NotFoundExceptionInterface * @throws \Throwable */ - public function uninstallModule(string $name): bool + public function uninstallModule(string $name,$type='app'): bool { try { $migrate = container()->get(\Hyperf\Database\Migrations\Migrator::class); - $path = BASE_PATH . '/app/' . $name . '/Database/Migrations'; + $path = BASE_PATH . '/'.$type.'/' . $name . '/Database/Migrations'; $migrate->rollback([$path]); is_dir($path . '/Update') && $migrate->rollback([$path . '/Update']); - $this->deleteModule($name); + $this->deleteModule($name,$type); $this->setModuleCache(); return true; } catch (\Throwable $e) { @@ -143,11 +143,11 @@ class ModuleService extends AbstractService * @param string $name * @return bool */ - public function deleteModule(string $name): bool + public function deleteModule(string $name,$type='app'): bool { /** @var Filesystem $filesystem */ $filesystem = make(Filesystem::class); - $modulePath = BASE_PATH . '/app/' . ucfirst($name); + $modulePath = BASE_PATH . '/'.$type.'/' . ucfirst($name); return $filesystem->deleteDirectory($modulePath); } @@ -197,11 +197,11 @@ class ModuleService extends AbstractService * @throws \Psr\Container\ContainerExceptionInterface * @throws \Psr\Container\NotFoundExceptionInterface */ - public function modifyStatus(array $data): bool + public function modifyStatus(array $data,$type='app'): bool { - $modules = make(Mine::class)->getModuleInfo(); + $modules = make(Init::class)->getModuleInfo(); if (isset($modules[$data['name']])) { - $filePath = BASE_PATH . '/app/' . $data['name'] . '/config.json'; + $filePath = BASE_PATH . '/'.$type.'/' . $data['name'] . '/info.json'; $status = $data['status'] ? 'true' : 'false'; $content = preg_replace( '/\"enabled\":\s(true|false),/', diff --git a/app/System/Service/ServerMonitorService.php b/app/System/Service/ServerMonitorService.php index 2e3ea22..ef93eb6 100644 --- a/app/System/Service/ServerMonitorService.php +++ b/app/System/Service/ServerMonitorService.php @@ -166,7 +166,7 @@ class ServerMonitorService $result['run_time'] = \Builder\Helper\Str::Sec2Time(time() - START_TIME); - $result['mineadmin_version'] = \Builder\Mine::getVersion(); + $result['mineadmin_version'] = \Builder\Base::getVersion(); $result['hyperf_version'] = HF_VERSION; diff --git a/app/System/Service/SystemAppService.php b/app/System/Service/SystemAppService.php index be0a976..855bb96 100644 --- a/app/System/Service/SystemAppService.php +++ b/app/System/Service/SystemAppService.php @@ -9,7 +9,7 @@ use App\System\Model\SystemApp; use Builder\Abstracts\AbstractService; use Builder\Annotation\Transaction; use Builder\Exception\NormalStatusException; -use Builder\Helper\MineCode; +use Builder\Helper\BaseCode; /** * app应用业务 @@ -82,11 +82,11 @@ class SystemAppService extends AbstractService public function getAccessToken(array $params): array { if (empty($params['app_id'])) { - throw new NormalStatusException(t('mineadmin.api_auth_fail'), MineCode::API_APP_ID_MISSING); + throw new NormalStatusException(t('uiview.api_auth_fail'), BaseCode::API_APP_ID_MISSING); } if (empty($params['signature'])) { - throw new NormalStatusException(t('mineadmin.api_auth_fail'), MineCode::API_SIGN_MISSING); + throw new NormalStatusException(t('uiview.api_auth_fail'), BaseCode::API_SIGN_MISSING); } $model = $this->mapper->one(function($query) use(&$params){ @@ -94,11 +94,11 @@ class SystemAppService extends AbstractService }); if (! $model) { - throw new NormalStatusException(t('mineadmin.access_denied'), MineCode::API_AUTH_EXCEPTION); + throw new NormalStatusException(t('uiview.access_denied'), BaseCode::API_AUTH_EXCEPTION); } if ($params['signature'] !== $this->getSignature($model['app_secret'], $params)) { - throw new NormalStatusException(t('mineadmin.api_auth_fail'), MineCode::API_IDENTITY_ERROR); + throw new NormalStatusException(t('uiview.api_auth_fail'), BaseCode::API_IDENTITY_ERROR); } $params['id'] = $model['id']; @@ -137,14 +137,14 @@ class SystemAppService extends AbstractService }, ['id', 'status']); if (! $model) { - return MineCode::API_PARAMS_ERROR; + return BaseCode::API_PARAMS_ERROR; } if ($model->status != SystemApp::ENABLE) { - return MineCode::APP_BAN; + return BaseCode::APP_BAN; } - return MineCode::API_VERIFY_PASS; + return BaseCode::API_VERIFY_PASS; } /** @@ -162,18 +162,18 @@ class SystemAppService extends AbstractService }, ['id', 'status', 'app_secret']); if (! $model) { - return MineCode::API_PARAMS_ERROR; + return BaseCode::API_PARAMS_ERROR; } if ($model->status != SystemApp::ENABLE) { - return MineCode::APP_BAN; + return BaseCode::APP_BAN; } if ($identity != md5($appId . $model->app_secret)) { - throw new NormalStatusException(t('mineadmin.api_auth_fail'), MineCode::API_SIGN_ERROR); + throw new NormalStatusException(t('uiview.api_auth_fail'), BaseCode::API_SIGN_ERROR); } - return MineCode::API_VERIFY_PASS; + return BaseCode::API_VERIFY_PASS; } /** @@ -184,7 +184,7 @@ class SystemAppService extends AbstractService */ public function verifyNormalMode(string $accessToken): int { - return app_verify()->check($accessToken) ? MineCode::API_VERIFY_PASS : MineCode::API_PARAMS_ERROR; + return app_verify()->check($accessToken) ? BaseCode::API_VERIFY_PASS : BaseCode::API_PARAMS_ERROR; } /** diff --git a/app/System/Service/SystemDictDataService.php b/app/System/Service/SystemDictDataService.php index 97382c6..72b4292 100644 --- a/app/System/Service/SystemDictDataService.php +++ b/app/System/Service/SystemDictDataService.php @@ -91,7 +91,7 @@ class SystemDictDataService extends AbstractService $args = [ 'select' => ['id', 'label as title', 'value as key'], - 'status' => \Builder\MineModel::ENABLE, + 'status' => \Builder\BaseModel::ENABLE, 'orderBy' => 'sort', 'orderType' => 'desc' ]; diff --git a/app/System/Service/SystemNoticeService.php b/app/System/Service/SystemNoticeService.php index 7ed6096..33fa7e6 100644 --- a/app/System/Service/SystemNoticeService.php +++ b/app/System/Service/SystemNoticeService.php @@ -50,7 +50,7 @@ class SystemNoticeService extends AbstractService $userIds = $data['users'] ?? []; if (empty($userIds)) { $userMapper = container()->get(SystemUserMapper::class); - $userIds = $userMapper->pluck(['status' => \Builder\MineModel::ENABLE]); + $userIds = $userMapper->pluck(['status' => \Builder\BaseModel::ENABLE]); } $data['message_id'] = push_queue_message($message, $userIds); diff --git a/app/System/Service/SystemUploadFileService.php b/app/System/Service/SystemUploadFileService.php index b940752..e52207b 100644 --- a/app/System/Service/SystemUploadFileService.php +++ b/app/System/Service/SystemUploadFileService.php @@ -11,7 +11,7 @@ use Hyperf\HttpMessage\Upload\UploadedFile; use Hyperf\Utils\Collection; use Builder\Abstracts\AbstractService; use Builder\Exception\NormalStatusException; -use Builder\MineUpload; +use Builder\Upload; use Psr\EventDispatcher\EventDispatcherInterface; /** @@ -33,12 +33,12 @@ class SystemUploadFileService extends AbstractService public $mapper; /** - * @var MineUpload + * @var Upload */ - protected MineUpload $mineUpload; + protected Upload $mineUpload; - public function __construct(SystemUploadFileMapper $mapper, MineUpload $mineUpload) + public function __construct(SystemUploadFileMapper $mapper, Upload $mineUpload) { $this->mapper = $mapper; $this->mineUpload = $mineUpload; diff --git a/app/System/Service/SystemUserService.php b/app/System/Service/SystemUserService.php index b651458..f22b757 100644 --- a/app/System/Service/SystemUserService.php +++ b/app/System/Service/SystemUserService.php @@ -12,8 +12,8 @@ use Builder\Event\UserAdd; use Builder\Event\UserDelete; use Builder\Exception\MineException; use Builder\Exception\NormalStatusException; -use Builder\Helper\MineCaptcha; -use Builder\MineRequest; +use Builder\Helper\Captcha; +use Builder\BaseRequest; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; use Psr\SimpleCache\CacheInterface; @@ -27,10 +27,10 @@ use Psr\SimpleCache\InvalidArgumentException; class SystemUserService extends AbstractService { /** - * @var MineRequest + * @var BaseRequest */ #[Inject] - protected MineRequest $request; + protected BaseRequest $request; /** * @var ContainerInterface @@ -82,7 +82,7 @@ class SystemUserService extends AbstractService public function getCaptcha(): string { $cache = container()->get(CacheInterface::class); - $captcha = new MineCaptcha(); + $captcha = new Captcha(); $info = $captcha->getCaptchaInfo(); $key = $this->request->ip() .'-'. \Builder\Helper\Str::lower($info['code']); $cache->set(sprintf('captcha:%s', $key), $info['code'], 60); diff --git a/app/System/config.json b/app/System/info.json similarity index 100% rename from app/System/config.json rename to app/System/info.json diff --git a/builder/Abstracts/AbstractMapper.php b/builder/Abstracts/AbstractMapper.php index bf960c8..12b0fa3 100644 --- a/builder/Abstracts/AbstractMapper.php +++ b/builder/Abstracts/AbstractMapper.php @@ -13,7 +13,7 @@ declare (strict_types = 1); namespace Builder\Abstracts; use Hyperf\Context\Context; use Builder\Traits\MapperTrait; -use Builder\MineModel; +use Builder\BaseModel; /** * Class AbstractMapper * @package Builder\Abstracts @@ -23,7 +23,7 @@ abstract class AbstractMapper use MapperTrait; /** - * @var MineModel + * @var BaseModel */ public $model; diff --git a/builder/Annotation/OperationLog.php b/builder/Annotation/OperationLog.php index fd08096..2045d3b 100644 --- a/builder/Annotation/OperationLog.php +++ b/builder/Annotation/OperationLog.php @@ -1,14 +1,4 @@ - * @Link https://gitee.com/xmo/MineAdmin - */ - declare(strict_types = 1); namespace Builder\Annotation; diff --git a/builder/Api.php b/builder/Api.php new file mode 100644 index 0000000..a07c3be --- /dev/null +++ b/builder/Api.php @@ -0,0 +1,13 @@ +container->get(MineRequest::class); + $request = $this->container->get(BaseRequest::class); $loginUser = $this->container->get(LoginUser::class); $operationLog = [ diff --git a/builder/Aspect/PermissionAspect.php b/builder/Aspect/PermissionAspect.php index 5ba7dbf..f8b1b3a 100644 --- a/builder/Aspect/PermissionAspect.php +++ b/builder/Aspect/PermissionAspect.php @@ -21,7 +21,7 @@ use Hyperf\Di\Exception\Exception; use Builder\Annotation\Permission; use Builder\Exception\NoPermissionException; use Builder\Helper\LoginUser; -use Builder\MineRequest; +use Builder\BaseRequest; /** * Class PermissionAspect @@ -40,9 +40,9 @@ class PermissionAspect extends AbstractAspect protected SystemUserService $service; /** - * MineRequest + * BaseRequest */ - protected MineRequest $request; + protected BaseRequest $request; /** * LoginUser @@ -52,13 +52,13 @@ class PermissionAspect extends AbstractAspect /** * PermissionAspect constructor. * @param SystemUserService $service - * @param MineRequest $request + * @param BaseRequest $request * @param LoginUser $loginUser */ public function __construct( SystemUserService $service, - MineRequest $request, - LoginUser $loginUser + BaseRequest $request, + LoginUser $loginUser ) { $this->service = $service; diff --git a/builder/Aspect/ResubmitAspect.php b/builder/Aspect/ResubmitAspect.php index 9c047fa..300abcf 100644 --- a/builder/Aspect/ResubmitAspect.php +++ b/builder/Aspect/ResubmitAspect.php @@ -19,7 +19,7 @@ use Hyperf\Di\Exception\Exception; use Builder\Annotation\Resubmit; use Builder\Exception\NormalStatusException; -use Builder\MineRequest; +use Builder\BaseRequest; use Builder\Redis\MineLockRedis; /** @@ -47,7 +47,7 @@ class ResubmitAspect extends AbstractAspect $resubmit = $proceedingJoinPoint->getAnnotationMetadata()->method[Resubmit::class]; } - $request = container()->get(MineRequest::class); + $request = container()->get(BaseRequest::class); $key = md5(sprintf('%s-%s-%s', $request->ip(), $request->getPathInfo(), $request->getMethod())); @@ -56,7 +56,7 @@ class ResubmitAspect extends AbstractAspect if ($lockRedis->check($key)) { $lockRedis = null; - throw new NormalStatusException($resubmit->message ?: t('mineadmin.resubmit'), 500); + throw new NormalStatusException($resubmit->message ?: t('uiview.resubmit'), 500); } $lockRedis->lock($key, $resubmit->second); diff --git a/builder/Aspect/RoleAspect.php b/builder/Aspect/RoleAspect.php index aa54862..df6deac 100644 --- a/builder/Aspect/RoleAspect.php +++ b/builder/Aspect/RoleAspect.php @@ -21,7 +21,7 @@ use Hyperf\Di\Exception\Exception; use Builder\Annotation\Role; use Builder\Exception\NoPermissionException; use Builder\Helper\LoginUser; -use Builder\MineRequest; +use Builder\BaseRequest; /** * Class RoleAspect @@ -40,9 +40,9 @@ class RoleAspect extends AbstractAspect protected SystemUserService $service; /** - * MineRequest + * BaseRequest */ - protected MineRequest $request; + protected BaseRequest $request; /** * LoginUser @@ -52,13 +52,13 @@ class RoleAspect extends AbstractAspect /** * RoleAspect constructor. * @param SystemUserService $service - * @param MineRequest $request + * @param BaseRequest $request * @param LoginUser $loginUser */ public function __construct( SystemUserService $service, - MineRequest $request, - LoginUser $loginUser + BaseRequest $request, + LoginUser $loginUser ) { $this->service = $service; diff --git a/builder/Aspect/SaveAspect.php b/builder/Aspect/SaveAspect.php index 9fd6520..fecb6d5 100644 --- a/builder/Aspect/SaveAspect.php +++ b/builder/Aspect/SaveAspect.php @@ -16,7 +16,7 @@ use Hyperf\Di\Annotation\Aspect; use Hyperf\Di\Aop\AbstractAspect; use Hyperf\Di\Aop\ProceedingJoinPoint; use Hyperf\Di\Exception\Exception; -use Builder\MineModel; +use Builder\BaseModel; /** * Class SaveAspect @@ -26,7 +26,7 @@ use Builder\MineModel; class SaveAspect extends AbstractAspect { public array $classes = [ - 'Builder\MineModel::save' + 'Builder\BaseModel::save' ]; /** @@ -45,7 +45,7 @@ class SaveAspect extends AbstractAspect try { $user = user(); // 设置创建人 - if ($instance instanceof MineModel && + if ($instance instanceof BaseModel && in_array('created_by', $instance->getFillable()) && is_null($instance->created_by) ) { @@ -54,7 +54,7 @@ class SaveAspect extends AbstractAspect } // 设置更新人 - if ($instance instanceof MineModel && in_array('updated_by', $instance->getFillable())) { + if ($instance instanceof BaseModel && in_array('updated_by', $instance->getFillable())) { $user->check(); $instance->updated_by = $user->getId(); } @@ -62,7 +62,7 @@ class SaveAspect extends AbstractAspect } catch (\Throwable $e) {} } // 生成ID - if ($instance instanceof MineModel && + if ($instance instanceof BaseModel && !$instance->incrementing && $instance->getPrimaryKeyType() === 'int' && empty($instance->{$instance->getKeyName()}) diff --git a/builder/Aspect/UpdateAspect.php b/builder/Aspect/UpdateAspect.php index b7be414..8e9fac9 100644 --- a/builder/Aspect/UpdateAspect.php +++ b/builder/Aspect/UpdateAspect.php @@ -18,8 +18,8 @@ use Hyperf\Di\Exception\Exception; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; -use Builder\MineModel; -use Builder\MineRequest; +use Builder\BaseModel; +use Builder\BaseRequest; /** * Class UpdateAspect @@ -29,7 +29,7 @@ use Builder\MineRequest; class UpdateAspect extends AbstractAspect { public array $classes = [ - 'Builder\MineModel::update' + 'Builder\BaseModel::update' ]; /** @@ -43,10 +43,10 @@ class UpdateAspect extends AbstractAspect { $instance = $proceedingJoinPoint->getInstance(); // 更新更改人 - if ($instance instanceof MineModel && + if ($instance instanceof BaseModel && in_array('updated_by', $instance->getFillable()) && config('mineadmin.data_scope_enabled') && - container()->get(MineRequest::class)->getHeaderLine('authorization') + container()->get(BaseRequest::class)->getHeaderLine('authorization') ) { try { $instance->updated_by = user()->getId(); diff --git a/builder/Mine.php b/builder/Base.php similarity index 94% rename from builder/Mine.php rename to builder/Base.php index daa821b..2ed9328 100644 --- a/builder/Mine.php +++ b/builder/Base.php @@ -2,7 +2,7 @@ declare(strict_types=1); namespace Builder; use Hyperf\Utils\Filesystem\Filesystem; -class Mine +class Base { /** * @var string @@ -29,6 +29,7 @@ class Mine */ private array $AddonInfo = []; + /** * @throws \Psr\Container\ContainerExceptionInterface * @throws \Psr\Container\NotFoundExceptionInterface @@ -51,7 +52,7 @@ class Mine $fs = container()->get(Filesystem::class); $infos = []; foreach ($modules as &$mod) if (is_dir($mod)) { - $modInfo = $mod . DIRECTORY_SEPARATOR . 'config.json'; + $modInfo = $mod . DIRECTORY_SEPARATOR . 'info.json'; if (file_exists($modInfo)) { $infos[basename($mod)] = json_decode($fs->sharedGet($modInfo), true); } @@ -69,7 +70,7 @@ class Mine $fs = container()->get(Filesystem::class); $infos = []; foreach ($modules as &$mod) if (is_dir($mod)) { - $modInfo = $mod . DIRECTORY_SEPARATOR . 'config.json'; + $modInfo = $mod . DIRECTORY_SEPARATOR . 'info.json'; if (file_exists($modInfo)) { $infos[basename($mod)] = json_decode($fs->sharedGet($modInfo), true); } @@ -110,7 +111,7 @@ class Mine } /** - * @param mixed $appPath + * @param base $appPath */ public function setAddonPath(string $path): void { @@ -120,7 +121,7 @@ class Mine /** * 获取模块信息 * @param string|null $name - * @return mixed + * @return base */ public function getModuleInfo(string $name = null): array { @@ -133,7 +134,7 @@ class Mine /** * 获取插件信息 * @param string|null $name - * @return mixed + * @return base */ public function getAddonInfo(string $name = null): array { @@ -152,7 +153,7 @@ class Mine } /** - * @param mixed $AddonInfo + * @param base $AddonInfo */ public function setAddonInfo($AddonInfo): void { @@ -187,7 +188,7 @@ class Mine { if (!empty($mod)) { $fs = container()->get(Filesystem::class); - $modJson = $this->getAppPath() . $mod . DIRECTORY_SEPARATOR . 'config.json'; + $modJson = $this->getAppPath() . $mod . DIRECTORY_SEPARATOR . 'info.json'; if (! $fs->isWritable($modJson)) { $fs->chmod($modJson, 666); } diff --git a/builder/MineCollection.php b/builder/BaseCollection.php similarity index 96% rename from builder/MineCollection.php rename to builder/BaseCollection.php index 6e09fc3..4080157 100644 --- a/builder/MineCollection.php +++ b/builder/BaseCollection.php @@ -16,7 +16,7 @@ use Hyperf\Database\Model\Collection; use Builder\Office\Excel\PhpOffice; use Builder\Office\Excel\XlsWriter; -class MineCollection extends Collection +class BaseCollection extends Collection { /** * 系统菜单转前端路由树 @@ -106,14 +106,14 @@ class MineCollection extends Collection /** * 数据导入 * @param string $dto - * @param MineModel $model + * @param BaseModel $model * @param \Closure|null $closure * @return bool * @throws \PhpOffice\PhpSpreadsheet\Reader\Exception * @throws \Psr\Container\ContainerExceptionInterface * @throws \Psr\Container\NotFoundExceptionInterface */ - public function import(string $dto, MineModel $model, ?\Closure $closure = null): bool + public function import(string $dto, BaseModel $model, ?\Closure $closure = null): bool { $excelDrive = config('mineadmin.excel_drive'); if ($excelDrive === 'auto') { diff --git a/builder/BaseController.php b/builder/BaseController.php new file mode 100644 index 0000000..d2cfeae --- /dev/null +++ b/builder/BaseController.php @@ -0,0 +1,21 @@ + - * @Link https://gitee.com/xmo/MineAdmin - */ - declare(strict_types=1); namespace Builder; - use Hyperf\Di\Annotation\Inject; use Hyperf\HttpServer\Request; -class MineRequest extends Request +class BaseRequest extends Request { /** - * MineResponse + * BaseResponse */ #[Inject] - protected MineResponse $response; + protected BaseResponse $response; /** * 获取请求IP diff --git a/builder/MineResponse.php b/builder/BaseResponse.php similarity index 80% rename from builder/MineResponse.php rename to builder/BaseResponse.php index fb1f5b7..b4a1e9d 100644 --- a/builder/MineResponse.php +++ b/builder/BaseResponse.php @@ -1,27 +1,15 @@ - * @Link https://gitee.com/xmo/MineAdmin - */ - declare(strict_types=1); - namespace Builder; - use Hyperf\HttpMessage\Stream\SwooleStream; use Hyperf\HttpServer\Response; use Psr\Http\Message\ResponseInterface; /** - * Class MineResponse - * @package MineServer + * Class BaseResponse + * @package RunServer */ -class MineResponse extends Response +class BaseResponse extends Response { /** * @param string|null $message @@ -35,7 +23,7 @@ class MineResponse extends Response { $format = [ 'success' => true, - 'message' => $message ?: t('mineadmin.response_success'), + 'message' => $message ?: t('uiview.response_success'), 'code' => $code, 'data' => &$data, ]; @@ -59,7 +47,7 @@ class MineResponse extends Response $format = [ 'success' => false, 'code' => $code, - 'message' => $message ?: t('mineadmin.response_error'), + 'message' => $message ?: t('uiview.response_error'), ]; if (!empty($data)) { diff --git a/builder/MineCommand.php b/builder/Command.php similarity index 68% rename from builder/MineCommand.php rename to builder/Command.php index 142e702..8f15ea2 100644 --- a/builder/MineCommand.php +++ b/builder/Command.php @@ -15,10 +15,10 @@ namespace Builder; use Hyperf\Command\Command as HyperfCommand; /** - * Class MineCommand + * Class Command * @package System */ -abstract class MineCommand extends HyperfCommand +abstract class Command extends HyperfCommand { protected string $module; @@ -49,14 +49,14 @@ abstract class MineCommand extends HyperfCommand protected function getInfo(): string { return sprintf(' -/---------------------- welcome to use -----------------------\ -| _ ___ __ _ | -| ____ ___ (_)___ _____ / | ____/ /___ ___ (_)___ | -| / __ `__ \/ / __ \/ ___/ / /| |/ __ / __ `__ \/ / __ \ | -| / / / / / / / / / / /__/ / ___ / /_/ / / / / / / / / / / | -| /_/ /_/ /_/_/_/ /_/\___/ /_/ |_\__,_/_/ /_/ /_/_/_/ /_/ | -| | -\_____________ Copyright MineAdmin 2021 ~ %s _____________| -', date('Y')); +/-------------- welcome to use -----------------\ +| _____ _ __ ___ | +| |_ _| | __ \ \ / (_) _____ __ | +| | | | |/ / \ \ / /| |/ _ \ \ /\ / / | +| | | | < \ V / | | __/\ V V / | +| |_| |_|\_\ \_/ |_|\___| \_/\_/ | +| | +\-------- Copyright ZoomTk 2023 ~ %s ---------- +', date('Y', strtotime('20 year'))); } } diff --git a/builder/Command/Creater/CreateFormRequest.php b/builder/Command/Creater/CreateFormRequest.php deleted file mode 100644 index 1abcf8e..0000000 --- a/builder/Command/Creater/CreateFormRequest.php +++ /dev/null @@ -1,70 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Command\Creater; - -use Hyperf\Command\Annotation\Command; -use Hyperf\Utils\Filesystem\FileNotFoundException; -use Hyperf\Utils\Filesystem\Filesystem; -use Builder\MineCommand; -use Symfony\Component\Console\Input\InputArgument; - -/** - * Class CreateFormRequest - * @package System\Command\Creater - */ -#[Command] -class CreateFormRequest extends MineCommand -{ - protected ?string $name = 'mine:request-gen'; - - protected string $module; - - public function configure() - { - parent::configure(); - $this->setHelp('run "php bin/hyperf.php mine:module "'); - $this->setDescription('Generate validate form request class file'); - $this->addArgument( - 'module_name', InputArgument::REQUIRED, - 'input module name' - ); - - $this->addArgument( - 'name', InputArgument::REQUIRED, - 'input FormRequest class file name' - ); - } - - public function handle() - { - $this->module = ucfirst(trim($this->input->getArgument('module_name'))); - $this->name = ucfirst(trim($this->input->getArgument('name'))); - - $fs = new Filesystem(); - - try { - $content = str_replace( - ['{MODULE_NAME}', '{CLASS_NAME}'], - [$this->module, $this->name], - $fs->get($this->getStub('form_request')) - ); - } catch (FileNotFoundException $e) { - $this->error($e->getMessage()); - exit; - } - - $fs->put($this->getModulePath() . $this->name . 'FormRequest.php', $content); - - $this->info("[INFO] Created request: ". $this->name . 'FormRequest.php'); - } -} diff --git a/builder/Command/Creater/CreateModel.php b/builder/Command/Creater/CreateModel.php deleted file mode 100644 index 32e421e..0000000 --- a/builder/Command/Creater/CreateModel.php +++ /dev/null @@ -1,100 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types = 1); -namespace Builder\Command\Creater; - -use Hyperf\DbConnection\Db; -use Builder\Mine; -use Builder\MineCommand; -use Hyperf\Command\Annotation\Command; -use Symfony\Component\Console\Input\InputOption; - -/** - * Class CreateModel - * @package System\Command\Creater - */ -#[Command] -class CreateModel extends MineCommand -{ - protected ?string $name = 'mine:model-gen'; - - public function configure() - { - parent::configure(); - $this->setHelp('run "php bin/hyperf.php mine:model-gen <--module | -M > [--table | -T [table]]"'); - $this->setDescription('Generate model to module according to data table'); - } - - public function handle() - { - $mine = make(Mine::class); - $module = $this->input->getOption('module'); - if ($module) { - $module = ucfirst(trim($this->input->getOption('module'))); - } - - $table = $this->input->getOption('table'); - if ($table) { - $table = trim($this->input->getOption('table')); - } - - if (empty($module)) { - $this->line('Missing parameter <--module < module_name>>', 'error'); - } - - $moduleInfos = $mine->getModuleInfo(); - - if (isset($moduleInfos[$module])) { - $info = $moduleInfos[$module]; - $path = "app/{$module}/Model"; - - $db = env('DB_DATABASE'); - $prefix = env('DB_PREFIX'); - - $tables = Db::select('SHOW TABLES'); - $key = "Tables_in_{$db}"; - - $tableList = []; - foreach ($tables as $k) { - $tmp = $k->$key; - if (!empty($prefix) && preg_match(sprintf("/%s_%s[_a-zA-Z0-9]+/i", $prefix, $module), $tmp)) { - $tableList[] = $tmp; - } - if (preg_match(sprintf("/%s[_a-zA-Z0-9]+/i", $module), $tmp)) { - $tableList[] = $tmp; - } - } - - if (!empty($table)) { - if (!in_array($table, $tableList)) { - $this->confirm("Table \"{$table}\" does not exist or not belong to the \"{$module}\" module. Are you sure to generate the model?", false) - && - $this->call('gen:model', ['table' => $table, '--path' => $path]); - } else { - $this->call('gen:model', ['table' => $table, '--path' => $path]); - } - } else { - foreach ($tableList as $table) { - $this->call('gen:model', ['table' => $table, '--path' => $path]); - } - } - } - } - - protected function getOptions(): array - { - return [ - ['module', '-M', InputOption::VALUE_REQUIRED, 'Please enter the module to be generated'], - ['table', '-T', InputOption::VALUE_OPTIONAL, 'Which table you want to associated with the Model.'] - ]; - } -} \ No newline at end of file diff --git a/builder/Command/Creater/Stubs/form_request.stub b/builder/Command/Creater/Stubs/form_request.stub deleted file mode 100644 index 69e7090..0000000 --- a/builder/Command/Creater/Stubs/form_request.stub +++ /dev/null @@ -1,36 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); - -namespace App\{MODULE_NAME}\Request; - -use Hyperf\Validation\Request\FormRequest; - -class {CLASS_NAME}FormRequest extends FormRequest -{ - /** - * Determine if the user is authorized to make this request. - */ - public function authorize(): bool - { - return true; - } - - /** - * Get the validation rules that apply to the request. - */ - public function rules(): array - { - return [ - ]; - } -} diff --git a/builder/Command/HttpGenCommand.php b/builder/Command/HttpGenCommand.php deleted file mode 100644 index 72323db..0000000 --- a/builder/Command/HttpGenCommand.php +++ /dev/null @@ -1,105 +0,0 @@ -exists($outputDir) && $fileSystem->deleteDirectory($outputDir); - $fileSystem->makeDirectory($outputDir); - $httpJsonFile = config('api_docs.output_dir') . "/http.json"; - if(!$fileSystem->exists($httpJsonFile)) { - throw new NormalStatusException("请先生成swagger文档"); - } - $swagger = json_decode($fileSystem->get($httpJsonFile), true); - // 生成文件 - $paths = $swagger['paths']; - foreach ($paths as $path => $methods) { - $method = array_key_first($methods); - $fileName = $methods[$method]['tags'][0] . ".http"; - $filePath = $outputDir . "/" . $fileName; - $content = - "### " . $methods[$method]['summary'] . PHP_EOL . - "// @no-log" . PHP_EOL . - Str::upper($method) . ' {{host}}' . $path . PHP_EOL . - 'Content-Type: ' . $methods[$method]['produces'][0] . PHP_EOL; - $content .= 'Authorization: Bearer {{auth_token}}' . PHP_EOL . PHP_EOL; - $params = []; - foreach ($methods[$method]['parameters'] as $param) { - $params = array_merge($params, [$param['name'] => $param['default'] ?? '']); - } - if(!empty($params)){ - $params = str_replace(["{", ",", '}'], ["{\r ", ",\r ", "\r}"], json_encode($params, JSON_UNESCAPED_UNICODE)); - $content .= $params . PHP_EOL . PHP_EOL; - } - if($path === '/system/login') { - $setToken = '> {% client.global.set("auth_token", response.body.data.token); %}' . PHP_EOL . PHP_EOL; - $content .= $setToken . PHP_EOL . PHP_EOL; - } - $this->genHttpFile($filePath, $content); - } - $this->genEnvFile(); - $this->line('http-client generate success!', 'comment'); - } - - /** - * 生成http文件 - * @param $file - * @param $content - * @return void - */ - public function genHttpFile($file, $content): void - { - $fileSystem = make(Filesystem::class); - if(!$fileSystem->exists($file)) { - $fileSystem->put($file, $content); - } else { - $fileSystem->append($file, $content); - } - } - - /** - * 生成http-client.env文件 - * @return void - */ - public function genEnvFile(): void - { - $fileSystem = make(Filesystem::class); - $host = env('HTTP_HOST', '127.0.0.1:9501'); - $content = <<put(BASE_PATH . '/runtime/http/http-client.env.json', $content); - } - -} \ No newline at end of file diff --git a/builder/Command/InstallProjectCommand.php b/builder/Command/InstallProjectCommand.php deleted file mode 100644 index 46936a5..0000000 --- a/builder/Command/InstallProjectCommand.php +++ /dev/null @@ -1,369 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); - -namespace Builder\Command; - -use Hyperf\Command\Annotation\Command; -use Hyperf\DbConnection\Db; -use Builder\MineCommand; -use Builder\Mine; -use Symfony\Component\Console\Input\InputOption; - -/** - * Class InstallProjectCommand - * @package System\Command - */ -#[Command] -class InstallProjectCommand extends MineCommand -{ - /** - * 安装命令 - * @var string|null - */ - protected ?string $name = 'mine:install'; - - protected const CONSOLE_GREEN_BEGIN = "\033[32;5;1m"; - protected const CONSOLE_RED_BEGIN = "\033[31;5;1m"; - protected const CONSOLE_END = "\033[0m"; - - protected array $database = []; - - protected array $redis = []; - - public function configure() - { - parent::configure(); - $this->setHelp('run "php bin/hyperf.php mine:install" install MineAdmin system'); - $this->setDescription('MineAdmin system install command'); - - $this->addOption('option', '-o', InputOption::VALUE_OPTIONAL, 'input "-o reset" is re install MineAdmin'); - } - - public function handle() - { - // 获取参数 - $option = $this->input->getOption('option'); - - // 全新安装 - if ($option === null) { - - if (!file_exists(BASE_PATH . '/.env')) { - // 欢迎 - $this->welcome(); - - // 检测环境 - $this->checkEnv(); - - // 设置数据库 - $this->setDataBaseInformationAndRedis(); - - $this->line("\n\nReset the \".env\" file. Please restart the service before running \nthe installation command to continue the installation.", "info"); - } else if (file_exists(BASE_PATH . '/.env') && $this->confirm('Do you want to continue with the installation program?', true)) { - - // 安装本地模块 - $this->installLocalModule(); - - // 其他设置 - $this->setOthers(); - - // 安装完成 - $this->finish(); - } else { - - // 欢迎 - $this->welcome(); - - // 检测环境 - $this->checkEnv(); - - // 设置数据库 - $this->setDataBaseInformationAndRedis(); - - // 安装本地模块 - $this->installLocalModule(); - - // 其他设置 - $this->setOthers(); - - // 安装完成 - $this->finish(); - } - } - - // 重新安装 - if ($option === 'reset') { - $this->line('Reinstallation is not complete...', 'error'); - } - } - - protected function welcome() - { - $this->line('-----------------------------------------------------------', 'comment'); - $this->line('Hello, welcome use MineAdmin system.', 'comment'); - $this->line('The installation is about to start, just a few steps', 'comment'); - $this->line('-----------------------------------------------------------', 'comment'); - } - - protected function checkEnv() - { - $answer = $this->confirm('Do you want to test the system environment now?', true); - - if ($answer) { - - $this->line(PHP_EOL . ' Checking environmenting...' . PHP_EOL, 'comment'); - - if (version_compare(PHP_VERSION, '8.0', '<')) { - $this->error(sprintf(' php version should >= 8.0 >>> %sNO!%s', self::CONSOLE_RED_BEGIN, self::CONSOLE_END)); - exit; - } - $this->line(sprintf(" php version %s >>> %sOK!%s", PHP_VERSION, self::CONSOLE_GREEN_BEGIN, self::CONSOLE_END)); - - $extensions = ['swoole', 'mbstring', 'json', 'openssl', 'pdo', 'xml']; - - foreach ($extensions as $ext) { - $this->checkExtension($ext); - } - } - } - - /** - * @throws \Exception - */ - protected function setDataBaseInformationAndRedis(): void - { - $dbAnswer = $this->confirm('Do you need to set Database information?', true); - // 设置数据库 - if ($dbAnswer) { - $dbchar = $this->ask('please input database charset, default:', 'utf8mb4'); - $dbname = $this->ask('please input database name, default:', 'mineadmin'); - $dbhost = $this->ask('please input database host, default:', '127.0.0.1'); - $dbport = $this->ask('please input database host port, default:', '3306'); - $prefix = $this->ask('please input table prefix, default:', 'Null'); - $dbuser = $this->ask('please input database username, default:', 'root'); - $dbpass = ''; - - $i = 3; - while ($i > 0) { - if ($i === 3) { - $dbpass = $this->ask('Please input database password. Press "enter" 3 number of times, not setting the password'); - } else { - $dbpass = $this->ask(sprintf('If you don\'t set the database password, please try again press "enter" %d number of times', $i)); - } - if (!empty($dbpass)) { - break; - } else { - $i--; - } - } - - $this->database = [ - 'charset' => $dbchar, - 'dbname' => $dbname, - 'dbhost' => $dbhost, - 'dbport' => $dbport, - 'prefix' => $prefix === 'Null' ? '' : $prefix, - 'dbuser' => $dbuser, - 'dbpass' => $dbpass ?: '', - ]; - } - - $redisAnswer = $this->confirm('Do you need to set Redis information?', true); - - // 设置Redis - if ($redisAnswer) { - $redisHost = $this->ask('please input redis host, default:', '127.0.0.1'); - $redisPort = $this->ask('please input redis host port, default:', '6379'); - $redisPass = $this->ask('please input redis password, default:', 'Null'); - $redisDb = $this->ask('please input redis db, default:', '0'); - - $this->redis = [ - 'host' => $redisHost, - 'port' => $redisPort, - 'auth' => $redisPass === 'Null' ? '(NULL)' : $redisPass, - 'db' => $redisDb, - ]; - } - - $dbAnswer && $this->generatorEnvFile(); - } - - /** - * @throws \Exception - */ - protected function generatorEnvFile() - { - try { - $env = parse_ini_file(BASE_PATH . '/.env.example', true); - $env['APP_NAME'] = 'MineAdmin'; - $env['APP_ENV'] = 'dev'; - $env['DB_DRIVER'] = 'mysql'; - $env['DB_HOST'] = $this->database['dbhost']; - $env['DB_PORT'] = $this->database['dbport']; - $env['DB_DATABASE'] = $this->database['dbname']; - $env['DB_USERNAME'] = $this->database['dbuser']; - $env['DB_PASSWORD'] = $this->database['dbpass']; - $env['DB_CHARSET'] = $this->database['charset']; - $env['DB_COLLATION'] = sprintf('%s_general_ci', $this->database['charset']); - $env['DB_PREFIX'] = $this->database['prefix']; - $env['REDIS_HOST'] = $this->redis['host']; - $env['REDIS_AUTH'] = $this->redis['auth']; - $env['REDIS_PORT'] = $this->redis['port']; - $env['REDIS_DB'] = (string) $this->redis['db']; - $env['AMQP_HOST'] = '127.0.0.7'; - $env['AMQP_PORT'] = '5672'; - $env['AMQP_USER'] = 'guest'; - $env['AMQP_PASSWORD'] = 'guest'; - $env['AMQP_VHOST'] = '/'; - $env['AMQP_ENABLE'] = 'false'; - $env['SUPER_ADMIN'] = 1; - $env['ADMIN_ROLE'] = 1; - $env['CONSOLE_SQL'] = 'true'; - $env['JWT_SECRET'] = base64_encode(random_bytes(64)); - $env['JWT_API_SECRET'] = base64_encode(random_bytes(64)); - - $id = null; - - $envContent = ''; - foreach ($env as $key => $e) { - if (!is_array($e)) { - $envContent .= sprintf('%s = %s', $key, $e === '1' ? 'true' : ($e === '' ? '' : $e)) . PHP_EOL . PHP_EOL; - } else { - $envContent .= sprintf('[%s]', $key) . PHP_EOL; - foreach ($e as $k => $v) { - $envContent .= sprintf('%s = %s', $k, $v === '1' ? 'true' : ($v === '' ? '' : $v)) . PHP_EOL; - } - $envContent .= PHP_EOL; - } - } - $dsn = sprintf("mysql:host=%s;port=%s", $this->database['dbhost'], $this->database['dbport']); - $pdo = new \PDO($dsn, $this->database['dbuser'], $this->database['dbpass']); - $isSuccess = $pdo->query( - sprintf( - 'CREATE DATABASE IF NOT EXISTS `%s` DEFAULT CHARSET %s COLLATE %s_general_ci;', - $this->database['dbname'], - $this->database['charset'], - $this->database['charset'] - ) - ); - - $pdo = null; - - if ($isSuccess) { - $this->line($this->getGreenText(sprintf('"%s" database created successfully', $this->database['dbname']))); - file_put_contents(BASE_PATH . '/.env', $envContent); - } else { - $this->line($this->getRedText(sprintf('Failed to create database "%s". Please create it manually', $this->database['dbname']))); - } - } catch (\RuntimeException $e) { - $this->line($this->getRedText($e->getMessage())); - exit; - } - } - - /** - * install modules - */ - protected function installLocalModule() - { - /* @var Mine $mine */ - $this->line("Installation of local modules is about to begin...\n", 'comment'); - $mine = make(Mine::class); - $modules = $mine->getModuleInfo(); - foreach ($modules as $name => $info) { - $this->call('mine:migrate-run', ['name' => $name, '--force' => 'true']); - if ($name === 'System') { - $this->initUserData(); - } - $this->call('mine:seeder-run', ['name' => $name, '--force' => 'true']); - $this->line($this->getGreenText(sprintf('"%s" module install successfully', $name))); - } - } - - protected function setOthers() - { - $this->line(PHP_EOL . ' MineAdmin set others items...' . PHP_EOL, 'comment'); - $this->call('mine:update'); - } - - protected function initUserData() - { - // 清理数据 - Db::table('system_user')->truncate(); - Db::table('system_role')->truncate(); - Db::table('system_user_role')->truncate(); - - // 创建超级管理员 - Db::table("system_user")->insert([ - 'id' => env('SUPER_ADMIN', 1), - 'username' => 'superAdmin', - 'password' => password_hash('admin123', PASSWORD_DEFAULT), - 'user_type' => '100', - 'nickname' => '创始人', - 'email' => 'admin@adminmine.com', - 'phone' => '16858888988', - 'signed' => '广阔天地,大有所为', - 'dashboard' => 'statistics', - 'created_by' => 0, - 'updated_by' => 0, - 'status' => 1, - 'created_at' => date('Y-m-d H:i:s'), - 'updated_at' => date('Y-m-d H:i:s') - ]); - // 创建管理员角色 - Db::table('system_role')->insert([ - 'id' => env('ADMIN_ROLE', 1), - 'name' => '超级管理员(创始人)', - 'code' => 'superAdmin', - 'data_scope' => 0, - 'sort' => 0, - 'created_by' => env('SUPER_ADMIN', 0), - 'updated_by' => 0, - 'status' => 1, - 'created_at' => date('Y-m-d H:i:s'), - 'updated_at' => date('Y-m-d H:i:s'), - 'remark' => '系统内置角色,不可删除' - ]); - Db::table('system_user_role')->insert([ - 'user_id' => env('SUPER_ADMIN', 1), - 'role_id' => env('ADMIN_ROLE', 1) - ]); - } - - protected function finish(): void - { - $i = 5; - $this->output->write(PHP_EOL . $this->getGreenText('The installation is almost complete'), false); - while ($i > 0) { - $this->output->write($this->getGreenText('.'), false); - $i--; - sleep(1); - } - $this->line(PHP_EOL . sprintf('%s -MineAdmin Version: %s -default username: superAdmin -default password: admin123', $this->getInfo(), Mine::getVersion()), 'comment'); - } - - /** - * @param $extension - */ - protected function checkExtension($extension): void - { - if (!extension_loaded($extension)) { - $this->line(sprintf(" %s extension not install >>> %sNO!%s", $extension, self::CONSOLE_RED_BEGIN, self::CONSOLE_END)); - exit; - } - $this->line(sprintf(' %s extension is installed >>> %sOK!%s', $extension, self::CONSOLE_GREEN_BEGIN, self::CONSOLE_END)); - } -} diff --git a/builder/Command/JwtCommand.php b/builder/Command/JwtCommand.php deleted file mode 100644 index d73dbe6..0000000 --- a/builder/Command/JwtCommand.php +++ /dev/null @@ -1,81 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Command; - -use Hyperf\Command\Annotation\Command; -use Builder\Helper\Str; -use Builder\MineCommand; -use Symfony\Component\Console\Input\InputOption; - -/** - * Class JwtCommand - * @package System\Command - */ -#[Command] -class JwtCommand extends MineCommand -{ - /** - * 生成JWT密钥命令 - * @var string|null - */ - protected ?string $name = 'mine:jwt-gen'; - - public function configure() - { - parent::configure(); - $this->setHelp('run "php bin/hyperf.php mine:gen-jwt" create the new jwt secret'); - $this->setDescription('MineAdmin system gen jwt command'); - } - - /** - * @throws \Throwable - */ - public function handle() - { - $jwtSecret = Str::upper($this->input->getOption('jwtSecret')); - - if (empty($jwtSecret)) { - $this->line('Missing parameter <--jwtSecret < jwt secret name>>', 'error'); - } - - $envPath = BASE_PATH . '/.env'; - - if (! file_exists($envPath)) { - $this->line('.env file not is exists!', 'error'); - } - - $key = base64_encode(random_bytes(64)); - - if (Str::contains(file_get_contents($envPath), $jwtSecret) === false) { - file_put_contents($envPath, "\n{$jwtSecret}={$key}\n", FILE_APPEND); - } else { - file_put_contents($envPath, preg_replace( - "~{$jwtSecret}\s*=\s*[^\n]*~", - "{$jwtSecret}=\"{$key}\"", - file_get_contents($envPath) - )); - } - - $this->info('jwt secret generator successfully:' . $key); - - } - - protected function getOptions(): array - { - return [ - ['jwtSecret', '', InputOption::VALUE_REQUIRED, 'Please enter the jwtSecret to be generated'], - ]; - } - - -} \ No newline at end of file diff --git a/builder/Command/Migrate/MineMigrate.php b/builder/Command/Migrate/MineMigrate.php deleted file mode 100644 index fff6a18..0000000 --- a/builder/Command/Migrate/MineMigrate.php +++ /dev/null @@ -1,152 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Command\Migrate; - -use Hyperf\Command\Annotation\Command; -use Hyperf\Database\Commands\Migrations\TableGuesser; -use Hyperf\Database\Commands\Seeders\BaseCommand; -use Hyperf\Utils\Str; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputOption; -use Throwable; - -/** - * Class MineMigrate - * @package System\Command\Migrate - */ -#[Command] -class MineMigrate extends BaseCommand -{ - - protected $module; - /** - * The migration creator instance. - * - * @var MineMigrationCreator - */ - protected $creator; - - /** - * Create a new migration install command instance. - * @param MineMigrationCreator $creator - */ - public function __construct(MineMigrationCreator $creator) - { - - parent::__construct('mine:migrate-gen'); - $this->setDescription('Generate a new MineAdmin module migration file'); - $this->creator = $creator; - } - - /** - * Execute the console command. - */ - public function handle() - { - // It's possible for the developer to specify the tables to modify in this - // schema operation. The developer may also specify if this table needs - // to be freshly created so we can create the appropriate migrations. - $name = 'create_' . Str::snake(trim($this->input->getArgument('name'))).'_table'; - - $this->module = $this->input->getOption('module'); - - if (empty($this->module)) { - $this->error("<--module module_name> required"); - exit; - } - - $this->module = ucfirst($this->module); - - $table = $this->input->getOption('table'); - - $create = $this->input->getOption('create') ?: false; - - // If no table was given as an option but a create option is given then we - // will use the "create" option as the table name. This allows the devs - // to pass a table name into this option as a short-cut for creating. - if (! $table && is_string($create)) { - $table = $create; - - $create = true; - } - - // Next, we will attempt to guess the table name if this the migration has - // "create" in the name. This will allow us to provide a convenient way - // of creating migrations that create new tables for the application. - if (! $table) { - [$table, $create] = TableGuesser::guess($name); - } - - // Now we are ready to write the migration out to disk. Once we've written - // the migration out, we will dump-autoload for the entire framework to - // make sure that the migrations are registered by the class loaders. - $this->writeMigration($name, $table, $create); - } - - protected function getArguments(): array - { - return [ - ['name', InputArgument::REQUIRED, 'The name of the migration'], - ]; - } - - protected function getOptions(): array - { - return [ - ['module', '-M', InputOption::VALUE_REQUIRED, 'Please enter the module to be generated'], - ['create', null, InputOption::VALUE_OPTIONAL, 'The table to be created'], - ['table', null, InputOption::VALUE_OPTIONAL, 'The table to migrate'], - ['path', null, InputOption::VALUE_OPTIONAL, 'The location where the migration file should be created'], - ['realpath', null, InputOption::VALUE_NONE, 'Indicate any provided migration file paths are pre-resolved absolute paths'], - ]; - } - - /** - * Write the migration file to disk. - * @param string $name - * @param string|null $table - * @param bool $create - */ - protected function writeMigration(string $name, ?string $table, bool $create): void - { - try { - $file = pathinfo($this->creator->create( - $name, - $this->getMigrationPath(), - $table, - $create - ), PATHINFO_FILENAME); - $this->info("[INFO] Created Migration: {$file}"); - } catch (Throwable $e) { - $this->error("[ERROR] Created Migration: {$e->getMessage()}"); - } - } - - /** - * Get migration path (either specified by '--path' option or default location). - * - * @return string - */ - protected function getMigrationPath(): string - { - return BASE_PATH . '/app/' . ucfirst($this->module) . '/Database/Migrations'; - } - - /** - * Determine if the given path(s) are pre-resolved "real" paths. - */ - protected function usingRealPath(): bool - { - return $this->input->hasOption('realpath') && $this->input->getOption('realpath'); - } -} diff --git a/builder/Command/Migrate/MineMigrateRun.php b/builder/Command/Migrate/MineMigrateRun.php deleted file mode 100644 index 3c22e2d..0000000 --- a/builder/Command/Migrate/MineMigrateRun.php +++ /dev/null @@ -1,135 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Command\Migrate; - -use Hyperf\Command\ConfirmableTrait; -use Hyperf\Database\Commands\Migrations\BaseCommand; -use Hyperf\Database\Migrations\Migrator; -use Symfony\Component\Console\Input\InputOption; -use Symfony\Component\Console\Input\InputArgument; -use Hyperf\Command\Annotation\Command; - -/** - * Class MineMigrateRun - * @package System\Command\Migrate - */ -#[Command] -class MineMigrateRun extends BaseCommand -{ - use ConfirmableTrait; - - protected ?string $name = 'mine:migrate-run'; - - /** - * The console command description. - * - * @var string - */ - protected string $description = 'Run the database migrations'; - - /** - * The migrator instance. - * - * @var Migrator - */ - protected $migrator; - - protected $module; - - /** - * Create a new migration command instance. - * @param Migrator $migrator - */ - public function __construct(Migrator $migrator) - { - parent::__construct(); - - $this->migrator = $migrator; - - $this->setDescription('The run migrate class of MineAdmin module'); - } - - /** - * Execute the console command. - */ - public function handle() - { - if (! $this->confirmToProceed()) { - return; - } - - $this->module = trim($this->input->getArgument('name')); - - $this->prepareDatabase(); - - // Next, we will check to see if a path option has been defined. If it has - // we will use the path relative to the root of this installation folder - // so that migrations may be run for any path within the applications. - $this->migrator->setOutput($this->output) - ->run($this->getMigrationPaths(), [ - 'pretend' => $this->input->getOption('pretend'), - 'step' => $this->input->getOption('step'), - ]); - - // Finally, if the "seed" option has been given, we will re-run the database - // seed task to re-populate the database, which is convenient when adding - // a migration and a seed at the same time, as it is only this command. - if ($this->input->getOption('seed') && ! $this->input->getOption('pretend')) { - $this->call('db:seed', ['--force' => true]); - } - } - - protected function getOptions(): array - { - return [ - ['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use'], - ['force', null, InputOption::VALUE_NONE, 'Force the operation to run when in production'], - ['path', null, InputOption::VALUE_OPTIONAL, 'The path to the migrations files to be executed'], - ['realpath', null, InputOption::VALUE_NONE, 'Indicate any provided migration file paths are pre-resolved absolute paths'], - ['pretend', null, InputOption::VALUE_NONE, 'Dump the SQL queries that would be run'], - ['seed', null, InputOption::VALUE_NONE, 'Indicates if the seed task should be re-run'], - ['step', null, InputOption::VALUE_NONE, 'Force the migrations to be run so they can be rolled back individually'], - ]; - } - - /** - * Prepare the migration database for running. - */ - protected function prepareDatabase() - { - $this->migrator->setConnection($this->input->getOption('database') ?? 'default'); - - if (! $this->migrator->repositoryExists()) { - $this->call('migrate:install', array_filter([ - '--database' => $this->input->getOption('database'), - ])); - } - } - - protected function getArguments(): array - { - return [ - ['name', InputArgument::REQUIRED, 'Please enter the module to be run'], - ]; - } - - /** - * Get migration path (either specified by '--path' option or default location). - * - * @return string - */ - protected function getMigrationPath(): string - { - return BASE_PATH . '/app/' . ucfirst($this->module) . '/Database/Migrations'; - } -} diff --git a/builder/Command/Migrate/MineMigrationCreator.php b/builder/Command/Migrate/MineMigrationCreator.php deleted file mode 100644 index 231942c..0000000 --- a/builder/Command/Migrate/MineMigrationCreator.php +++ /dev/null @@ -1,24 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types = 1); -namespace Builder\Command\Migrate; - -use Hyperf\Database\Migrations\MigrationCreator; - -class MineMigrationCreator extends MigrationCreator -{ - - public function stubPath(): string - { - return BASE_PATH . '/mine/Command/Migrate/Stubs'; - } -} diff --git a/builder/Command/Migrate/Stubs/blank.stub b/builder/Command/Migrate/Stubs/blank.stub deleted file mode 100644 index 680ab69..0000000 --- a/builder/Command/Migrate/Stubs/blank.stub +++ /dev/null @@ -1,34 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - - -use Hyperf\Database\Schema\Schema; -use Hyperf\Database\Schema\Blueprint; -use Hyperf\Database\Migrations\Migration; - -class DummyClass extends Migration -{ - /** - * Run the migrations. - */ - public function up(): void - { - // - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - // - } -} diff --git a/builder/Command/Migrate/Stubs/create.stub b/builder/Command/Migrate/Stubs/create.stub deleted file mode 100644 index 6baf23f..0000000 --- a/builder/Command/Migrate/Stubs/create.stub +++ /dev/null @@ -1,43 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -use Hyperf\Database\Schema\Schema; -use Hyperf\Database\Schema\Blueprint; -use Hyperf\Database\Migrations\Migration; - -class DummyClass extends Migration -{ - /** - * Run the migrations. - */ - public function up(): void - { - Schema::create('DummyTable', function (Blueprint $table) { - $table->engine = 'Innodb'; - $table->comment('表注释'); - $table->bigIncrements('id')->comment('主键'); - $table->addColumn('bigInteger', 'created_by', ['comment' => '创建者'])->nullable(); - $table->addColumn('bigInteger', 'updated_by', ['comment' => '更新者'])->nullable(); - $table->addColumn('timestamp', 'created_at', ['precision' => 0, 'comment' => '创建时间'])->nullable(); - $table->addColumn('timestamp', 'updated_at', ['precision' => 0, 'comment' => '更新时间'])->nullable(); - $table->addColumn('timestamp', 'deleted_at', ['precision' => 0, 'comment' => '删除时间'])->nullable(); - $table->addColumn('string', 'remark', ['length' => 255, 'comment' => '备注'])->nullable(); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropIfExists('DummyTable'); - } -} diff --git a/builder/Command/Migrate/Stubs/update.stub b/builder/Command/Migrate/Stubs/update.stub deleted file mode 100644 index 113c656..0000000 --- a/builder/Command/Migrate/Stubs/update.stub +++ /dev/null @@ -1,37 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -use Hyperf\Database\Schema\Schema; -use Hyperf\Database\Schema\Blueprint; -use Hyperf\Database\Migrations\Migration; - -class DummyClass extends Migration -{ - /** - * Run the migrations. - */ - public function up(): void - { - Schema::table('DummyTable', function (Blueprint $table) { - // - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::table('DummyTable', function (Blueprint $table) { - // - }); - } -} diff --git a/builder/Command/MineAdmin.php b/builder/Command/MineAdmin.php deleted file mode 100644 index 3f974e2..0000000 --- a/builder/Command/MineAdmin.php +++ /dev/null @@ -1,41 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Command; - -use Hyperf\Command\Annotation\Command; -use Builder\MineCommand; - -/** - * Class MineAdmin - * @package System\Command - */ -#[Command] -class MineAdmin extends MineCommand -{ - protected ?string $name = 'mine'; - - public function configure() - { - parent::configure(); // TODO: Change the autogenerated stub - } - - /** - * Handle the current command. - */ - public function handle() - { - $result = shell_exec('php ' . BASE_PATH . '/bin/hyperf.php | grep mine'); - $this->line($this->getInfo(), 'comment'); - $this->line(preg_replace('/\s+Builder\s+/', '', $result), 'info'); - } -} \ No newline at end of file diff --git a/builder/Command/ModuleCommand.php b/builder/Command/ModuleCommand.php deleted file mode 100644 index 95ca982..0000000 --- a/builder/Command/ModuleCommand.php +++ /dev/null @@ -1,151 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types = 1); -namespace Builder\Command; - -use App\System\Service\ModuleService; -use Hyperf\Command\Annotation\Command; -use Hyperf\Command\ConfirmableTrait; -use Hyperf\Database\Migrations\Migrator; -use Builder\Helper\ConsoleTable; -use Builder\Mine; -use Builder\MineCommand; -use Symfony\Component\Console\Input\InputOption; - -/** - * Class ModuleCommand - * @package System\Command - */ -#[Command] -class ModuleCommand extends MineCommand -{ - use ConfirmableTrait; - /** - * 安装命令 - * @var string|null - */ - protected ?string $name = 'mine:module'; - - protected Mine $mine; - - protected Migrator $migrator; - - public function __construct(Migrator $migrator) - { - parent::__construct(); - $this->migrator = $migrator; - } - - public function configure() - { - parent::configure(); - $this->mine = make(Mine::class); - $this->setHelp('run "php bin/hyperf.php mine:module --name cms --option install"'); - $this->setDescription('install command of module MineAdmin'); - $this->addOption( - 'option', null, InputOption::VALUE_OPTIONAL, - 'input "--option list" show module list, "-option install" install module or "-option uninstall" uninstall module', - 'list' - ); - $this->addOption( - 'name', null, InputOption::VALUE_OPTIONAL, - 'input module name or "list" command show module list', - ); - } - - /** - * @throws \Throwable - */ - public function handle() - { - $name = $this->input->getOption('name'); - $option = $this->input->getOption('option'); - $modules = $this->mine->getModuleInfo(); - - // 模块名不能叫list,list是展示模块列表 - if ($option === 'list') { - $table = new ConsoleTable(); - $table->setHeader(['Name', 'Description', 'Version', "Install", "Enable"]); - foreach ($modules as $mod) { - $row = [ - $mod['name'] ?? 'Null', - $mod['description'] ?? 'Null', - $mod['version'] ?? 'Null', - isset($mod['installed']) && $mod['installed'] === true ? 'yes' : 'no', - isset($mod['enabled']) && $mod['enabled'] === true ? 'yes' : 'no', - ]; - $table->addRow($row); - } - echo $table->render(); - exit; - } - - $service = make(ModuleService::class); - $name = ucfirst($name); - - // other module - if (!empty($name) && isset($modules[$name])) { - if (empty($option)) { - $this->line($this->getRedText('Please input the operation command for the module: -o install or -o uninstall')); - exit; - } - - if ($option === 'install') { - $this->call('mine:migrate-run', ['name' => $name, '--force' => 'true']); - $this->call('mine:seeder-run', ['name' => $name, '--force' => 'true']); - $this->line( - sprintf(" \"%s\" module install complete, Please run it again \"%s\" command! ", - $this->getGreenText($name), - $this->getGreenText('php bin/hyperf.php start') - ) - ); - } - - if ($option === 'uninstall') { - $input = ucfirst($name) . ' uninstall'; - $answer = $this->ask(sprintf("You are now ready to unload the module for safety. Please input: %s", $this->getRedText($input))); - if ($input !== $answer) { - $this->line('Input error'); - exit; - } - - if (! $this->confirmToProceed()) { - $this->line('A delete is already being performed'); - exit; - } - - // 是否删除数据 - if ($this->confirm("Whether to delete the data?", false)) { - $this->migrator->setOutput($this->output); - $path = $this->getUninstallPath($name); - $this->migrator->rollback([ $path ]); - is_dir($path . '/Update') && $this->migrator->rollback([ $path . '/Update']); - } - - $service->deleteModule($name); - - $this->line(sprintf("Uninstall complete, Please run it again \"%s\" command! ",$this->getGreenText('php bin/hyperf.php start'))); - } - } else { - $this->line($this->getRedText(sprintf('The "%s" module does not exist....', $name))); - } - } - - /** - * @param string $moduleName - * @return string - */ - protected function getUninstallPath(string $moduleName): string - { - return BASE_PATH . '/app/' . $moduleName . '/Database/Migrations'; - } -} diff --git a/builder/Command/Seeder/MineSeeder.php b/builder/Command/Seeder/MineSeeder.php deleted file mode 100644 index 26c4e52..0000000 --- a/builder/Command/Seeder/MineSeeder.php +++ /dev/null @@ -1,112 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Command\Seeder; - -use Hyperf\Command\Annotation\Command; -use Hyperf\Database\Commands\Seeders\BaseCommand; -use Hyperf\Database\Seeders\SeederCreator; -use Hyperf\Utils\Str; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputOption; - -/** - * Class MineSeeder - * @package System\Command\Seeder - */ -#[Command] -class MineSeeder extends BaseCommand -{ - /** - * The seeder creator instance. - * - * @var SeederCreator - */ - protected SeederCreator $creator; - - protected string $module; - - /** - * Create a new seeder generator command instance. - * @param SeederCreator $creator - */ - public function __construct(SeederCreator $creator) - { - parent::__construct('mine:seeder-gen'); - $this->setDescription('Generate a new MineAdmin module seeder class'); - - $this->creator = $creator; - } - - /** - * Handle the current command. - */ - public function handle() - { - $this->module = ucfirst(trim($this->input->getOption('module'))); - $name = Str::snake(trim($this->input->getArgument('name'))); - - $this->writeMigration($name); - } - - /** - * Write the seeder file to disk. - * @param string $name - */ - protected function writeMigration(string $name) - { - $path = $this->ensureSeederDirectoryAlreadyExist( - $this->getSeederPath() - ); - - $file = pathinfo($this->creator->create($name, $path), PATHINFO_FILENAME); - - $this->info("[INFO] Created Seeder: {$file}"); - } - - protected function ensureSeederDirectoryAlreadyExist(string $path): string - { - if (! file_exists($path)) { - mkdir($path, 0755, true); - } - - return $path; - } - - protected function getArguments(): array - { - return [ - ['name', InputArgument::REQUIRED, 'The name of the seeder'], - ]; - } - - protected function getOptions(): array - { - return [ - ['module', null, InputOption::VALUE_REQUIRED, 'Please enter the module to be generated'], - ['path', null, InputOption::VALUE_OPTIONAL, 'The location where the seeder file should be created'], - ['realpath', null, InputOption::VALUE_NONE, 'Indicate any provided seeder file paths are pre-resolved absolute paths'], - ]; - } - - protected function getSeederPath(): string - { - if (! is_null($targetPath = $this->input->getOption('path'))) { - return ! $this->usingRealPath() - ? BASE_PATH . '/' . $targetPath - : $targetPath; - } - - return BASE_PATH . '/app/' . ucfirst($this->module) . '/Database/Seeders'; - } - -} diff --git a/builder/Command/Seeder/MineSeederRun.php b/builder/Command/Seeder/MineSeederRun.php deleted file mode 100644 index 5562864..0000000 --- a/builder/Command/Seeder/MineSeederRun.php +++ /dev/null @@ -1,120 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Command\Seeder; - -use Hyperf\Command\Annotation\Command; -use Hyperf\Command\ConfirmableTrait; -use Hyperf\Database\Commands\Seeders\BaseCommand; -use Hyperf\Database\Seeders\Seed; -use Symfony\Component\Console\Input\InputArgument; -use Symfony\Component\Console\Input\InputOption; - -/** - * Class MineSeederRun - * @package System\Command\Seeder - */ -#[Command] -class MineSeederRun extends BaseCommand -{ - use ConfirmableTrait; - - /** - * The console command name. - * - * @var string|null - */ - protected ?string $name = 'mine:seeder-run'; - - /** - * The console command description. - * - * @var string - */ - protected string $description = 'Seed the database with records'; - - /** - * The seed instance. - * - * @var Seed - */ - protected Seed $seed; - - protected string $module; - - /** - * Create a new seed command instance. - * @param Seed $seed - */ - public function __construct(Seed $seed) - { - parent::__construct(); - - $this->seed = $seed; - - $this->setDescription('The run seeder class of MineAdmin module'); - } - - /** - * Handle the current command. - */ - public function handle() - { - if (! $this->confirmToProceed()) { - return; - } - - $this->module = ucfirst(trim($this->input->getArgument('name'))); - - $this->seed->setOutput($this->output); - - if ($this->input->hasOption('database') && $this->input->getOption('database')) { - $this->seed->setConnection($this->input->getOption('database')); - } - - $this->seed->run([$this->getSeederPath()]); - } - - protected function getArguments(): array - { - return [ - ['name', InputArgument::REQUIRED, 'The run seeder class of the name'], - ]; - } - - /** - * Get the console command options. - * - * @return array - */ - protected function getOptions(): array - { - return [ - ['path', null, InputOption::VALUE_OPTIONAL, 'The location where the seeders file stored'], - ['realpath', null, InputOption::VALUE_NONE, 'Indicate any provided seeder file paths are pre-resolved absolute paths'], - ['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to seed'], - ['force', null, InputOption::VALUE_NONE, 'Force the operation to run when in production'], - ]; - } - - - protected function getSeederPath(): string - { - if (! is_null($targetPath = $this->input->getOption('path'))) { - return ! $this->usingRealPath() - ? BASE_PATH . '/' . $targetPath - : $targetPath; - } - - return BASE_PATH . '/app/' . $this->module . '/Database/Seeders'; - } -} diff --git a/builder/Command/UpdateProjectCommand.php b/builder/Command/UpdateProjectCommand.php deleted file mode 100644 index b57de0b..0000000 --- a/builder/Command/UpdateProjectCommand.php +++ /dev/null @@ -1,87 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); - -namespace Builder\Command; - -use Hyperf\Command\Annotation\Command; -use Hyperf\Database\Seeders\Seed; -use Hyperf\Database\Migrations\Migrator; -use Builder\MineCommand; -use Builder\Mine; - -/** - * Class UpdateProjectCommand - * @package System\Command - */ -#[Command] -class UpdateProjectCommand extends MineCommand -{ - /** - * 更新项目命令 - * @var string|null - */ - protected ?string $name = 'mine:update'; - - protected array $database = []; - - protected Seed $seed; - - protected Migrator $migrator; - - /** - * UpdateProjectCommand constructor. - * @param Migrator $migrator - * @param Seed $seed - */ - public function __construct(Migrator $migrator, Seed $seed) - { - parent::__construct(); - $this->migrator = $migrator; - $this->seed = $seed; - } - - public function configure() - { - parent::configure(); - $this->setHelp('run "php bin/hyperf.php mine:update" Update MineAdmin system'); - $this->setDescription('MineAdmin system update command'); - } - - /** - * @throws \Throwable - */ - public function handle() - { - $modules = make(Mine::class)->getModuleInfo(); - $basePath = BASE_PATH . '/app/'; - $this->migrator->setConnection('default'); - - foreach ($modules as $name => $module) { - $seedPath = $basePath . $name . '/Database/Seeders/Update'; - $migratePath = $basePath . $name . '/Database/Migrations/Update'; - - if (is_dir($migratePath)) { - $this->migrator->run([$migratePath]); - } - - if (is_dir($seedPath)) { - $this->seed->run([$seedPath]); - } - } - - redis()->flushDB(); - - $this->line($this->getGreenText('updated successfully...')); - } -} diff --git a/builder/Crontab/MineCrontabManage.php b/builder/Crontab/MineCrontabManage.php index a9a7aec..200046a 100644 --- a/builder/Crontab/MineCrontabManage.php +++ b/builder/Crontab/MineCrontabManage.php @@ -18,7 +18,7 @@ use Hyperf\Redis\Redis; use Psr\Container\ContainerInterface; use App\System\Model\SettingCrontab; -use Builder\MineModel; +use Builder\BaseModel; /** * 定时任务管理器 * Class MineCrontabManage @@ -73,7 +73,7 @@ class MineCrontabManage if ($data === false) { $data = SettingCrontab::query() - ->where('status', MineModel::ENABLE) + ->where('status', BaseModel::ENABLE) ->get(explode(',', 'id,name,type,target,rule,parameter'))->toArray(); $this->redis->set($prefix . 'crontab', serialize($data)); } else { diff --git a/builder/Crontab/MineExecutor.php b/builder/Crontab/MineExecutor.php index 83e0355..1ee980e 100644 --- a/builder/Crontab/MineExecutor.php +++ b/builder/Crontab/MineExecutor.php @@ -26,7 +26,7 @@ use Builder\Crontab\Mutex\RedisServerMutex; use Builder\Crontab\Mutex\RedisTaskMutex; use Builder\Crontab\Mutex\ServerMutex; use Builder\Crontab\Mutex\TaskMutex; -use Builder\MineModel; +use Builder\BaseModel; use App\System\Model\SettingCrontab; use App\System\Service\SettingCrontabLogService; @@ -250,7 +250,7 @@ class MineExecutor 'target' => $crontab->getCallback(), 'parameter' => $crontab->getParameter(), 'exception_info' => $result, - 'status' => $isSuccess ? MineModel::ENABLE : MineModel::DISABLE, + 'status' => $isSuccess ? BaseModel::ENABLE : BaseModel::DISABLE, 'created_at' => date('Y-m-d H:i:s') ]; $logService->save($data); diff --git a/builder/Exception/Handler/AppExceptionHandler.php b/builder/Exception/Handler/AppExceptionHandler.php index d07ab44..eea02af 100644 --- a/builder/Exception/Handler/AppExceptionHandler.php +++ b/builder/Exception/Handler/AppExceptionHandler.php @@ -32,7 +32,7 @@ class AppExceptionHandler extends ExceptionHandler public function __construct() { $this->console = console(); - $this->logger = container()->get(LoggerFactory::class)->get('mineAdmin'); + $this->logger = container()->get(LoggerFactory::class)->get('uiview'); } public function handle(Throwable $throwable, ResponseInterface $response): ResponseInterface diff --git a/builder/Exception/Handler/NoPermissionExceptionHandler.php b/builder/Exception/Handler/NoPermissionExceptionHandler.php index 4ce7edc..272680a 100644 --- a/builder/Exception/Handler/NoPermissionExceptionHandler.php +++ b/builder/Exception/Handler/NoPermissionExceptionHandler.php @@ -17,7 +17,7 @@ use Hyperf\ExceptionHandler\ExceptionHandler; use Hyperf\HttpMessage\Stream\SwooleStream; use Hyperf\Utils\Codec\Json; use Builder\Exception\NoPermissionException; -use Builder\Helper\MineCode; +use Builder\Helper\BaseCode; use Psr\Http\Message\ResponseInterface; use Throwable; @@ -33,7 +33,7 @@ class NoPermissionExceptionHandler extends ExceptionHandler $format = [ 'success' => false, 'message' => $throwable->getMessage(), - 'code' => MineCode::NO_PERMISSION, + 'code' => BaseCode::NO_PERMISSION, ]; return $response->withHeader('Server', 'MineAdmin') ->withAddedHeader('content-type', 'application/json; charset=utf-8') diff --git a/builder/Exception/Handler/TokenExceptionHandler.php b/builder/Exception/Handler/TokenExceptionHandler.php index dbaf5f2..9c26dab 100644 --- a/builder/Exception/Handler/TokenExceptionHandler.php +++ b/builder/Exception/Handler/TokenExceptionHandler.php @@ -17,7 +17,7 @@ use Hyperf\ExceptionHandler\ExceptionHandler; use Hyperf\HttpMessage\Stream\SwooleStream; use Hyperf\Utils\Codec\Json; use Builder\Exception\TokenException; -use Builder\Helper\MineCode; +use Builder\Helper\BaseCode; use Psr\Http\Message\ResponseInterface; use Throwable; @@ -33,7 +33,7 @@ class TokenExceptionHandler extends ExceptionHandler $format = [ 'success' => false, 'message' => $throwable->getMessage(), - 'code' => MineCode::TOKEN_EXPIRED, + 'code' => BaseCode::TOKEN_EXPIRED, ]; return $response->withHeader('Server', 'MineAdmin') ->withAddedHeader('content-type', 'application/json; charset=utf-8') diff --git a/builder/Exception/Handler/ValidationExceptionHandler.php b/builder/Exception/Handler/ValidationExceptionHandler.php index 641d338..b6f9c2e 100644 --- a/builder/Exception/Handler/ValidationExceptionHandler.php +++ b/builder/Exception/Handler/ValidationExceptionHandler.php @@ -17,7 +17,7 @@ use Hyperf\ExceptionHandler\ExceptionHandler; use Hyperf\HttpMessage\Stream\SwooleStream; use Hyperf\Utils\Codec\Json; use Hyperf\Validation\ValidationException; -use Builder\Helper\MineCode; +use Builder\Helper\BaseCode; use Psr\Http\Message\ResponseInterface; use Throwable; @@ -31,7 +31,7 @@ class ValidationExceptionHandler extends ExceptionHandler $format = [ 'success' => false, 'message' => $body, - 'code' => MineCode::VALIDATE_FAILED, + 'code' => BaseCode::VALIDATE_FAILED, ]; return $response->withHeader('Server', 'MineAdmin') ->withAddedHeader('content-type', 'application/json; charset=utf-8') diff --git a/builder/MineFormRequest.php b/builder/FormRequest.php similarity index 93% rename from builder/MineFormRequest.php rename to builder/FormRequest.php index 02cf46e..c34ae86 100644 --- a/builder/MineFormRequest.php +++ b/builder/FormRequest.php @@ -12,9 +12,9 @@ declare(strict_types=1); */ namespace Builder; -use Hyperf\Validation\Request\FormRequest; +use Hyperf\Validation\Request\FormRequest as rForm; -class MineFormRequest extends FormRequest +class FormRequest extends rForm { /** * Determine if the user is authorized to make this request. diff --git a/builder/Generator/ApiGenerator.php b/builder/Generator/ApiGenerator.php deleted file mode 100644 index 630da15..0000000 --- a/builder/Generator/ApiGenerator.php +++ /dev/null @@ -1,220 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Generator; - -use App\Setting\Model\SettingGenerateTables; -use Hyperf\Utils\Filesystem\Filesystem; -use Builder\Exception\NormalStatusException; -use Builder\Helper\Str; - -/** - * JS API文件生成 - * Class ApiGenerator - * @package Builder\Generator - */ -class ApiGenerator extends MineGenerator implements CodeGenerator -{ - /** - * @var SettingGenerateTables - */ - protected SettingGenerateTables $model; - - /** - * @var string - */ - protected string $codeContent; - - /** - * @var Filesystem - */ - protected Filesystem $filesystem; - - /** - * 设置生成信息 - * @param SettingGenerateTables $model - * @return ApiGenerator - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - public function setGenInfo(SettingGenerateTables $model): ApiGenerator - { - $this->model = $model; - $this->filesystem = make(Filesystem::class); - if (empty($model->module_name) || empty($model->menu_name)) { - throw new NormalStatusException(t('setting.gen_code_edit')); - } - return $this->placeholderReplace(); - } - - /** - * 生成代码 - */ - public function generator(): void - { - $filename = Str::camel(str_replace(env('DB_PREFIX'), '', $this->model->table_name)); - $module = Str::lower($this->model->module_name); - $this->filesystem->makeDirectory(BASE_PATH . "/runtime/generate/vue/src/api/{$module}", 0755, true, true); - $path = BASE_PATH . "/runtime/generate/vue/src/api/{$module}/{$filename}.js"; - $this->filesystem->put($path, $this->replace()->getCodeContent()); - } - - /** - * 预览代码 - */ - public function preview(): string - { - return $this->replace()->getCodeContent(); - } - - /** - * 获取模板地址 - * @return string - */ - protected function getTemplatePath(): string - { - return $this->getStubDir().'/Api/main.stub'; - } - - /** - * 读取模板内容 - * @return string - */ - protected function readTemplate(): string - { - return $this->filesystem->sharedGet($this->getTemplatePath()); - } - - /** - * 占位符替换 - */ - protected function placeholderReplace(): ApiGenerator - { - $this->setCodeContent(str_replace( - $this->getPlaceHolderContent(), - $this->getReplaceContent(), - $this->readTemplate() - )); - - return $this; - } - - /** - * 获取要替换的占位符 - */ - protected function getPlaceHolderContent(): array - { - return [ - '{LOAD_API}', - '{COMMENT}', - '{BUSINESS_NAME}', - '{REQUEST_ROUTE}', - ]; - } - - /** - * 获取要替换占位符的内容 - */ - protected function getReplaceContent(): array - { - return [ - $this->getLoadApi(), - $this->getComment(), - $this->getBusinessName(), - $this->getRequestRoute(), - ]; - } - - protected function getLoadApi(): string - { - $menus = $this->model->generate_menus ? explode(',', $this->model->generate_menus) : []; - $ignoreMenus = ['realDelete', 'recovery']; - - array_unshift($menus, $this->model->type === 'single' ? 'singleList' : 'treeList'); - - foreach ($ignoreMenus as $menu) { - if (in_array($menu, $menus)) { - unset($menus[array_search($menu, $menus)]); - } - } - - $jsCode = ''; - $path = $this->getStubDir() . '/Api/'; - foreach ($menus as $menu) { - $content = $this->filesystem->sharedGet($path . $menu . '.stub'); - $jsCode .= $content; - } - - return $jsCode; - } - - /** - * 获取控制器注释 - * @return string - */ - protected function getComment(): string - { - return $this->getBusinessName(). ' API JS'; - } - - /** - * 获取请求路由 - * @return string - */ - protected function getRequestRoute(): string - { - return Str::lower($this->model->module_name) . '/' . $this->getShortBusinessName(); - } - - /** - * 获取业务名称 - * @return string - */ - protected function getBusinessName(): string - { - return $this->model->menu_name; - } - - /** - * 获取短业务名称 - * @return string - */ - public function getShortBusinessName(): string - { - return Str::camel(str_replace( - Str::lower($this->model->module_name), - '', - str_replace(env('DB_PREFIX'), '', $this->model->table_name) - )); - } - - /** - * 设置代码内容 - * @param string $content - */ - public function setCodeContent(string $content) - { - $this->codeContent = $content; - } - - /** - * 获取代码内容 - * @return string - */ - public function getCodeContent(): string - { - return $this->codeContent; - } - -} \ No newline at end of file diff --git a/builder/Generator/CodeGenerator.php b/builder/Generator/CodeGenerator.php deleted file mode 100644 index c21fbd6..0000000 --- a/builder/Generator/CodeGenerator.php +++ /dev/null @@ -1,20 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Generator; - -interface CodeGenerator -{ - public function generator(); - - public function preview(); -} \ No newline at end of file diff --git a/builder/Generator/ControllerGenerator.php b/builder/Generator/ControllerGenerator.php deleted file mode 100644 index 7e1a8fa..0000000 --- a/builder/Generator/ControllerGenerator.php +++ /dev/null @@ -1,416 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Generator; - -use App\Setting\Model\SettingGenerateColumns; -use App\Setting\Model\SettingGenerateTables; -use Hyperf\Utils\Filesystem\Filesystem; -use Builder\Exception\NormalStatusException; -use Builder\Helper\Str; - -/** - * 控制器生成 - * Class ControllerGenerator - * @package Builder\Generator - */ -class ControllerGenerator extends MineGenerator implements CodeGenerator -{ - /** - * @var SettingGenerateTables - */ - protected SettingGenerateTables $model; - - /** - * @var string - */ - protected string $codeContent; - - /** - * @var Filesystem - */ - protected Filesystem $filesystem; - - /** - * 设置生成信息 - * @param SettingGenerateTables $model - * @return ControllerGenerator - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - public function setGenInfo(SettingGenerateTables $model): ControllerGenerator - { - $this->model = $model; - $this->filesystem = make(Filesystem::class); - if (empty($model->module_name) || empty($model->menu_name)) { - throw new NormalStatusException(t('setting.gen_code_edit')); - } - $this->setNamespace($this->model->namespace); - return $this->placeholderReplace(); - } - - /** - * 生成代码 - */ - public function generator(): void - { - $module = Str::title($this->model->module_name[0]) . mb_substr($this->model->module_name, 1); - if ($this->model->generate_type === 1) { - $path = BASE_PATH . "/runtime/generate/php/app/{$module}/Controller/"; - } else { - $path = BASE_PATH . "/app/{$module}/Controller/"; - } - if (!empty($this->model->package_name)) { - $path .= Str::title($this->model->package_name) . '/'; - } - $this->filesystem->exists($path) || $this->filesystem->makeDirectory($path, 0755, true, true); - $this->filesystem->put($path . "{$this->getClassName()}.php", $this->replace()->getCodeContent()); - } - - /** - * 预览代码 - */ - public function preview(): string - { - return $this->replace()->getCodeContent(); - } - - /** - * 获取生成控制器的类型 - * @return string - */ - public function getType(): string - { - return ucfirst($this->model->type); - } - - /** - * 获取控制器模板地址 - * @return string - */ - protected function getTemplatePath(): string - { - return $this->getStubDir() . 'Controller/main.stub'; - } - - /** - * 读取模板内容 - * @return string - */ - protected function readTemplate(): string - { - return $this->filesystem->sharedGet($this->getTemplatePath()); - } - - /** - * 占位符替换 - */ - protected function placeholderReplace(): ControllerGenerator - { - $this->setCodeContent(str_replace( - $this->getPlaceHolderContent(), - $this->getReplaceContent(), - $this->readTemplate() - )); - - return $this; - } - - /** - * 获取要替换的占位符 - */ - protected function getPlaceHolderContent(): array - { - return [ - '{NAMESPACE}', - '{COMMENT}', - '{USE}', - '{CLASS_NAME}', - '{SERVICE}', - '{CONTROLLER_ROUTE}', - '{FUNCTIONS}', - '{REQUEST}', - '{INDEX_PERMISSION}', - '{RECYCLE_PERMISSION}', - '{SAVE_PERMISSION}', - '{READ_PERMISSION}', - '{UPDATE_PERMISSION}', - '{DELETE_PERMISSION}', - '{REAL_DELETE_PERMISSION}', - '{RECOVERY_PERMISSION}', - '{IMPORT_PERMISSION}', - '{EXPORT_PERMISSION}', - '{DTO_CLASS}', - '{PK}', - '{STATUS_VALUE}', - '{STATUS_FIELD}', - '{NUMBER_FIELD}', - '{NUMBER_TYPE}', - '{NUMBER_VALUE}', - ]; - - - } - - /** - * 获取要替换占位符的内容 - */ - protected function getReplaceContent(): array - { - return [ - $this->initNamespace(), - $this->getComment(), - $this->getUse(), - $this->getClassName(), - $this->getServiceName(), - $this->getControllerRoute(), - $this->getFunctions(), - $this->getRequestName(), - sprintf('%s, %s', Str::lower($this->model->module_name).':'.$this->getShortBusinessName(), $this->getMethodRoute('index')), - $this->getMethodRoute('recycle'), - $this->getMethodRoute('save'), - $this->getMethodRoute('read'), - $this->getMethodRoute('update'), - $this->getMethodRoute('delete'), - $this->getMethodRoute('realDelete'), - $this->getMethodRoute('recovery'), - $this->getMethodRoute('import'), - $this->getMethodRoute('export'), - $this->getDtoClass(), - $this->getPk(), - $this->getStatusValue(), - $this->getStatusField(), - $this->getNumberField(), - $this->getNumberType(), - $this->getNumberValue(), - ]; - } - - /** - * 初始化控制器命名空间 - * @return string - */ - protected function initNamespace(): string - { - $namespace = $this->getNamespace() . "\\Controller"; - if (!empty($this->model->package_name)) { - return $namespace . "\\" . Str::title($this->model->package_name); - } - return $namespace; - } - - /** - * 获取控制器注释 - * @return string - */ - protected function getComment(): string - { - return $this->model->menu_name . '控制器'; - } - - /** - * 获取使用的类命名空间 - * @return string - */ - protected function getUse(): string - { - return <<getNamespace()}\\Service\\{$this->getBusinessName()}Service; -use {$this->getNamespace()}\\Request\\{$this->getBusinessName()}Request; -UseNamespace; - } - - /** - * 获取控制器类名称 - * @return string - */ - protected function getClassName(): string - { - return $this->getBusinessName() . 'Controller'; - } - - /** - * 获取服务类名称 - * @return string - */ - protected function getServiceName(): string - { - return $this->getBusinessName() . 'Service'; - } - - /** - * 获取控制器路由 - * @return string - */ - protected function getControllerRoute(): string - { - return sprintf( - '%s/%s', - Str::lower($this->model->module_name), - $this->getShortBusinessName() - ); - } - - /** - * @return string - */ - protected function getFunctions(): string - { - $menus = $this->model->generate_menus ? explode(',', $this->model->generate_menus) : []; - $otherMenu = [$this->model->type === 'single' ? 'singleList' : 'treeList']; - if (in_array('recycle', $menus)) { - $otherMenu[] = $this->model->type === 'single' ? 'singleRecycleList' : 'treeRecycleList'; - array_push($otherMenu, ...['realDelete', 'recovery']); - unset($menus[array_search('recycle', $menus)]); - } - array_unshift($menus, ...$otherMenu); - $phpCode = ''; - $path = $this->getStubDir() . 'Controller/'; - foreach ($menus as $menu) { - $content = $this->filesystem->sharedGet($path . $menu . '.stub'); - $phpCode .= $content; - } - return $phpCode; - } - - /** - * 获取方法路由 - * @param string $route - * @return string - */ - protected function getMethodRoute(string $route): string - { - return sprintf( - '%s:%s:%s', - Str::lower($this->model->module_name), - $this->getShortBusinessName(), - $route - ); - } - - /** - * @return string - */ - protected function getDtoClass(): string - { - return sprintf( - "\%s\Dto\%s::class", - $this->model->namespace, - $this->getBusinessName() . 'Dto' - ); - } - - /** - * @return string - */ - protected function getPk(): string - { - return SettingGenerateColumns::query() - ->where('table_id', $this->model->id) - ->where('is_pk', self::YES) - ->value('column_name'); - } - - /** - * @return string - */ - protected function getStatusValue(): string - { - return 'statusValue'; - } - - /** - * @return string - */ - protected function getStatusField(): string - { - return 'statusName'; - } - - /** - * @return string - */ - protected function getNumberField(): string - { - return 'numberName'; - } - - /** - * @return string - */ - protected function getNumberType(): string - { - return 'numberType'; - } - - /** - * @return string - */ - protected function getNumberValue(): string - { - return 'numberValue'; - } - - /** - * 获取验证器 - * @return string - */ - protected function getRequestName(): string - { - return $this->getBusinessName(). 'Request'; - } - - /** - * 获取业务名称 - * @return string - */ - public function getBusinessName(): string - { - return Str::studly(str_replace(env('DB_PREFIX'), '', $this->model->table_name)); - } - - /** - * 获取短业务名称 - * @return string - */ - public function getShortBusinessName(): string - { - return Str::camel(str_replace( - Str::lower($this->model->module_name), - '', - str_replace(env('DB_PREFIX'), '', $this->model->table_name) - )); - } - - - /** - * 设置代码内容 - * @param string $content - */ - public function setCodeContent(string $content) - { - $this->codeContent = $content; - } - - /** - * 获取代码内容 - * @return string - */ - public function getCodeContent(): string - { - return $this->codeContent; - } - -} \ No newline at end of file diff --git a/builder/Generator/DtoGenerator.php b/builder/Generator/DtoGenerator.php deleted file mode 100644 index ff9d6cd..0000000 --- a/builder/Generator/DtoGenerator.php +++ /dev/null @@ -1,227 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Generator; - -use App\Setting\Model\SettingGenerateColumns; -use App\Setting\Model\SettingGenerateTables; -use Hyperf\Database\Model\Collection; -use Hyperf\Utils\Filesystem\Filesystem; -use Builder\Exception\NormalStatusException; -use Builder\Helper\Str; - -class DtoGenerator extends MineGenerator implements CodeGenerator -{ - /** - * @var SettingGenerateTables - */ - protected SettingGenerateTables $model; - - /** - * @var string - */ - protected string $codeContent; - - /** - * @var Filesystem - */ - protected Filesystem $filesystem; - - /** - * @var Collection - */ - protected Collection $columns; - - /** - * 设置生成信息 - * @param SettingGenerateTables $model - * @return DtoGenerator - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - public function setGenInfo(SettingGenerateTables $model): DtoGenerator - { - $this->model = $model; - $this->filesystem = make(Filesystem::class); - if (empty($model->module_name) || empty($model->menu_name)) { - throw new NormalStatusException(t('setting.gen_code_edit')); - } - $this->setNamespace($this->model->namespace); - - $this->columns = SettingGenerateColumns::query() - ->where('table_id', $model->id)->orderByDesc('sort') - ->get([ 'column_name', 'column_comment' ]); - - return $this->placeholderReplace(); - } - - /** - * 生成代码 - */ - public function generator(): void - { - $module = Str::title($this->model->module_name[0]) . mb_substr($this->model->module_name, 1); - if ($this->model->generate_type === 1) { - $path = BASE_PATH . "/runtime/generate/php/app/{$module}/Dto/"; - } else { - $path = BASE_PATH . "/app/{$module}/Dto/"; - } - $this->filesystem->exists($path) || $this->filesystem->makeDirectory($path, 0755, true, true); - $this->filesystem->put($path . "{$this->getClassName()}.php", $this->replace()->getCodeContent()); - } - - /** - * @return string - */ - public function preview(): string - { - return $this->replace()->getCodeContent(); - } - - - /** - * 获取模板地址 - * @return string - */ - protected function getTemplatePath(): string - { - return $this->getStubDir().'/dto.stub'; - } - - /** - * 读取模板内容 - * @return string - */ - protected function readTemplate(): string - { - return $this->filesystem->sharedGet($this->getTemplatePath()); - } - - /** - * 占位符替换 - */ - protected function placeholderReplace(): DtoGenerator - { - $this->setCodeContent(str_replace( - $this->getPlaceHolderContent(), - $this->getReplaceContent(), - $this->readTemplate() - )); - - return $this; - } - - /** - * 获取要替换的占位符 - */ - protected function getPlaceHolderContent(): array - { - return [ - '{NAMESPACE}', - '{COMMENT}', - '{CLASS_NAME}', - '{LIST}', - ]; - } - - /** - * 获取要替换占位符的内容 - */ - protected function getReplaceContent(): array - { - return [ - $this->initNamespace(), - $this->getComment(), - $this->getClassName(), - $this->getList(), - ]; - } - - /** - * 初始化命名空间 - * @return string - */ - protected function initNamespace(): string - { - return $this->getNamespace() . "\\Dto"; - } - - /** - * 获取控制器注释 - * @return string - */ - protected function getComment(): string - { - return $this->model->menu_name. 'Dto (导入导出)'; - } - - /** - * 获取类名称 - * @return string - */ - protected function getClassName(): string - { - return $this->getBusinessName().'Dto'; - } - - /** - * @return string - */ - protected function getList(): string - { - $phpCode = ''; - foreach ($this->columns as $index => $column) { - $phpCode .= str_replace( - ['NAME', 'INDEX', 'FIELD'], - [$column['column_comment'] ?: $column['column_name'], $index, $column['column_name']], - $this->getCodeTemplate() - ); - } - return $phpCode; - } - - protected function getCodeTemplate(): string - { - return sprintf( - " %s\n %s\n\n", - '#[ExcelProperty(value: "NAME", index: INDEX)]', - 'public string $FIELD;' - ); - } - - /** - * 获取业务名称 - * @return string - */ - public function getBusinessName(): string - { - return Str::studly(str_replace(env('DB_PREFIX'), '', $this->model->table_name)); - } - - /** - * 设置代码内容 - * @param string $content - */ - public function setCodeContent(string $content) - { - $this->codeContent = $content; - } - - /** - * 获取代码内容 - * @return string - */ - public function getCodeContent(): string - { - return $this->codeContent; - } -} \ No newline at end of file diff --git a/builder/Generator/MapperGenerator.php b/builder/Generator/MapperGenerator.php deleted file mode 100644 index 9cee8b4..0000000 --- a/builder/Generator/MapperGenerator.php +++ /dev/null @@ -1,311 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Generator; - -use App\Setting\Model\SettingGenerateColumns; -use App\Setting\Model\SettingGenerateTables; -use App\Setting\Service\SettingGenerateColumnsService; -use Hyperf\Utils\Filesystem\Filesystem; -use Builder\Exception\NormalStatusException; -use Builder\Generator\Traits\MapperGeneratorTraits; -use Builder\Helper\Str; - -/** - * Mapper类生成 - * Class MapperGenerator - * @package Builder\Generator - */ -class MapperGenerator extends MineGenerator implements CodeGenerator -{ - use MapperGeneratorTraits; - - /** - * @var SettingGenerateTables - */ - protected SettingGenerateTables $model; - - /** - * @var string - */ - protected string $codeContent; - - /** - * @var Filesystem - */ - protected Filesystem $filesystem; - - /** - * 设置生成信息 - * @param SettingGenerateTables $model - * @return MapperGenerator - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - public function setGenInfo(SettingGenerateTables $model): MapperGenerator - { - $this->model = $model; - $this->filesystem = make(Filesystem::class); - if (empty($model->module_name) || empty($model->menu_name)) { - throw new NormalStatusException(t('setting.gen_code_edit')); - } - $this->setNamespace($this->model->namespace); - return $this->placeholderReplace(); - } - - /** - * 生成代码 - */ - public function generator(): void - { - $module = Str::title($this->model->module_name[0]) . mb_substr($this->model->module_name, 1); - if ($this->model->generate_type === 1) { - $path = BASE_PATH . "/runtime/generate/php/app/{$module}/Mapper/"; - } else { - $path = BASE_PATH . "/app/{$module}/Mapper/"; - } - $this->filesystem->exists($path) || $this->filesystem->makeDirectory($path, 0755, true, true); - $this->filesystem->put($path . "{$this->getClassName()}.php", $this->replace()->getCodeContent()); - } - - /** - * 预览代码 - */ - public function preview(): string - { - return $this->replace()->getCodeContent(); - } - - /** - * 获取生成的类型 - * @return string - */ - public function getType(): string - { - return ucfirst($this->model->type); - } - - /** - * 获取模板地址 - * @return string - */ - protected function getTemplatePath(): string - { - return $this->getStubDir().$this->getType().'/mapper.stub'; - } - - /** - * 读取模板内容 - * @return string - */ - protected function readTemplate(): string - { - return $this->filesystem->sharedGet($this->getTemplatePath()); - } - - /** - * 占位符替换 - */ - protected function placeholderReplace(): MapperGenerator - { - $this->setCodeContent(str_replace( - $this->getPlaceHolderContent(), - $this->getReplaceContent(), - $this->readTemplate() - )); - - return $this; - } - - /** - * 获取要替换的占位符 - */ - protected function getPlaceHolderContent(): array - { - return [ - '{NAMESPACE}', - '{USE}', - '{COMMENT}', - '{CLASS_NAME}', - '{MODEL}', - '{FIELD_ID}', - '{FIELD_PID}', - '{FIELD_NAME}', - '{SEARCH}' - ]; - } - - /** - * 获取要替换占位符的内容 - */ - protected function getReplaceContent(): array - { - return [ - $this->initNamespace(), - $this->getUse(), - $this->getComment(), - $this->getClassName(), - $this->getModelName(), - $this->getFieldIdName(), - $this->getFieldPidName(), - $this->getFieldName(), - $this->getSearch() - ]; - } - - /** - * 初始化服务类命名空间 - * @return string - */ - protected function initNamespace(): string - { - return $this->getNamespace() . "\\Mapper"; - } - - /** - * 获取控制器注释 - * @return string - */ - protected function getComment(): string - { - return $this->model->menu_name. 'Mapper类'; - } - - /** - * 获取使用的类命名空间 - * @return string - */ - protected function getUse(): string - { - return <<getNamespace()}\\Model\\{$this->getBusinessName()}; -UseNamespace; - } - - /** - * 获取类名称 - * @return string - */ - protected function getClassName(): string - { - return $this->getBusinessName().'Mapper'; - } - - /** - * 获取Model类名称 - * @return string - */ - protected function getModelName(): string - { - return $this->getBusinessName(); - } - - /** - * 获取树表ID - * @return string - */ - protected function getFieldIdName(): string - { - if ($this->getType() == 'Tree') { - if ( $this->model->options['tree_id'] ?? false ) { - return $this->model->options['tree_id']; - } else { - return 'id'; - } - } - return ''; - } - - /** - * 获取树表父ID - * @return string - */ - protected function getFieldPidName(): string - { - if ($this->getType() == 'Tree') { - if ( $this->model->options['tree_pid'] ?? false ) { - return $this->model->options['tree_pid']; - } else { - return 'parent_id'; - } - } - return ''; - } - - /** - * 获取树表显示名称 - * @return string - */ - protected function getFieldName(): string - { - if ($this->getType() == 'Tree') { - if ( $this->model->options['tree_name'] ?? false ) { - return $this->model->options['tree_name']; - } else { - return 'name'; - } - } - return ''; - } - - /** - * 获取搜索内容 - * @return string - */ - protected function getSearch(): string - { - /* @var SettingGenerateColumns $model */ - $model = make(SettingGenerateColumnsService::class)->mapper->getModel(); - $columns = $model->newQuery() - ->where('table_id', $this->model->id) - ->where('is_query', self::YES) - ->get(['column_name', 'column_comment', 'query_type'])->toArray(); - - $phpContent = ''; - foreach ($columns as $column) { - $phpContent .= $this->getSearchCode($column); - } - - return $phpContent; - } - - /** - * 获取业务名称 - * @return string - */ - public function getBusinessName(): string - { - return Str::studly(str_replace(env('DB_PREFIX'), '', $this->model->table_name)); - } - - - /** - * 设置代码内容 - * @param string $content - */ - public function setCodeContent(string $content) - { - $this->codeContent = $content; - } - - /** - * 获取代码内容 - * @return string - */ - public function getCodeContent(): string - { - return $this->codeContent; - } - -} \ No newline at end of file diff --git a/builder/Generator/MineGenerator.php b/builder/Generator/MineGenerator.php deleted file mode 100644 index f55f905..0000000 --- a/builder/Generator/MineGenerator.php +++ /dev/null @@ -1,77 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Generator; - -use Psr\Container\ContainerInterface; - -abstract class MineGenerator -{ - /** - * @var string - */ - protected string $stubDir; - - /** - * @var string - */ - protected string $namespace; - - /** - * @var ContainerInterface - */ - protected ContainerInterface $container; - - public const NO = 1; - public const YES = 2; - - /** - * MineGenerator constructor. - * @param ContainerInterface $container - */ - public function __construct(ContainerInterface $container) - { - $this->setStubDir(BASE_PATH . '/mine/Generator/Stubs/'); - $this->container = $container; - } - - public function getStubDir(): string - { - return $this->stubDir; - } - - public function setStubDir(string $stubDir) - { - $this->stubDir = $stubDir; - } - - /** - * @return string - */ - public function getNamespace(): string - { - return $this->namespace; - } - - /** - * @param mixed $namespace - */ - public function setNamespace(string $namespace): void - { - $this->namespace = $namespace; - } - - public function replace(): self - { - return $this; - } -} \ No newline at end of file diff --git a/builder/Generator/ModelGenerator.php b/builder/Generator/ModelGenerator.php deleted file mode 100644 index 0fecf6a..0000000 --- a/builder/Generator/ModelGenerator.php +++ /dev/null @@ -1,304 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Generator; - -use App\Setting\Model\SettingGenerateTables; -use App\Setting\Service\SettingGenerateColumnsService; -use Hyperf\Utils\Filesystem\Filesystem; -use Builder\Exception\NormalStatusException; -use Builder\Helper\Str; -use Symfony\Component\Console\Input\ArrayInput; -use Symfony\Component\Console\Output\NullOutput; - -/** - * 模型生成 - * Class ModelGenerator - * @package Builder\Generator - */ -class ModelGenerator extends MineGenerator implements CodeGenerator -{ - /** - * @var SettingGenerateTables - */ - protected SettingGenerateTables $model; - - /** - * @var string - */ - protected string $codeContent; - - /** - * @var Filesystem - */ - protected Filesystem $filesystem; - - /** - * 设置生成信息 - * @param SettingGenerateTables $model - * @return ModelGenerator - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - public function setGenInfo(SettingGenerateTables $model): ModelGenerator - { - $this->model = $model; - $this->filesystem = make(Filesystem::class); - if (empty($model->module_name) || empty($model->menu_name)) { - throw new NormalStatusException(t('setting.gen_code_edit')); - } - $this->setNamespace($this->model->namespace); - return $this; - } - - /** - * 生成代码 - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - public function generator(): void - { - $module = Str::title($this->model->module_name[0]) . mb_substr($this->model->module_name, 1); - if ($this->model->generate_type === 1) { - $path = BASE_PATH . "/runtime/generate/php/app/{$module}/Model/"; - } else { - $path = BASE_PATH . "/app/{$module}/Model/"; - } - $this->filesystem->exists($path) || $this->filesystem->makeDirectory($path, 0755, true, true); - - $command = [ - 'command' => 'mine:model-gen', - '--module' => $this->model->module_name, - '--table' => $this->model->table_name - ]; - - if (! Str::contains($this->model->table_name, Str::lower($this->model->module_name))) { - throw new NormalStatusException(t('setting.gen_model_error'), 500); - } - - if (mb_strlen($this->model->table_name) === mb_strlen($this->model->module_name)) { - throw new NormalStatusException(t('setting.gen_model_error'), 500); - } - - $input = new ArrayInput($command); - $output = new NullOutput(); - - /** @var \Symfony\Component\Console\Application $application */ - $application = $this->container->get(\Hyperf\Contract\ApplicationInterface::class); - $application->setAutoExit(false); - - $modelName = Str::studly(str_replace(env('DB_PREFIX'), '', $this->model->table_name)); - - if ($application->run($input, $output) === 0) { - - // 对模型文件处理 - if ($modelName[strlen($modelName) - 1] == 's' && $modelName[strlen($modelName) - 2] != 's') { - $oldName = Str::substr($modelName, 0, (strlen($modelName) - 1)); - $oldPath = BASE_PATH . "/app/{$module}/Model/{$oldName}.php"; - $sourcePath = BASE_PATH . "/app/{$module}/Model/{$modelName}.php"; - $this->filesystem->put( - $sourcePath, - str_replace($oldName, $modelName, $this->filesystem->sharedGet($oldPath)) - ); - @unlink($oldPath); - } else { - $sourcePath = BASE_PATH . "/app/{$module}/Model/{$modelName}.php"; - } - - if (!empty($this->model->options['relations'])) { - $this->filesystem->put( - $sourcePath, - preg_replace('/}$/', $this->getRelations() . "}", $this->filesystem->sharedGet($sourcePath)) - ); - } - - // 压缩包下载 - if ($this->model->generate_type === 1) { - $toPath = BASE_PATH . "/runtime/generate/php/app/{$module}/Model/{$modelName}.php"; - - $isFile = is_file($sourcePath); - - if ($isFile) { - $this->filesystem->copy($sourcePath, $toPath); - } else { - $this->filesystem->move($sourcePath, $toPath); - } - } - } else { - throw new NormalStatusException(t('setting.gen_model_error'), 500); - } - } - - /** - * 预览代码 - */ - public function preview(): string - { - return $this->placeholderReplace()->getCodeContent(); - } - - /** - * 获取控制器模板地址 - * @return string - */ - protected function getTemplatePath(): string - { - return $this->getStubDir().'model.stub'; - } - - /** - * 读取模板内容 - * @return string - */ - protected function readTemplate(): string - { - return $this->filesystem->sharedGet($this->getTemplatePath()); - } - - /** - * 占位符替换 - */ - protected function placeholderReplace(): ModelGenerator - { - $this->setCodeContent(str_replace( - $this->getPlaceHolderContent(), - $this->getReplaceContent(), - $this->readTemplate(), - )); - - return $this; - } - - /** - * 获取要替换的占位符 - */ - protected function getPlaceHolderContent(): array - { - return [ - '{NAMESPACE}', - '{CLASS_NAME}', - '{TABLE_NAME}', - '{FILL_ABLE}', - '{RELATIONS}', - ]; - } - - /** - * 获取要替换占位符的内容 - */ - protected function getReplaceContent(): array - { - return [ - $this->initNamespace(), - $this->getClassName(), - $this->getTableName(), - $this->getFillAble(), - $this->getRelations(), - ]; - } - - /** - * 初始化模型命名空间 - * @return string - */ - protected function initNamespace(): string - { - return $this->getNamespace() . "\\Model"; - } - - /** - * 获取类名称 - * @return string - */ - protected function getClassName(): string - { - return $this->getBusinessName(); - } - - /** - * 获取表名称 - * @return string - */ - protected function getTableName(): string - { - return $this->model->table_name; - } - - /** - * 获取file able - */ - protected function getFillAble(): string - { - $data = make(SettingGenerateColumnsService::class)->getList( - ['select' => 'column_name', 'table_id' => $this->model->id] - ); - $columns = []; - foreach ($data as $column) { - $columns[] = "'".$column['column_name']."'"; - } - - return implode(', ', $columns); - } - - /** - * @return string - */ - protected function getRelations(): string - { - $prefix = env('DB_PREFIX'); - if (!empty($this->model->options['relations'])) { - $path = $this->getStubDir() . 'ModelRelation/'; - $phpCode = ''; - foreach ($this->model->options['relations'] as $relation) { - $content = $this->filesystem->sharedGet($path . $relation['type'] . '.stub'); - $content = str_replace( - [ '{RELATION_NAME}', '{MODEL_NAME}', '{TABLE_NAME}', '{FOREIGN_KEY}', '{LOCAL_KEY}' ], - [ $relation['name'], $relation['model'], str_replace($prefix, '', $relation['table']), $relation['foreignKey'], $relation['localKey'] ], - $content - ); - $phpCode .= $content; - } - return $phpCode; - } - return ''; - } - - /** - * 获取业务名称 - * @return string - */ - public function getBusinessName(): string - { - return Str::studly(str_replace(env('DB_PREFIX'), '', $this->model->table_name)); - } - - - /** - * 设置代码内容 - * @param string $content - */ - public function setCodeContent(string $content) - { - $this->codeContent = $content; - } - - /** - * 获取代码内容 - * @return string - */ - public function getCodeContent(): string - { - return $this->codeContent; - } -} \ No newline at end of file diff --git a/builder/Generator/ModuleGenerator.php b/builder/Generator/ModuleGenerator.php deleted file mode 100644 index d17a785..0000000 --- a/builder/Generator/ModuleGenerator.php +++ /dev/null @@ -1,108 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); - -namespace Builder\Generator; - -use Hyperf\Utils\Filesystem\Filesystem; -use Builder\Mine; - -class ModuleGenerator extends MineGenerator -{ - /** - * @var array - */ - protected array $moduleInfo; - - /** - * 设置模块信息 - * @param array $moduleInfo - * @return $this - */ - public function setModuleInfo(array $moduleInfo): ModuleGenerator - { - $this->moduleInfo = $moduleInfo; - return $this; - } - - /** - * 生成模块基础架构 - */ - public function createModule(): bool - { - if (! ($this->moduleInfo['name'] ?? false)) { - throw new \RuntimeException('模块名称为空'); - } - - $this->moduleInfo['name'] = ucfirst($this->moduleInfo['name']); - - $mine = new Mine; - $mine->scanModule(); - - if (! empty($mine->getModuleInfo($this->moduleInfo['name']))) { - throw new \RuntimeException('同名模块已存在'); - } - - $appPath = BASE_PATH . '/app/'; - $modulePath = $appPath . $this->moduleInfo['name'] . '/'; - - /** @var Filesystem $filesystem */ - $filesystem = make(Filesystem::class); - $filesystem->makeDirectory($appPath . $this->moduleInfo['name']); - - foreach ($this->getGeneratorDirs() as $dir) { - $filesystem->makeDirectory($modulePath . $dir); - } - - $this->createConfigJson($filesystem); - - return true; - } - - /** - * 创建模块JSON文件 - */ - protected function createConfigJson(Filesystem $filesystem) - { - $json = $filesystem->sharedGet($this->getStubDir() . 'config.stub'); - - $content = str_replace( - ['{NAME}','{LABEL}','{DESCRIPTION}', '{VERSION}'], - [ - $this->moduleInfo['name'], - $this->moduleInfo['label'], - $this->moduleInfo['description'], - $this->moduleInfo['version'] - ], - $json - ); - - $filesystem->put(BASE_PATH . '/app/' .$this->moduleInfo['name'] . '/config.json', $content); - } - - /** - * 生成的目录列表 - */ - protected function getGeneratorDirs(): array - { - return [ - 'Controller', - 'Model', - 'Listener', - 'Request', - 'Service', - 'Mapper', - 'Database', - 'Middleware', - ]; - } -} \ No newline at end of file diff --git a/builder/Generator/RequestGenerator.php b/builder/Generator/RequestGenerator.php deleted file mode 100644 index 0b89899..0000000 --- a/builder/Generator/RequestGenerator.php +++ /dev/null @@ -1,287 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Generator; - -use App\Setting\Model\SettingGenerateColumns; -use App\Setting\Model\SettingGenerateTables; -use Hyperf\Utils\Filesystem\Filesystem; -use Builder\Exception\NormalStatusException; -use Builder\Helper\Str; - -/** - * 验证器生成 - * Class RequestGenerator - * @package Builder\Generator - */ -class RequestGenerator extends MineGenerator implements CodeGenerator -{ - /** - * @var SettingGenerateTables - */ - protected SettingGenerateTables $model; - - /** - * @var string - */ - protected string $codeContent; - - /** - * @var Filesystem - */ - protected Filesystem $filesystem; - - /** - * @var array - */ - protected array $columns; - - /** - * 设置生成信息 - * @param SettingGenerateTables $model - * @return RequestGenerator - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - public function setGenInfo(SettingGenerateTables $model): RequestGenerator - { - $this->model = $model; - $this->filesystem = make(Filesystem::class); - if (empty($model->module_name) || empty($model->menu_name)) { - throw new NormalStatusException(t('setting.gen_code_edit')); - } - $this->setNamespace($this->model->namespace); - - $this->columns = SettingGenerateColumns::query() - ->where('table_id', $model->id) - ->where(function($query) { - $query->where('is_required', self::YES); - }) - ->orderByDesc('sort') - ->get([ 'column_name', 'column_comment', 'is_insert', 'is_edit' ])->toArray(); - - return $this->placeholderReplace(); - } - - /** - * 生成代码 - */ - public function generator(): void - { - $module = Str::title($this->model->module_name[0]) . mb_substr($this->model->module_name, 1); - if ($this->model->generate_type === 1) { - $path = BASE_PATH . "/runtime/generate/php/app/{$module}/Request/"; - } else { - $path = BASE_PATH . "/app/{$module}/Request/"; - } - $this->filesystem->exists($path) || $this->filesystem->makeDirectory($path, 0755, true, true); - $this->filesystem->put($path . "{$this->getClassName()}.php", $this->replace()->getCodeContent()); - } - - /** - * 预览代码 - */ - public function preview(): string - { - return $this->replace()->getCodeContent(); - } - - /** - * 获取模板地址 - * @return string - */ - protected function getTemplatePath(): string - { - return $this->getStubDir() . '/Request/main.stub'; - } - - /** - * 读取模板内容 - * @return string - */ - protected function readTemplate(): string - { - return $this->filesystem->sharedGet($this->getTemplatePath()); - } - - /** - * 占位符替换 - */ - protected function placeholderReplace(): RequestGenerator - { - $this->setCodeContent(str_replace( - $this->getPlaceHolderContent(), - $this->getReplaceContent(), - $this->readTemplate() - )); - - return $this; - } - - /** - * 获取要替换的占位符 - */ - protected function getPlaceHolderContent(): array - { - return [ - '{NAMESPACE}', - '{COMMENT}', - '{CLASS_NAME}', - '{RULES}', - '{ATTRIBUTES}', - ]; - } - - /** - * 获取要替换占位符的内容 - */ - protected function getReplaceContent(): array - { - return [ - $this->initNamespace(), - $this->getComment(), - $this->getClassName(), - $this->getRules(), - $this->getAttributes(), - ]; - } - - /** - * 初始化命名空间 - * @return string - */ - protected function initNamespace(): string - { - return $this->getNamespace() . "\\Request"; - } - - /** - * 获取注释 - * @return string - */ - protected function getComment(): string - { - return $this->model->menu_name . '验证数据类'; - } - - /** - * 获取类名称 - * @return string - */ - protected function getClassName(): string - { - return $this->getBusinessName() . 'Request'; - } - - /** - * 获取验证数据规则 - * @return string - */ - protected function getRules(): string - { - $phpContent = ''; - $createCode = ''; - $updateCode = ''; - $path = $this->getStubDir() . '/Request/rule.stub'; - - foreach ($this->columns as $column) { - if ($column['is_insert'] == self::YES) { - $createCode .= $this->getRuleCode($column); - } - if ($column['is_edit'] == self::YES) { - $updateCode .= $this->getRuleCode($column); - } - } - - $phpContent .= str_replace( - ['{METHOD_COMMENT}', '{METHOD_NAME}', '{LIST}'], - ['新增数据验证规则', 'saveRules', $createCode], - $this->filesystem->sharedGet($path) - ); - $phpContent .= str_replace( - ['{METHOD_COMMENT}', '{METHOD_NAME}', '{LIST}'], - ['更新数据验证规则', 'updateRules', $updateCode], - $this->filesystem->sharedGet($path) - ); - - return $phpContent; - } - - /** - * @param array $column - * @return string - */ - protected function getRuleCode(array &$column): string - { - $space = ' '; - return sprintf( - "%s//%s 验证\n%s'%s' => 'required',\n", - $space, $column['column_comment'], - $space, $column['column_name'] - ); - } - - /** - * @return string - */ - protected function getAttributes(): string - { - $phpCode = ''; - $path = $this->getStubDir() . '/Request/attribute.stub'; - foreach ($this->columns as $column) { - $phpCode .= $this->getAttributeCode($column); - } - return str_replace('{LIST}', $phpCode, $this->filesystem->sharedGet($path)); - } - - /** - * @param array $column - * @return string - */ - protected function getAttributeCode(array &$column): string - { - $space = ' '; - return sprintf( - "%s'%s' => '%s',\n", $space, $column['column_name'], $column['column_comment'] - ); - } - - /** - * 获取业务名称 - * @return string - */ - public function getBusinessName(): string - { - return Str::studly(str_replace(env('DB_PREFIX'), '', $this->model->table_name)); - } - - /** - * 设置代码内容 - * @param string $content - */ - public function setCodeContent(string $content) - { - $this->codeContent = $content; - } - - /** - * 获取代码内容 - * @return string - */ - public function getCodeContent(): string - { - return $this->codeContent; - } - -} \ No newline at end of file diff --git a/builder/Generator/ServiceGenerator.php b/builder/Generator/ServiceGenerator.php deleted file mode 100644 index 1dfdd05..0000000 --- a/builder/Generator/ServiceGenerator.php +++ /dev/null @@ -1,263 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Generator; - -use App\Setting\Model\SettingGenerateTables; -use Hyperf\Utils\Filesystem\Filesystem; -use Builder\Exception\NormalStatusException; -use Builder\Helper\Str; - -/** - * 服务类生成 - * Class ServiceGenerator - * @package Builder\Generator - */ -class ServiceGenerator extends MineGenerator implements CodeGenerator -{ - /** - * @var SettingGenerateTables - */ - protected SettingGenerateTables $model; - - /** - * @var string - */ - protected string $codeContent; - - /** - * @var Filesystem - */ - protected Filesystem $filesystem; - - /** - * 设置生成信息 - * @param SettingGenerateTables $model - * @return ServiceGenerator - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - public function setGenInfo(SettingGenerateTables $model): ServiceGenerator - { - $this->model = $model; - $this->filesystem = make(Filesystem::class); - if (empty($model->module_name) || empty($model->menu_name)) { - throw new NormalStatusException(t('setting.gen_code_edit')); - } - $this->setNamespace($this->model->namespace); - return $this->placeholderReplace(); - } - - /** - * 生成代码 - */ - public function generator(): void - { - $module = Str::title($this->model->module_name[0]) . mb_substr($this->model->module_name, 1); - if ($this->model->generate_type === 1) { - $path = BASE_PATH . "/runtime/generate/php/app/{$module}/Service/"; - } else { - $path = BASE_PATH . "/app/{$module}/Service/"; - } - $this->filesystem->exists($path) || $this->filesystem->makeDirectory($path, 0755, true, true); - $this->filesystem->put($path . "{$this->getClassName()}.php", $this->replace()->getCodeContent()); - } - - /** - * 预览代码 - */ - public function preview(): string - { - return $this->replace()->getCodeContent(); - } - - /** - * 获取生成的类型 - * @return string - */ - public function getType(): string - { - return ucfirst($this->model->type); - } - - /** - * 获取模板地址 - * @return string - */ - protected function getTemplatePath(): string - { - return $this->getStubDir().$this->getType().'/service.stub'; - } - - /** - * 读取模板内容 - * @return string - */ - protected function readTemplate(): string - { - return $this->filesystem->sharedGet($this->getTemplatePath()); - } - - /** - * 占位符替换 - */ - protected function placeholderReplace(): ServiceGenerator - { - $this->setCodeContent(str_replace( - $this->getPlaceHolderContent(), - $this->getReplaceContent(), - $this->readTemplate() - )); - - return $this; - } - - /** - * 获取要替换的占位符 - */ - protected function getPlaceHolderContent(): array - { - return [ - '{NAMESPACE}', - '{USE}', - '{COMMENT}', - '{CLASS_NAME}', - '{MAPPER}', - '{FIELD_ID}', - '{FIELD_PID}' - ]; - } - - /** - * 获取要替换占位符的内容 - */ - protected function getReplaceContent(): array - { - return [ - $this->initNamespace(), - $this->getUse(), - $this->getComment(), - $this->getClassName(), - $this->getMapperName(), - $this->getFieldIdName(), - $this->getFieldPidName(), - ]; - } - - /** - * 初始化服务类命名空间 - * @return string - */ - protected function initNamespace(): string - { - return $this->getNamespace() . "\\Service"; - } - - /** - * 获取控制器注释 - * @return string - */ - protected function getComment(): string - { - return $this->model->menu_name. '服务类'; - } - - /** - * 获取使用的类命名空间 - * @return string - */ - protected function getUse(): string - { - return <<getNamespace()}\\Mapper\\{$this->getBusinessName()}Mapper; -UseNamespace; - } - - /** - * 获取控制器类名称 - * @return string - */ - protected function getClassName(): string - { - return $this->getBusinessName().'Service'; - } - - /** - * 获取Mapper类名称 - * @return string - */ - protected function getMapperName(): string - { - return $this->getBusinessName().'Mapper'; - } - - /** - * 获取树表ID - * @return string - */ - protected function getFieldIdName(): string - { - if ($this->getType() == 'Tree') { - if ( $this->model->options['tree_id'] ?? false ) { - return $this->model->options['tree_id']; - } else { - return 'id'; - } - } - return ''; - } - - /** - * 获取树表父ID - * @return string - */ - protected function getFieldPidName(): string - { - if ($this->getType() == 'Tree') { - if ( $this->model->options['tree_pid'] ?? false ) { - return $this->model->options['tree_pid']; - } else { - return 'parent_id'; - } - } - return ''; - } - - /** - * 获取业务名称 - * @return string - */ - public function getBusinessName(): string - { - return Str::studly(str_replace(env('DB_PREFIX'), '', $this->model->table_name)); - } - - - /** - * 设置代码内容 - * @param string $content - */ - public function setCodeContent(string $content) - { - $this->codeContent = $content; - } - - /** - * 获取代码内容 - * @return string - */ - public function getCodeContent(): string - { - return $this->codeContent; - } - -} \ No newline at end of file diff --git a/builder/Generator/SqlGenerator.php b/builder/Generator/SqlGenerator.php deleted file mode 100644 index 9bfd950..0000000 --- a/builder/Generator/SqlGenerator.php +++ /dev/null @@ -1,288 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Generator; - -use App\Setting\Model\SettingGenerateTables; -use App\System\Model\SystemMenu; -use Hyperf\DbConnection\Db; -use Hyperf\Utils\Filesystem\Filesystem; -use Builder\Exception\NormalStatusException; -use Builder\Helper\Str; -use Psr\Container\ContainerExceptionInterface; -use Psr\Container\NotFoundExceptionInterface; - -/** - * 菜单SQL文件生成 - * Class SqlGenerator - * @package Builder\Generator - */ -class SqlGenerator extends MineGenerator implements CodeGenerator -{ - /** - * @var SettingGenerateTables - */ - protected SettingGenerateTables $model; - - /** - * @var string - */ - protected string $codeContent; - - /** - * @var Filesystem - */ - protected Filesystem $filesystem; - - /** - * @var int - */ - protected int $adminId; - - /** - * 设置生成信息 - * @param SettingGenerateTables $model - * @param int $adminId - * @return SqlGenerator - * @throws ContainerExceptionInterface - * @throws NotFoundExceptionInterface - * @throws \Exception - */ - public function setGenInfo(SettingGenerateTables $model, int $adminId): SqlGenerator - { - $this->model = $model; - $this->adminId = $adminId; - $this->filesystem = make(Filesystem::class); - if (empty($model->module_name) || empty($model->menu_name)) { - throw new NormalStatusException(t('setting.gen_code_edit')); - } - return $this->placeholderReplace(); - } - - /** - * 生成代码 - * @throws \Exception - */ - public function generator(): void - { - $path = BASE_PATH . "/runtime/generate/{$this->getShortBusinessName()}Menu.sql"; - $this->filesystem->makeDirectory(BASE_PATH . "/runtime/generate/", 0755, true, true); - $this->filesystem->put($path, $this->placeholderReplace()->getCodeContent()); - - if ($this->model->build_menu === self::YES) { - Db::connection()->getPdo()->exec( - str_replace(["\r", "\n"], ['', ''], $this->replace()->getCodeContent()) - ); - } - } - - /** - * 预览代码 - */ - public function preview(): string - { - return $this->replace()->getCodeContent(); - } - - /** - * 获取模板地址 - * @return string - */ - protected function getTemplatePath(): string - { - return $this->getStubDir().'/Sql/main.stub'; - } - - /** - * 读取模板内容 - * @return string - */ - protected function readTemplate(): string - { - return $this->filesystem->sharedGet($this->getTemplatePath()); - } - - /** - * 占位符替换 - * @throws \Exception - */ - protected function placeholderReplace(): SqlGenerator - { - $this->setCodeContent(str_replace( - $this->getPlaceHolderContent(), - $this->getReplaceContent(), - $this->readTemplate() - )); - - return $this; - } - - /** - * 获取要替换的占位符 - */ - protected function getPlaceHolderContent(): array - { - return [ - '{LOAD_MENU}', - '{PARENT_ID}', - '{TABLE_NAME}', - '{LEVEL}', - '{NAME}', - '{CODE}', - '{ROUTE}', - '{VUE_TEMPLATE}', - '{ADMIN_ID}' - ]; - } - - /** - * 获取要替换占位符的内容 - * @throws \Exception - */ - protected function getReplaceContent(): array - { - return [ - $this->getLoadMenu(), - $this->getParentId(), - $this->getTableName(), - $this->getLevel(), - $this->model->menu_name, - $this->getCode(), - $this->getRoute(), - $this->getVueTemplate(), - $this->getAdminId() - ]; - } - - protected function getLoadMenu(): string - { - $menus = $this->model->generate_menus ? explode(',', $this->model->generate_menus) : []; - $ignoreMenus = ['realDelete', 'recovery', 'changeStatus', 'numberOperation']; - - foreach ($ignoreMenus as $menu) { - if (in_array($menu, $menus)) { - unset($menus[array_search($menu, $menus)]); - } - } - - $sql = ''; - $path = $this->getStubDir() . '/Sql/'; - foreach ($menus as $menu) { - $content = $this->filesystem->sharedGet($path . $menu . '.stub'); - $sql .= $content; - } - return $sql; - } - - /** - * 获取菜单父ID - * @return int - */ - protected function getParentId(): int - { - return $this->model->belong_menu_id; - } - - /** - * 获取菜单表表名 - * @return string - */ - protected function getTableName(): string - { - return env('DB_PREFIX') . (SystemMenu::getModel())->getTable(); - } - - /** - * 获取菜单层级value - * @return string - */ - protected function getLevel(): string - { - if ($this->model->belong_menu_id !== 0) { - $model = SystemMenu::find($this->model->belong_menu_id, ['id', 'level']); - return $model->level . ',' . $model->id; - } else { - return '0'; - } - } - - /** - * 获取菜单标识代码 - * @return string - */ - protected function getCode(): string - { - return Str::lower($this->model->module_name) . ':' . $this->getShortBusinessName(); - } - - /** - * 获取vue router地址 - * @return string - */ - protected function getRoute(): string - { - return Str::lower($this->model->module_name) . '/' . $this->getShortBusinessName(); - } - - - /** - * 获取Vue模板路径 - * @return string - */ - protected function getVueTemplate(): string - { - return Str::lower($this->model->module_name) . '/' . $this->getShortBusinessName() . '/index'; - } - - /** - * 获取短业务名称 - * @return string - */ - public function getShortBusinessName(): string - { - return Str::camel(str_replace( - Str::lower($this->model->module_name), - '', - str_replace(env('DB_PREFIX'), '', $this->model->table_name) - )); - } - - /** - * 获取当前登陆人ID - * @return string - */ - protected function getAdminId(): string - { - return (string) $this->adminId; - } - - /** - * 设置代码内容 - * @param string $content - */ - public function setCodeContent(string $content) - { - $this->codeContent = $content; - } - - /** - * 获取代码内容 - * @return string - */ - public function getCodeContent(): string - { - return $this->codeContent; - } - -} \ No newline at end of file diff --git a/builder/Generator/Stubs/Api/changeStatus.stub b/builder/Generator/Stubs/Api/changeStatus.stub deleted file mode 100644 index bb8f52e..0000000 --- a/builder/Generator/Stubs/Api/changeStatus.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 更改{BUSINESS_NAME}数据 - * @returns - */ - changeStatus (data = {}) { - return request({ - url: '{REQUEST_ROUTE}/changeStatus', - method: 'put', - data - }) - }, diff --git a/builder/Generator/Stubs/Api/delete.stub b/builder/Generator/Stubs/Api/delete.stub deleted file mode 100644 index bbbeb36..0000000 --- a/builder/Generator/Stubs/Api/delete.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 将{BUSINESS_NAME}删除,有软删除则移动到回收站 - * @returns - */ - deletes (data) { - return request({ - url: '{REQUEST_ROUTE}/delete', - method: 'delete', - data - }) - }, diff --git a/builder/Generator/Stubs/Api/export.stub b/builder/Generator/Stubs/Api/export.stub deleted file mode 100644 index 693e888..0000000 --- a/builder/Generator/Stubs/Api/export.stub +++ /dev/null @@ -1,13 +0,0 @@ - - /** - * {BUSINESS_NAME}导出 - * @returns - */ - exportExcel (params = {}) { - return request({ - url: '{REQUEST_ROUTE}/export', - method: 'post', - responseType: 'blob', - params - }) - }, diff --git a/builder/Generator/Stubs/Api/import.stub b/builder/Generator/Stubs/Api/import.stub deleted file mode 100644 index 7d1f10a..0000000 --- a/builder/Generator/Stubs/Api/import.stub +++ /dev/null @@ -1,24 +0,0 @@ - - /** - * {BUSINESS_NAME}导入 - * @returns - */ - importExcel (data = {}) { - return request({ - url: '{REQUEST_ROUTE}/import', - method: 'post', - data - }) - }, - - /** - * {BUSINESS_NAME}下载模板 - * @returns - */ - downloadTemplate () { - return request({ - url: '{REQUEST_ROUTE}/downloadTemplate', - method: 'post', - responseType: 'blob' - }) - }, diff --git a/builder/Generator/Stubs/Api/main.stub b/builder/Generator/Stubs/Api/main.stub deleted file mode 100644 index 8024337..0000000 --- a/builder/Generator/Stubs/Api/main.stub +++ /dev/null @@ -1,10 +0,0 @@ -import { request } from '@/utils/request.js' - -/** - * {COMMENT} - */ - -export default { -{LOAD_API} - -} \ No newline at end of file diff --git a/builder/Generator/Stubs/Api/numberOperation.stub b/builder/Generator/Stubs/Api/numberOperation.stub deleted file mode 100644 index 21ffadd..0000000 --- a/builder/Generator/Stubs/Api/numberOperation.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 修改{BUSINESS_NAME}数值数据,自增自减 - * @returns - */ - numberOperation (data = {}) { - return request({ - url: '{REQUEST_ROUTE}/numberOperation', - method: 'put', - data - }) - }, diff --git a/builder/Generator/Stubs/Api/read.stub b/builder/Generator/Stubs/Api/read.stub deleted file mode 100644 index de34b9c..0000000 --- a/builder/Generator/Stubs/Api/read.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 读取{BUSINESS_NAME} - * @returns - */ - read (data = {}) { - return request({ - url: '{REQUEST_ROUTE}/read', - method: 'get', - data - }) - }, diff --git a/builder/Generator/Stubs/Api/recycle.stub b/builder/Generator/Stubs/Api/recycle.stub deleted file mode 100644 index 0760103..0000000 --- a/builder/Generator/Stubs/Api/recycle.stub +++ /dev/null @@ -1,36 +0,0 @@ - - /** - * 从回收站获取{BUSINESS_NAME}数据列表 - * @returns - */ - getRecycleList (params = {}) { - return request({ - url: '{REQUEST_ROUTE}/recycle', - method: 'get', - params - }) - }, - - /** - * 恢复{BUSINESS_NAME}数据 - * @returns - */ - recoverys (data) { - return request({ - url: '{REQUEST_ROUTE}/recovery', - method: 'put', - data - }) - }, - - /** - * 真实删除{BUSINESS_NAME} - * @returns - */ - realDeletes (data) { - return request({ - url: '{REQUEST_ROUTE}/realDelete', - method: 'delete', - data - }) - }, diff --git a/builder/Generator/Stubs/Api/save.stub b/builder/Generator/Stubs/Api/save.stub deleted file mode 100644 index 3253fc8..0000000 --- a/builder/Generator/Stubs/Api/save.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 添加{BUSINESS_NAME} - * @returns - */ - save (data = {}) { - return request({ - url: '{REQUEST_ROUTE}/save', - method: 'post', - data - }) - }, diff --git a/builder/Generator/Stubs/Api/singleList.stub b/builder/Generator/Stubs/Api/singleList.stub deleted file mode 100644 index a2d75d0..0000000 --- a/builder/Generator/Stubs/Api/singleList.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 获取{BUSINESS_NAME}分页列表 - * @returns - */ - getList (params = {}) { - return request({ - url: '{REQUEST_ROUTE}/index', - method: 'get', - params - }) - }, diff --git a/builder/Generator/Stubs/Api/treeList.stub b/builder/Generator/Stubs/Api/treeList.stub deleted file mode 100644 index d6ae33a..0000000 --- a/builder/Generator/Stubs/Api/treeList.stub +++ /dev/null @@ -1,24 +0,0 @@ - - /** - * 获取{BUSINESS_NAME}列表 - * @returns - */ - getList (params = {}) { - return request({ - url: '{REQUEST_ROUTE}/index', - method: 'get', - params - }) - }, - - /** - * 获取{BUSINESS_NAME}选择树 - * @returns - */ - tree () { - return request({ - url: '{REQUEST_ROUTE}/tree', - method: 'get' - }) - }, - diff --git a/builder/Generator/Stubs/Api/update.stub b/builder/Generator/Stubs/Api/update.stub deleted file mode 100644 index 16cd446..0000000 --- a/builder/Generator/Stubs/Api/update.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 更新{BUSINESS_NAME}数据 - * @returns - */ - update (id, data = {}) { - return request({ - url: '{REQUEST_ROUTE}/update/' + id, - method: 'put', - data - }) - }, diff --git a/builder/Generator/Stubs/Controller/changeStatus.stub b/builder/Generator/Stubs/Controller/changeStatus.stub deleted file mode 100644 index 8e481d7..0000000 --- a/builder/Generator/Stubs/Controller/changeStatus.stub +++ /dev/null @@ -1,16 +0,0 @@ - - /** - * 更改数据状态 - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[PutMapping("changeStatus"), Permission("{UPDATE_PERMISSION}"), OperationLog] - public function changeStatus(): ResponseInterface - { - return $this->service->changeStatus( - (int) $this->request->input('{PK}'), - (string) $this->request->input('{STATUS_VALUE}'), - (string) $this->request->input('{STATUS_FIELD}') - ) ? $this->success() : $this->error(); - } diff --git a/builder/Generator/Stubs/Controller/delete.stub b/builder/Generator/Stubs/Controller/delete.stub deleted file mode 100644 index ea80fab..0000000 --- a/builder/Generator/Stubs/Controller/delete.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 单个或批量删除数据到回收站 - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[DeleteMapping("delete"), Permission("{DELETE_PERMISSION}"), OperationLog] - public function delete(): ResponseInterface - { - return $this->service->delete((array) $this->request->input('ids', [])) ? $this->success() : $this->error(); - } diff --git a/builder/Generator/Stubs/Controller/export.stub b/builder/Generator/Stubs/Controller/export.stub deleted file mode 100644 index b05c428..0000000 --- a/builder/Generator/Stubs/Controller/export.stub +++ /dev/null @@ -1,13 +0,0 @@ - - /** - * 数据导出 - * @return ResponseInterface - * @throws \PhpOffice\PhpSpreadsheet\Writer\Exception - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[PostMapping("export"), Permission("{EXPORT_PERMISSION}"), OperationLog] - public function export(): ResponseInterface - { - return $this->service->export($this->request->all(), {DTO_CLASS}, '导出数据列表'); - } diff --git a/builder/Generator/Stubs/Controller/import.stub b/builder/Generator/Stubs/Controller/import.stub deleted file mode 100644 index 244e40b..0000000 --- a/builder/Generator/Stubs/Controller/import.stub +++ /dev/null @@ -1,25 +0,0 @@ - - /** - * 数据导入 - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[PostMapping("import"), Permission("{IMPORT_PERMISSION}")] - public function import(): ResponseInterface - { - return $this->service->import({DTO_CLASS}) ? $this->success() : $this->error(); - } - - /** - * 下载导入模板 - * @return ResponseInterface - * @throws \PhpOffice\PhpSpreadsheet\Writer\Exception - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[PostMapping("downloadTemplate")] - public function downloadTemplate(): ResponseInterface - { - return (new \Builder\MineCollection)->export({DTO_CLASS}, '模板下载', []); - } diff --git a/builder/Generator/Stubs/Controller/main.stub b/builder/Generator/Stubs/Controller/main.stub deleted file mode 100644 index e59a85b..0000000 --- a/builder/Generator/Stubs/Controller/main.stub +++ /dev/null @@ -1,43 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -namespace {NAMESPACE}; - -{USE} -use Hyperf\Di\Annotation\Inject; -use Hyperf\HttpServer\Annotation\Controller; -use Hyperf\HttpServer\Annotation\DeleteMapping; -use Hyperf\HttpServer\Annotation\GetMapping; -use Hyperf\HttpServer\Annotation\PostMapping; -use Hyperf\HttpServer\Annotation\PutMapping; -use Builder\Annotation\Auth; -use Builder\Annotation\OperationLog; -use Builder\Annotation\Permission; -use Builder\MineController; -use Psr\Http\Message\ResponseInterface; - -/** - * {COMMENT} - * Class {CLASS_NAME} - */ -#[Controller(prefix: "{CONTROLLER_ROUTE}"), Auth] -class {CLASS_NAME} extends MineController -{ - /** - * 业务处理服务 - * {SERVICE} - */ - #[Inject] - protected {SERVICE} $service; - - {FUNCTIONS} -} \ No newline at end of file diff --git a/builder/Generator/Stubs/Controller/numberOperation.stub b/builder/Generator/Stubs/Controller/numberOperation.stub deleted file mode 100644 index 8f94e14..0000000 --- a/builder/Generator/Stubs/Controller/numberOperation.stub +++ /dev/null @@ -1,16 +0,0 @@ - - /** - * 数字运算操作 - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[PutMapping("numberOperation"), Permission("{UPDATE_PERMISSION}"), OperationLog] - public function numberOperation(): ResponseInterface - { - return $this->service->numberOperation( - (int) $this->request->input('{PK}'), - (string) $this->request->input('{NUMBER_FIELD}'), - (int) $this->request->input('{NUMBER_VALUE}', 1), - ) ? $this->success() : $this->error(); - } diff --git a/builder/Generator/Stubs/Controller/read.stub b/builder/Generator/Stubs/Controller/read.stub deleted file mode 100644 index 81cf81b..0000000 --- a/builder/Generator/Stubs/Controller/read.stub +++ /dev/null @@ -1,13 +0,0 @@ - - /** - * 读取数据 - * @param int $id - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[GetMapping("read/{id}"), Permission("{READ_PERMISSION}")] - public function read(int $id): ResponseInterface - { - return $this->success($this->service->read($id)); - } diff --git a/builder/Generator/Stubs/Controller/realDelete.stub b/builder/Generator/Stubs/Controller/realDelete.stub deleted file mode 100644 index 38b3d50..0000000 --- a/builder/Generator/Stubs/Controller/realDelete.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 单个或批量真实删除数据 (清空回收站) - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[DeleteMapping("realDelete"), Permission("{REAL_DELETE_PERMISSION}"), OperationLog] - public function realDelete(): ResponseInterface - { - return $this->service->realDelete((array) $this->request->input('ids', [])) ? $this->success() : $this->error(); - } diff --git a/builder/Generator/Stubs/Controller/recovery.stub b/builder/Generator/Stubs/Controller/recovery.stub deleted file mode 100644 index 4a7f16e..0000000 --- a/builder/Generator/Stubs/Controller/recovery.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 单个或批量恢复在回收站的数据 - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[PutMapping("recovery"), Permission("{RECOVERY_PERMISSION}"), OperationLog] - public function recovery(): ResponseInterface - { - return $this->service->recovery((array) $this->request->input('ids', [])) ? $this->success() : $this->error(); - } diff --git a/builder/Generator/Stubs/Controller/save.stub b/builder/Generator/Stubs/Controller/save.stub deleted file mode 100644 index 8873930..0000000 --- a/builder/Generator/Stubs/Controller/save.stub +++ /dev/null @@ -1,13 +0,0 @@ - - /** - * 新增 - * @param {REQUEST} $request - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[PostMapping("save"), Permission("{SAVE_PERMISSION}"), OperationLog] - public function save({REQUEST} $request): ResponseInterface - { - return $this->success(['id' => $this->service->save($request->all())]); - } diff --git a/builder/Generator/Stubs/Controller/singleList.stub b/builder/Generator/Stubs/Controller/singleList.stub deleted file mode 100644 index bfafee8..0000000 --- a/builder/Generator/Stubs/Controller/singleList.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 列表 - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[GetMapping("index"), Permission("{INDEX_PERMISSION}")] - public function index(): ResponseInterface - { - return $this->success($this->service->getPageList($this->request->all())); - } diff --git a/builder/Generator/Stubs/Controller/singleRecycleList.stub b/builder/Generator/Stubs/Controller/singleRecycleList.stub deleted file mode 100644 index 3df13e7..0000000 --- a/builder/Generator/Stubs/Controller/singleRecycleList.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 回收站列表 - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[GetMapping("recycle"), Permission("{RECYCLE_PERMISSION}")] - public function recycle(): ResponseInterface - { - return $this->success($this->service->getPageListByRecycle($this->request->all())); - } diff --git a/builder/Generator/Stubs/Controller/treeList.stub b/builder/Generator/Stubs/Controller/treeList.stub deleted file mode 100644 index ae7045e..0000000 --- a/builder/Generator/Stubs/Controller/treeList.stub +++ /dev/null @@ -1,24 +0,0 @@ - - /** - * 获取列表树 - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[GetMapping("index"), Permission("{INDEX_PERMISSION}")] - public function index(): ResponseInterface - { - return $this->success($this->service->getTreeList($this->request->all())); - } - - /** - * 前端选择树(不需要权限) - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[GetMapping("tree")] - public function tree(): ResponseInterface - { - return $this->success($this->service->getSelectTree()); - } diff --git a/builder/Generator/Stubs/Controller/treeRecycleList.stub b/builder/Generator/Stubs/Controller/treeRecycleList.stub deleted file mode 100644 index b679600..0000000 --- a/builder/Generator/Stubs/Controller/treeRecycleList.stub +++ /dev/null @@ -1,12 +0,0 @@ - - /** - * 回收站列表树 - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[GetMapping("recycle"), Permission("{RECYCLE_PERMISSION}")] - public function recycle():ResponseInterface - { - return $this->success($this->service->getTreeListByRecycle($this->request->all())); - } diff --git a/builder/Generator/Stubs/Controller/update.stub b/builder/Generator/Stubs/Controller/update.stub deleted file mode 100644 index 999cb3b..0000000 --- a/builder/Generator/Stubs/Controller/update.stub +++ /dev/null @@ -1,14 +0,0 @@ - - /** - * 更新 - * @param int $id - * @param {REQUEST} $request - * @return ResponseInterface - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - #[PutMapping("update/{id}"), Permission("{UPDATE_PERMISSION}"), OperationLog] - public function update(int $id, {REQUEST} $request): ResponseInterface - { - return $this->service->update($id, $request->all()) ? $this->success() : $this->error(); - } diff --git a/builder/Generator/Stubs/ModelRelation/belongsTo.stub b/builder/Generator/Stubs/ModelRelation/belongsTo.stub deleted file mode 100644 index 656197d..0000000 --- a/builder/Generator/Stubs/ModelRelation/belongsTo.stub +++ /dev/null @@ -1,9 +0,0 @@ - - /** - * 定义 {RELATION_NAME} 关联 - * @return \Hyperf\Database\Model\Relations\belongsTo - */ - public function {RELATION_NAME}() : \Hyperf\Database\Model\Relations\belongsTo - { - return $this->belongsTo({MODEL_NAME}::class, '{FOREIGN_KEY}', '{LOCAL_KEY}'); - } diff --git a/builder/Generator/Stubs/ModelRelation/belongsToMany.stub b/builder/Generator/Stubs/ModelRelation/belongsToMany.stub deleted file mode 100644 index 3fda190..0000000 --- a/builder/Generator/Stubs/ModelRelation/belongsToMany.stub +++ /dev/null @@ -1,9 +0,0 @@ - - /** - * 定义 {RELATION_NAME} 关联 - * @return \Hyperf\Database\Model\Relations\belongsToMany - */ - public function {RELATION_NAME}() : \Hyperf\Database\Model\Relations\belongsToMany - { - return $this->belongsToMany({MODEL_NAME}::class, '{TABLE_NAME}', '{FOREIGN_KEY}', '{LOCAL_KEY}'); - } diff --git a/builder/Generator/Stubs/ModelRelation/hasMany.stub b/builder/Generator/Stubs/ModelRelation/hasMany.stub deleted file mode 100644 index ebc8b11..0000000 --- a/builder/Generator/Stubs/ModelRelation/hasMany.stub +++ /dev/null @@ -1,9 +0,0 @@ - - /** - * 定义 {RELATION_NAME} 关联 - * @return \Hyperf\Database\Model\Relations\hasMany - */ - public function {RELATION_NAME}() : \Hyperf\Database\Model\Relations\hasMany - { - return $this->hasMany({MODEL_NAME}::class, '{FOREIGN_KEY}', '{LOCAL_KEY}'); - } diff --git a/builder/Generator/Stubs/ModelRelation/hasOne.stub b/builder/Generator/Stubs/ModelRelation/hasOne.stub deleted file mode 100644 index fcb36d2..0000000 --- a/builder/Generator/Stubs/ModelRelation/hasOne.stub +++ /dev/null @@ -1,9 +0,0 @@ - - /** - * 定义 {RELATION_NAME} 关联 - * @return \Hyperf\Database\Model\Relations\hasOne - */ - public function {RELATION_NAME}() : \Hyperf\Database\Model\Relations\hasOne - { - return $this->hasOne({MODEL_NAME}::class, '{FOREIGN_KEY}', '{LOCAL_KEY}'); - } diff --git a/builder/Generator/Stubs/Request/attribute.stub b/builder/Generator/Stubs/Request/attribute.stub deleted file mode 100644 index 675ab73..0000000 --- a/builder/Generator/Stubs/Request/attribute.stub +++ /dev/null @@ -1,11 +0,0 @@ - - /** - * 字段映射名称 - * return array - */ - public function attributes(): array - { - return [ -{LIST} - ]; - } \ No newline at end of file diff --git a/builder/Generator/Stubs/Request/main.stub b/builder/Generator/Stubs/Request/main.stub deleted file mode 100644 index 1821db5..0000000 --- a/builder/Generator/Stubs/Request/main.stub +++ /dev/null @@ -1,33 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ -namespace {NAMESPACE}; - -use Builder\MineFormRequest; - -/** - * {COMMENT} - */ -class {CLASS_NAME} extends MineFormRequest -{ - /** - * 公共规则 - */ - public function commonRules(): array - { - return []; - } - - {RULES} - - {ATTRIBUTES} - -} \ No newline at end of file diff --git a/builder/Generator/Stubs/Request/rule.stub b/builder/Generator/Stubs/Request/rule.stub deleted file mode 100644 index a4d7a6a..0000000 --- a/builder/Generator/Stubs/Request/rule.stub +++ /dev/null @@ -1,11 +0,0 @@ - - /** - * {METHOD_COMMENT} - * return array - */ - public function {METHOD_NAME}(): array - { - return [ -{LIST} - ]; - } \ No newline at end of file diff --git a/builder/Generator/Stubs/Single/mapper.stub b/builder/Generator/Stubs/Single/mapper.stub deleted file mode 100644 index 01a9da6..0000000 --- a/builder/Generator/Stubs/Single/mapper.stub +++ /dev/null @@ -1,45 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -namespace {NAMESPACE}; - -{USE} -use Hyperf\Database\Model\Builder; -use Builder\Abstracts\AbstractMapper; - -/** - * {COMMENT} - */ -class {CLASS_NAME} extends AbstractMapper -{ - /** - * @var {MODEL} - */ - public $model; - - public function assignModel() - { - $this->model = {MODEL}::class; - } - - /** - * 搜索处理器 - * @param Builder $query - * @param array $params - * @return Builder - */ - public function handleSearch(Builder $query, array $params): Builder - { - {SEARCH} - return $query; - } -} \ No newline at end of file diff --git a/builder/Generator/Stubs/Single/service.stub b/builder/Generator/Stubs/Single/service.stub deleted file mode 100644 index 0073b79..0000000 --- a/builder/Generator/Stubs/Single/service.stub +++ /dev/null @@ -1,32 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -namespace {NAMESPACE}; - -{USE} -use Builder\Abstracts\AbstractService; - -/** - * {COMMENT} - */ -class {CLASS_NAME} extends AbstractService -{ - /** - * @var {MAPPER} - */ - public $mapper; - - public function __construct({MAPPER} $mapper) - { - $this->mapper = $mapper; - } -} \ No newline at end of file diff --git a/builder/Generator/Stubs/Sql/delete.stub b/builder/Generator/Stubs/Sql/delete.stub deleted file mode 100644 index 4928d3e..0000000 --- a/builder/Generator/Stubs/Sql/delete.stub +++ /dev/null @@ -1,2 +0,0 @@ - -INSERT INTO `{TABLE_NAME}`(`parent_id`, `level`, `name`, `code`, `icon`, `route`, `component`, `redirect`, `is_hidden`, `type`, `status`, `sort`, `created_by`, `updated_by`, `created_at`, `updated_at`, `deleted_at`, `remark`) VALUES (@id, @level, CONCAT('{NAME}', '删除'), CONCAT('{CODE}',':delete'), NULL, NULL, NULL, NULL, '2', 'B', '1', 0, {ADMIN_ID}, NULL, now(), now(), NULL, NULL); diff --git a/builder/Generator/Stubs/Sql/export.stub b/builder/Generator/Stubs/Sql/export.stub deleted file mode 100644 index 8f20b42..0000000 --- a/builder/Generator/Stubs/Sql/export.stub +++ /dev/null @@ -1,2 +0,0 @@ - -INSERT INTO `{TABLE_NAME}`(`parent_id`, `level`, `name`, `code`, `icon`, `route`, `component`, `redirect`, `is_hidden`, `type`, `status`, `sort`, `created_by`, `updated_by`, `created_at`, `updated_at`, `deleted_at`, `remark`) VALUES (@id, @level, CONCAT('{NAME}', '导出'), CONCAT('{CODE}',':export'), NULL, NULL, NULL, NULL, '2', 'B', '1', 0, {ADMIN_ID}, NULL, now(), now(), NULL, NULL); diff --git a/builder/Generator/Stubs/Sql/import.stub b/builder/Generator/Stubs/Sql/import.stub deleted file mode 100644 index 60674b2..0000000 --- a/builder/Generator/Stubs/Sql/import.stub +++ /dev/null @@ -1,2 +0,0 @@ - -INSERT INTO `{TABLE_NAME}`(`parent_id`, `level`, `name`, `code`, `icon`, `route`, `component`, `redirect`, `is_hidden`, `type`, `status`, `sort`, `created_by`, `updated_by`, `created_at`, `updated_at`, `deleted_at`, `remark`) VALUES (@id, @level, CONCAT('{NAME}', '导入'), CONCAT('{CODE}',':import'), NULL, NULL, NULL, NULL, '2', 'B', '1', 0, {ADMIN_ID}, NULL, now(), now(), NULL, NULL); diff --git a/builder/Generator/Stubs/Sql/main.stub b/builder/Generator/Stubs/Sql/main.stub deleted file mode 100644 index cbec116..0000000 --- a/builder/Generator/Stubs/Sql/main.stub +++ /dev/null @@ -1,7 +0,0 @@ -INSERT INTO `{TABLE_NAME}`(`parent_id`, `level`, `name`, `code`, `icon`, `route`, `component`, `redirect`, `is_hidden`, `type`, `status`, `sort`, `created_by`, `updated_by`, `created_at`, `updated_at`, `deleted_at`, `remark`) VALUES ({PARENT_ID}, '{LEVEL}', '{NAME}', '{CODE}', 'icon-home', '{ROUTE}', '{VUE_TEMPLATE}', NULL, '2', 'M', '1', 0, {ADMIN_ID}, NULL, now(), now(), NULL, NULL); - -SET @id := LAST_INSERT_ID(); -SET @level := CONCAT('{LEVEL}', ',', @id); - -INSERT INTO `{TABLE_NAME}`(`parent_id`, `level`, `name`, `code`, `icon`, `route`, `component`, `redirect`, `is_hidden`, `type`, `status`, `sort`, `created_by`, `updated_by`, `created_at`, `updated_at`, `deleted_at`, `remark`) VALUES (@id, @level, CONCAT('{NAME}', '列表'), CONCAT('{CODE}',':index'), NULL, NULL, NULL, NULL, '2', 'B', '1', 0, {ADMIN_ID}, NULL, now(), now(), NULL, NULL); -{LOAD_MENU} \ No newline at end of file diff --git a/builder/Generator/Stubs/Sql/read.stub b/builder/Generator/Stubs/Sql/read.stub deleted file mode 100644 index 4afb26c..0000000 --- a/builder/Generator/Stubs/Sql/read.stub +++ /dev/null @@ -1,2 +0,0 @@ - -INSERT INTO `{TABLE_NAME}`(`parent_id`, `level`, `name`, `code`, `icon`, `route`, `component`, `redirect`, `is_hidden`, `type`, `status`, `sort`, `created_by`, `updated_by`, `created_at`, `updated_at`, `deleted_at`, `remark`) VALUES (@id, @level, CONCAT('{NAME}', '读取'), CONCAT('{CODE}',':read'), NULL, NULL, NULL, NULL, '2', 'B', '1', 0, {ADMIN_ID}, NULL, now(), now(), NULL, NULL); diff --git a/builder/Generator/Stubs/Sql/recycle.stub b/builder/Generator/Stubs/Sql/recycle.stub deleted file mode 100644 index c9662d0..0000000 --- a/builder/Generator/Stubs/Sql/recycle.stub +++ /dev/null @@ -1,6 +0,0 @@ - -INSERT INTO `{TABLE_NAME}`(`parent_id`, `level`, `name`, `code`, `icon`, `route`, `component`, `redirect`, `is_hidden`, `type`, `status`, `sort`, `created_by`, `updated_by`, `created_at`, `updated_at`, `deleted_at`, `remark`) VALUES (@id, @level, CONCAT('{NAME}', '回收站'), CONCAT('{CODE}',':recycle'), NULL, NULL, NULL, NULL, '2', 'B', '1', 0, {ADMIN_ID}, NULL, now(), now(), NULL, NULL); - -INSERT INTO `{TABLE_NAME}`(`parent_id`, `level`, `name`, `code`, `icon`, `route`, `component`, `redirect`, `is_hidden`, `type`, `status`, `sort`, `created_by`, `updated_by`, `created_at`, `updated_at`, `deleted_at`, `remark`) VALUES (@id, @level, CONCAT('{NAME}', '恢复'), CONCAT('{CODE}',':recovery'), NULL, NULL, NULL, NULL, '2', 'B', '1', 0, {ADMIN_ID}, NULL, now(), now(), NULL, NULL); - -INSERT INTO `{TABLE_NAME}`(`parent_id`, `level`, `name`, `code`, `icon`, `route`, `component`, `redirect`, `is_hidden`, `type`, `status`, `sort`, `created_by`, `updated_by`, `created_at`, `updated_at`, `deleted_at`, `remark`) VALUES (@id, @level, CONCAT('{NAME}', '真实删除'), CONCAT('{CODE}',':realDelete'), NULL, NULL, NULL, NULL, '2', 'B', '1', 0, {ADMIN_ID}, NULL, now(), now(), NULL, NULL); diff --git a/builder/Generator/Stubs/Sql/save.stub b/builder/Generator/Stubs/Sql/save.stub deleted file mode 100644 index 540890f..0000000 --- a/builder/Generator/Stubs/Sql/save.stub +++ /dev/null @@ -1,2 +0,0 @@ - -INSERT INTO `{TABLE_NAME}`(`parent_id`, `level`, `name`, `code`, `icon`, `route`, `component`, `redirect`, `is_hidden`, `type`, `status`, `sort`, `created_by`, `updated_by`, `created_at`, `updated_at`, `deleted_at`, `remark`) VALUES (@id, @level, CONCAT('{NAME}', '保存'), CONCAT('{CODE}',':save'), NULL, NULL, NULL, NULL, '2', 'B', '1', 0, {ADMIN_ID}, NULL, now(), now(), NULL, NULL); diff --git a/builder/Generator/Stubs/Sql/update.stub b/builder/Generator/Stubs/Sql/update.stub deleted file mode 100644 index b9741a8..0000000 --- a/builder/Generator/Stubs/Sql/update.stub +++ /dev/null @@ -1,2 +0,0 @@ - -INSERT INTO `{TABLE_NAME}`(`parent_id`, `level`, `name`, `code`, `icon`, `route`, `component`, `redirect`, `is_hidden`, `type`, `status`, `sort`, `created_by`, `updated_by`, `created_at`, `updated_at`, `deleted_at`, `remark`) VALUES (@id, @level, CONCAT('{NAME}', '更新'), CONCAT('{CODE}',':update'), NULL, NULL, NULL, NULL, '2', 'B', '1', 0, {ADMIN_ID}, NULL, now(), now(), NULL, NULL); diff --git a/builder/Generator/Stubs/Tree/mapper.stub b/builder/Generator/Stubs/Tree/mapper.stub deleted file mode 100644 index 991b17b..0000000 --- a/builder/Generator/Stubs/Tree/mapper.stub +++ /dev/null @@ -1,76 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -namespace {NAMESPACE}; - -{USE} -use Hyperf\Database\Model\Builder; -use Builder\Abstracts\AbstractMapper; - -/** - * {COMMENT} - */ -class {CLASS_NAME} extends AbstractMapper -{ - /** - * @var {MODEL} - */ - public $model; - - public function assignModel() - { - $this->model = {MODEL}::class; - } - - /** - * 获取前端选择树 - * @return array - */ - public function getSelectTree(): array - { - return $this->model::query() - ->select(['{FIELD_ID}', '{FIELD_PID}', '{FIELD_ID} AS value', '{FIELD_NAME} AS label']) - ->get()->toTree(); - } - - - /** - * 查询树名称 - * @param array|null $ids - * @return array - */ - public function getTreeName(array $ids = null): array - { - return $this->model::withTrashed()->whereIn('{FIELD_ID}', $ids)->pluck('{FIELD_NAME}')->toArray(); - } - - /** - * @param int $id - * @return bool - */ - public function checkChildrenExists(int $id): bool - { - return $this->model::withTrashed()->where('{FIELD_PID}', $id)->exists(); - } - - /** - * 搜索处理器 - * @param Builder $query - * @param array $params - * @return Builder - */ - public function handleSearch(Builder $query, array $params): Builder - { - {SEARCH} - return $query; - } -} \ No newline at end of file diff --git a/builder/Generator/Stubs/Tree/service.stub b/builder/Generator/Stubs/Tree/service.stub deleted file mode 100644 index c9b1429..0000000 --- a/builder/Generator/Stubs/Tree/service.stub +++ /dev/null @@ -1,134 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -namespace {NAMESPACE}; - - -{USE} -use Builder\Abstracts\AbstractService; - -/** - * {COMMENT} - */ -class {CLASS_NAME} extends AbstractService -{ - /** - * @var {MAPPER} - */ - public $mapper; - - public function __construct({MAPPER} $mapper) - { - $this->mapper = $mapper; - } - - /** - * 获取树列表 - * @param array|null $params - * @param bool $isScope - * @return array - */ - public function getTreeList(?array $params = null, bool $isScope = true): array - { - if ($params['select'] ?? null) { - $params['select'] = explode(',', $params['select']); - } - $params['recycle'] = false; - return $this->mapper->getTreeList($params, true, '{FIELD_ID}', '{FIELD_PID}'); - } - - /** - * 从回收站获取树列表 - * @param array|null $params - * @param bool $isScope - * @return array - */ - public function getTreeListByRecycle(?array $params = null, bool $isScope = true): array - { - if ($params['select'] ?? null) { - $params['select'] = explode(',', $params['select']); - } - $params['recycle'] = true; - return $this->mapper->getTreeList($params, true, '{FIELD_ID}', '{FIELD_PID}'); - } - - /** - * 获取前端选择树 - * @return array - */ - public function getSelectTree(): array - { - return $this->mapper->getSelectTree(); - } - - /** - * 新增数据 - * @param array $data - * @return int - */ - public function save(array $data): int - { - return $this->mapper->save($this->handleData($data)); - } - - /** - * 更新 - * @param int $id - * @param array $data - * @return bool - */ - public function update(int $id, array $data): bool - { - return $this->mapper->update($id, $this->handleData($data)); - } - - /** - * 处理数据 - * @param $data - * @return array - */ - protected function handleData($data): array - { - if (is_array($data['{FIELD_PID}']) && !empty($data['{FIELD_PID}'])) { - $data['{FIELD_PID}'] = array_pop($data['{FIELD_PID}']); - } - return $data; - } - - /** - * 真实删除数据,跳过存在子节点的数据 - * @return array - */ - public function realDel(array $ids): ?array - { - // 存在子节点,跳过的数据 - $ctuIds = []; - if (count($ids)) foreach ($ids as $id) { - if (!$this->checkChildrenExists( (int) $id)) { - $this->mapper->realDelete([$id]); - } else { - array_push($ctuIds, $id); - } - } - return count($ctuIds) ? $this->mapper->getTreeName($ctuIds) : null; - } - - /** - * 检查子节点是否存在 - * @param int $id - * @return bool - */ - public function checkChildrenExists(int $id): bool - { - return $this->mapper->checkChildrenExists($id); - } -} \ No newline at end of file diff --git a/builder/Generator/Stubs/Vue/index.stub b/builder/Generator/Stubs/Vue/index.stub deleted file mode 100644 index 5d3d910..0000000 --- a/builder/Generator/Stubs/Vue/index.stub +++ /dev/null @@ -1,24 +0,0 @@ - - - \ No newline at end of file diff --git a/builder/Generator/Stubs/Vue/numberOperation.stub b/builder/Generator/Stubs/Vue/numberOperation.stub deleted file mode 100644 index 94db7ad..0000000 --- a/builder/Generator/Stubs/Vue/numberOperation.stub +++ /dev/null @@ -1,6 +0,0 @@ - -const numberOperation = (newValue, id, numberName) => { - {BUSINESS_EN_NAME}.numberOperation({ id, numberName, numberValue: newValue }).then( res => { - res.success && Message.success(res.message) - }).catch( e => { console.log(e) } ) -} \ No newline at end of file diff --git a/builder/Generator/Stubs/Vue/switchStatus.stub b/builder/Generator/Stubs/Vue/switchStatus.stub deleted file mode 100644 index e1adab1..0000000 --- a/builder/Generator/Stubs/Vue/switchStatus.stub +++ /dev/null @@ -1,6 +0,0 @@ - -const switchStatus = (statusValue, id, statusName) => { - {BUSINESS_EN_NAME}.changeStatus({ id, statusName, statusValue }).then( res => { - res.success && Message.success(res.message) - }).catch( e => { console.log(e) } ) -} diff --git a/builder/Generator/Stubs/config.stub b/builder/Generator/Stubs/config.stub deleted file mode 100644 index 9f9083a..0000000 --- a/builder/Generator/Stubs/config.stub +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "{NAME}", - "label": "{LABEL}", - "description": "{DESCRIPTION}", - "installed": true, - "enabled": true, - "version": "{VERSION}", - "order": 0 -} \ No newline at end of file diff --git a/builder/Generator/Stubs/dto.stub b/builder/Generator/Stubs/dto.stub deleted file mode 100644 index de35703..0000000 --- a/builder/Generator/Stubs/dto.stub +++ /dev/null @@ -1,15 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -use Hyperf\Database\Schema\Schema; -use Hyperf\Database\Schema\Blueprint; -use Hyperf\Database\Migrations\Migration; - -class Create{CLASS_NAME}Table extends Migration -{ - /** - * Run the migrations. - */ - public function up(): void - { - Schema::create('{TABLE_NAME}', function (Blueprint $table) { - $table->engine = '{ENGINE}'; - $table->comment('{COMMENT}'); - {COLUMNS} - $table->primary('{ID}'); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropIfExists('DummyTable'); - } -} diff --git a/builder/Generator/Traits/MapperGeneratorTraits.php b/builder/Generator/Traits/MapperGeneratorTraits.php deleted file mode 100644 index 97f7963..0000000 --- a/builder/Generator/Traits/MapperGeneratorTraits.php +++ /dev/null @@ -1,80 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); - -namespace Builder\Generator\Traits; - -trait MapperGeneratorTraits -{ - /** - * 获取搜索代码 - * @param $column - * @return string - */ - protected function getSearchCode($column): string - { - return match ($column['query_type']) { - 'neq' => $this->getSearchPHPString($column['column_name'], '!=', $column['column_comment']), - 'gt' => $this->getSearchPHPString($column['column_name'], '<', $column['column_comment']), - 'gte' => $this->getSearchPHPString($column['column_name'], '<=', $column['column_comment']), - 'lt' => $this->getSearchPHPString($column['column_name'], '>', $column['column_comment']), - 'lte' => $this->getSearchPHPString($column['column_name'], '>=', $column['column_comment']), - 'like' => $this->getSearchPHPString($column['column_name'], 'like', $column['column_comment']), - 'between' => $this->getSearchPHPString($column['column_name'], 'between', $column['column_comment']), - default => $this->getSearchPHPString($column['column_name'], '=', $column['column_comment']), - }; - } - - /** - * @param $name - * @param $mark - * @param $comment - * @return string - */ - protected function getSearchPHPString($name, $mark, $comment): string - { - if ($mark == 'like') { - return <<where('{$name}', 'like', '%'.\$params['{$name}'].'%'); - } - -php; - - } - - if ($mark == 'between') { - return <<whereBetween( - '${name}', - [ \$params['${name}'][0], \$params['${name}'][1] ] - ); - } - -php; - } - - return <<where('{$name}', '{$mark}', \$params['{$name}']); - } - -php; - } // 该方法结束位置 -} \ No newline at end of file diff --git a/builder/Generator/VueIndexGenerator.php b/builder/Generator/VueIndexGenerator.php deleted file mode 100644 index 3985bf6..0000000 --- a/builder/Generator/VueIndexGenerator.php +++ /dev/null @@ -1,483 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder\Generator; - -use App\Setting\Model\SettingGenerateColumns; -use App\Setting\Model\SettingGenerateTables; -use Hyperf\Utils\Filesystem\Filesystem; -use Builder\Exception\NormalStatusException; -use Builder\Helper\Str; -use Hyperf\Database\Model\Collection; - -/** - * Vue index文件生成 - * Class VueIndexGenerator - * @package Builder\Generator - */ -class VueIndexGenerator extends MineGenerator implements CodeGenerator -{ - /** - * @var SettingGenerateTables - */ - protected SettingGenerateTables $model; - - /** - * @var string - */ - protected string $codeContent; - - /** - * @var Filesystem - */ - protected Filesystem $filesystem; - - /** - * @var Collection - */ - protected Collection $columns; - - /** - * 设置生成信息 - * @param SettingGenerateTables $model - * @return VueIndexGenerator - * @throws \Psr\Container\ContainerExceptionInterface - * @throws \Psr\Container\NotFoundExceptionInterface - */ - public function setGenInfo(SettingGenerateTables $model): VueIndexGenerator - { - $this->model = $model; - $this->filesystem = make(Filesystem::class); - if (empty($model->module_name) || empty($model->menu_name)) { - throw new NormalStatusException(t('setting.gen_code_edit')); - } - $this->columns = SettingGenerateColumns::query() - ->where('table_id', $model->id)->orderByDesc('sort') - ->get([ - 'column_name', 'column_comment', 'allow_roles', 'options', 'is_required', 'is_insert', - 'is_edit', 'is_query', 'is_sort', 'is_pk', 'is_list', 'view_type', 'dict_type', - ]); - - return $this->placeholderReplace(); - } - - /** - * 生成代码 - */ - public function generator(): void - { - $module = Str::lower($this->model->module_name); - $path = BASE_PATH . "/runtime/generate/vue/src/views/{$module}/{$this->getShortBusinessName()}/index.vue"; - $this->filesystem->makeDirectory( - BASE_PATH . "/runtime/generate/vue/src/views/{$module}/{$this->getShortBusinessName()}", - 0755, true, true - ); - $this->filesystem->put($path, $this->replace()->getCodeContent()); - } - - /** - * 预览代码 - */ - public function preview(): string - { - return $this->replace()->getCodeContent(); - } - - /** - * 获取模板地址 - * @return string - */ - protected function getTemplatePath(): string - { - return $this->getStubDir().'/Vue/index.stub'; - } - - /** - * 读取模板内容 - * @return string - */ - protected function readTemplate(): string - { - return $this->filesystem->sharedGet($this->getTemplatePath()); - } - - /** - * 占位符替换 - */ - protected function placeholderReplace(): VueIndexGenerator - { - $this->setCodeContent(str_replace( - $this->getPlaceHolderContent(), - $this->getReplaceContent(), - $this->readTemplate() - )); - - return $this; - } - - /** - * 获取要替换的占位符 - */ - protected function getPlaceHolderContent(): array - { - return [ - '{CODE}', - '{CRUD}', - '{COLUMNS}', - '{BUSINESS_EN_NAME}', - '{INPUT_NUMBER}', - '{SWITCH_STATUS}', - '{MODULE_NAME}', - '{PK}', - ]; - } - - /** - * 获取要替换占位符的内容 - * @return string[] - */ - protected function getReplaceContent(): array - { - return [ - $this->getCode(), - $this->getCrud(), - $this->getColumns(), - $this->getBusinessEnName(), - $this->getInputNumber(), - $this->getSwitchStatus(), - $this->getModuleName(), - $this->getPk(), - ]; - } - - /** - * 获取标识代码 - * @return string - */ - protected function getCode(): string - { - return Str::lower($this->model->module_name) . ':' . $this->getShortBusinessName(); - } - - /** - * 获取CRUD配置代码 - * @return string - */ - protected function getCrud(): string - { - // 配置项 - $options = []; - $options['rowSelection'] = [ 'showCheckedAll' => true ]; - $options['searchLabelWidth'] = "'75px'"; - $options['pk'] = "'".$this->getPk()."'"; - $options['operationColumn'] = false; - $options['operationWidth'] = 160; - $options['viewLayoutSetting'] = [ - 'layout' => "'auto'", - 'cols' => 1, - 'viewType' => $this->model->component_type == 1 ? "'modal'" : "'drawer'", - 'width' => 600, - ]; - $options['api'] = $this->getBusinessEnName() . '.getList'; - if (Str::contains($this->model->generate_menus, 'recycle')) { - $options['recycleApi'] = $this->getBusinessEnName() . '.getRecycleList'; - } - if (Str::contains($this->model->generate_menus, 'save')) { - $options['add'] = [ - 'show' => true, 'api' => $this->getBusinessEnName() . '.save', - 'auth' => "['".$this->getCode().":save']" - ]; - } - if (Str::contains($this->model->generate_menus, 'update')) { - $options['operationColumn'] = true; - $options['edit'] = [ - 'show' => true, 'api' => $this->getBusinessEnName() . '.update', - 'auth' => "['".$this->getCode().":update']" - ]; - } - if (Str::contains($this->model->generate_menus, 'delete')) { - $options['operationColumn'] = true; - $options['delete'] = [ - 'show' => true, - 'api' => $this->getBusinessEnName() . '.deletes', - 'auth' => "['".$this->getCode().":delete']" - ]; - if (Str::contains($this->model->generate_menus, 'recycle')) { - $options['delete']['realApi'] = $this->getBusinessEnName() . '.realDeletes'; - $options['delete']['realAuth'] = "['".$this->getCode().":realDeletes']"; - $options['recovery'] = [ - 'show' => true, - 'api' => $this->getBusinessEnName() . '.recoverys', - 'auth' => "['".$this->getCode().":recovery']" - ]; - } - } - $requestRoute = Str::lower($this->model->module_name) . '/' . $this->getShortBusinessName(); - // 导入 - if (Str::contains($this->model->generate_menus, 'import')) { - $options['import'] = [ - 'show' => true, - 'url' => "'".$requestRoute . '/import'."'", - 'templateUrl' => "'".$requestRoute . '/downloadTemplate'."'", - 'auth' => "['".$this->getCode().":import']" - ]; - } - // 导出 - if (Str::contains($this->model->generate_menus, 'export')) { - $options['export'] = [ - 'show' => true, - 'url' => "'".$requestRoute . '/export'."'", - 'auth' => "['".$this->getCode().":export']" - ]; - } - return 'const crud = reactive(' . $this->jsonFormat($options, true) . ')'; - } - - /** - * 获取列配置代码 - * @return string - */ - protected function getColumns(): string - { - // 字段配置项 - $options = []; - foreach ($this->columns as $column) { - $tmp = [ - 'title' => $column->column_comment, - 'dataIndex' => $column->column_name, - 'formType' => $this->getViewType($column->view_type), - ]; - // 基础 - if ($column->is_query == self::YES) { - $tmp['search'] = true; - } - if ($column->is_insert == self::NO) { - $tmp['addDisplay'] = false; - } - if ($column->is_edit == self::NO) { - $tmp['editDisplay'] = false; - } - if ($column->is_list == self::NO) { - $tmp['hide'] = true; - } - if ($column->is_required == self::YES) { - $tmp['rules'] = [ - 'required' => true, - 'message' => '请输入' . $column->column_comment - ]; - } - if ($column->is_sort == self::YES) { - $tmp['sortable'] = [ - 'sortDirections' => [ 'ascend', 'descend' ], - 'sorter' => true - ]; - } - // 扩展项 - if (!empty($column->options)) { - $collection = $column->options['collection']; - // 合并 - $tmp = array_merge($tmp, $column->options); - // 自定义数据 - if (in_array($column->view_type, ['checkbox', 'radio', 'select', 'transfer']) && !empty($collection)) { - $tmp['dict'] = [ 'data' => $collection, 'translation' => true ]; - } - // 对日期时间处理 - if ($column->view_type == 'date' && $column->options['mode'] == 'date') { - unset($tmp['mode']); - if (isset($column->options['range']) && $column->options['range']) { - $tmp['formType'] = 'range'; - unset($tmp['range']); - } - } - unset($tmp['collection']); - } - // 字典 - if (!empty($column->dict_type)) { - $tmp['dict'] = [ - 'name' => $column->dict_type, - 'props' => [ 'label' => 'title', 'value' => 'key' ], - 'translation' => true - ]; - } - // 密码处理 - if ($column->view_type == 'password') { - $tmp['type'] = 'password'; - } - // 允许查看字段的角色(前端还待支持) - // todo... - $options[] = $tmp; - } - return 'const columns = reactive(' . $this->jsonFormat($options) . ')'; - } - - /** - * @return string - */ - protected function getShowRecycle(): string - { - return ( strpos($this->model->generate_menus, 'recycle') > 0 ) ? 'true' : 'false'; - } - - /** - * 获取业务英文名 - * @return string - */ - protected function getBusinessEnName(): string - { - return Str::camel(str_replace(env('DB_PREFIX'), '', $this->model->table_name)); - } - - /** - * @return string - */ - protected function getModuleName(): string - { - return Str::lower($this->model->module_name); - } - - /** - * 返回主键 - * @return string - */ - protected function getPk(): string - { - foreach ($this->columns as $column) { - if ($column->is_pk == self::YES) { - return $column->column_name; - } - } - return ''; - } - - /** - * 计数器组件方法 - * @return string - * @noinspection BadExpressionStatementJS - */ - protected function getInputNumber(): string - { - if (in_array('numberOperation' , explode(',', $this->model->generate_menus))) { - return str_replace('{BUSINESS_EN_NAME}', $this->getBusinessEnName(), $this->getOtherTemplate('numberOperation')); - } - return ''; - } - - /** - * 计数器组件方法 - * @return string - * @noinspection BadExpressionStatementJS - */ - protected function getSwitchStatus(): string - { - if (in_array('changeStatus' , explode(',', $this->model->generate_menus))) { - return str_replace('{BUSINESS_EN_NAME}', $this->getBusinessEnName(), $this->getOtherTemplate('switchStatus')); - } - return ''; - } - - /** - * @param string $tpl - * @return string - */ - protected function getOtherTemplate(string $tpl): string - { - return $this->filesystem->sharedGet($this->getStubDir() . "/Vue/{$tpl}.stub"); - } - - /** - * 获取短业务名称 - * @return string - */ - public function getShortBusinessName(): string - { - return Str::camel(str_replace( - Str::lower($this->model->module_name), - '', - str_replace(env('DB_PREFIX'), '', $this->model->table_name) - )); - } - - /** - * 视图组件 - * @param string $viewType - * @return string - */ - protected function getViewType(string $viewType): string - { - $viewTypes = [ - 'text' => 'input', - 'password' => 'input', - 'textarea' => 'textarea', - 'inputNumber' => 'input-number', - 'inputTag' => 'input-tag', - 'mention' => 'mention', - 'switch' => 'switch', - 'slider' => 'slider', - 'select' => 'select', - 'radio' => 'radio', - 'checkbox' => 'checkbox', - 'treeSelect' => 'tree-select', - 'date' => 'date', - 'time' => 'time', - 'rate' => 'rate', - 'cascader' => 'cascader', - 'transfer' => 'transfer', - 'selectUser' => 'select-user', - 'userInfo' => 'user-info', - 'cityLinkage' => 'city-linkage', - 'icon' => 'icon', - 'formGroup' => 'form-group', - 'upload' => 'upload', - 'selectResource' => 'select-resource', - 'editor' => 'editor', - 'codeEditor' => 'code-editor', - ]; - - return $viewTypes[$viewType] ?? 'input'; - } - - /** - * array 到 json 数据格式化 - * @param array $data - * @param bool $removeValueQuotes - * @return string - */ - protected function jsonFormat(array $data, bool $removeValueQuotes = false): string - { - $data = str_replace(' ', ' ', json_encode($data, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT)); - $data = str_replace(['"true"', '"false"', "\\"], [ true, false, ''], $data); - $data = preg_replace('/(\s+)\"(.+)\":/', "\\1\\2:", $data); - if ($removeValueQuotes) { - $data = preg_replace('/(:\s)\"(.+)\"/', "\\1\\2", $data); - } - return $data; - } - - /** - * 设置代码内容 - * @param string $content - */ - public function setCodeContent(string $content) - { - $this->codeContent = $content; - } - - /** - * 获取代码内容 - * @return string - */ - public function getCodeContent(): string - { - return $this->codeContent; - } - -} \ No newline at end of file diff --git a/builder/Helper/MineCode.php b/builder/Helper/BaseCode.php similarity index 99% rename from builder/Helper/MineCode.php rename to builder/Helper/BaseCode.php index 0d3bfa9..e6e8e49 100644 --- a/builder/Helper/MineCode.php +++ b/builder/Helper/BaseCode.php @@ -12,7 +12,7 @@ namespace Builder\Helper; -class MineCode +class BaseCode { public const TOKEN_EXPIRED = 1001; // TOKEN过期、不存在 public const VALIDATE_FAILED = 1002; // 数据验证失败 diff --git a/builder/Helper/MineCaptcha.php b/builder/Helper/Captcha.php similarity index 56% rename from builder/Helper/MineCaptcha.php rename to builder/Helper/Captcha.php index 0c2ee9a..6458118 100644 --- a/builder/Helper/MineCaptcha.php +++ b/builder/Helper/Captcha.php @@ -1,18 +1,7 @@ - * @Link https://gitee.com/xmo/MineAdmin - */ - declare(strict_types=1); namespace Builder\Helper; - -class MineCaptcha +class Captcha { /** * @return array diff --git a/builder/Helper/LoginUser.php b/builder/Helper/LoginUser.php index e8eb520..6f66e94 100644 --- a/builder/Helper/LoginUser.php +++ b/builder/Helper/LoginUser.php @@ -19,7 +19,7 @@ use Psr\SimpleCache\InvalidArgumentException; use Xmo\JWTAuth\JWT; use Builder\Exception\TokenException; -use Builder\MineRequest; +use Builder\BaseRequest; class LoginUser { @@ -29,9 +29,9 @@ class LoginUser protected JWT $jwt; /** - * @var MineRequest + * @var BaseRequest */ - protected MineRequest $request; + protected BaseRequest $request; /** diff --git a/builder/Helper/functions.php b/builder/Helper/functions.php index d10fb36..a835fae 100644 --- a/builder/Helper/functions.php +++ b/builder/Helper/functions.php @@ -24,7 +24,6 @@ use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Log\LoggerInterface; if (! function_exists('container')) { - /** * 获取容器实例 * @return \Psr\Container\ContainerInterface @@ -37,7 +36,6 @@ if (! function_exists('container')) { } if (! function_exists('redis')) { - /** * 获取Redis实例 * @return \Hyperf\Redis\Redis @@ -48,7 +46,6 @@ if (! function_exists('redis')) { { return container()->get(\Hyperf\Redis\Redis::class); } - } if (! function_exists('console')) { @@ -121,7 +118,7 @@ if (! function_exists('t')) { */ function t(string $key, array $replace = []): string { - $acceptLanguage = container()->get(\Builder\MineRequest::class)->getHeaderLine('accept-language'); + $acceptLanguage = container()->get(\Builder\BaseRequest::class)->getHeaderLine('accept-language'); $language = !empty($acceptLanguage) ? explode(',',$acceptLanguage)[0] : 'zh_CN'; return __($key, $replace, $language); } @@ -131,11 +128,11 @@ if (! function_exists('mine_collect')) { /** * 创建一个Mine的集合类 * @param null|mixed $value - * @return \Builder\MineCollection + * @return \Builder\BaseCollection */ - function mine_collect($value = null): \Builder\MineCollection + function mine_collect($value = null): \Builder\BaseCollection { - return new \Builder\MineCollection($value); + return new \Builder\BaseCollection($value); } } @@ -270,11 +267,9 @@ if (!function_exists('response')) { if (!function_exists('admin_api_url')) { /** * Get admin url. - * * @param string $path * @param mixed $parameters * @param bool $secure - * * @return string */ function admin_api_url($path = '', $parameters = [], $secure = null) @@ -295,6 +290,7 @@ if (!function_exists('p')) { print_r("\r\n"); } } + if (!function_exists('uuid')) { function uuid($length) { diff --git a/builder/Interfaces/MineModelExcel.php b/builder/Interfaces/BaseModelExcel.php similarity index 94% rename from builder/Interfaces/MineModelExcel.php rename to builder/Interfaces/BaseModelExcel.php index 3826e5c..d0a8ca3 100644 --- a/builder/Interfaces/MineModelExcel.php +++ b/builder/Interfaces/BaseModelExcel.php @@ -13,7 +13,7 @@ declare(strict_types=1); namespace Builder\Interfaces; -interface MineModelExcel +interface BaseModelExcel { } \ No newline at end of file diff --git a/builder/Listener/ResumeExitCoordinatorListener.php b/builder/Listener/ResumeExitCoordinatorListener.php index a4c70ce..5335bac 100644 --- a/builder/Listener/ResumeExitCoordinatorListener.php +++ b/builder/Listener/ResumeExitCoordinatorListener.php @@ -1,24 +1,11 @@ - * @Link https://gitee.com/xmo/MineAdmin - */ - declare(strict_types=1); - namespace Builder\Listener; - use Hyperf\Command\Event\AfterExecute; use Hyperf\Coordinator\Constants; use Hyperf\Coordinator\CoordinatorManager; use Hyperf\Event\Annotation\Listener; use Hyperf\Event\Contract\ListenerInterface; - #[Listener] class ResumeExitCoordinatorListener implements ListenerInterface { diff --git a/builder/Middlewares/HttpCoreMiddleware.php b/builder/Middlewares/HttpCoreMiddleware.php index f345f46..95ef79c 100644 --- a/builder/Middlewares/HttpCoreMiddleware.php +++ b/builder/Middlewares/HttpCoreMiddleware.php @@ -16,7 +16,7 @@ use Hyperf\HttpMessage\Stream\SwooleStream; use Hyperf\Utils\Codec\Json; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; -use Builder\Helper\MineCode; +use Builder\Helper\BaseCode; class HttpCoreMiddleware extends \Hyperf\HttpServer\CoreMiddleware { @@ -31,8 +31,8 @@ class HttpCoreMiddleware extends \Hyperf\HttpServer\CoreMiddleware { $format = [ 'success' => false, - 'code' => MineCode::NOT_FOUND, - 'message' => t('mineadmin.not_found') + 'code' => BaseCode::NOT_FOUND, + 'message' => t('uiview.not_found') ]; return $this->response()->withHeader('Server', 'MineAdmin') ->withAddedHeader('content-type', 'application/json; charset=utf-8') @@ -54,8 +54,8 @@ class HttpCoreMiddleware extends \Hyperf\HttpServer\CoreMiddleware { $format = [ 'success' => false, - 'code' => MineCode::METHOD_NOT_ALLOW, - 'message' => t('mineadmin.allow_method', ['method' => implode(',', $methods)]) + 'code' => BaseCode::METHOD_NOT_ALLOW, + 'message' => t('uiview.allow_method', ['method' => implode(',', $methods)]) ]; return $this->response()->withHeader('Server', 'MineAdmin') ->withAddedHeader('content-type', 'application/json; charset=utf-8') diff --git a/builder/MineApi.php b/builder/MineApi.php deleted file mode 100644 index a05c458..0000000 --- a/builder/MineApi.php +++ /dev/null @@ -1,23 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder; -use Builder\Traits\ControllerTrait; -/** - * API接口控制器基类 - * Class MineApi - * @package Mine - */ -abstract class MineApi -{ - use ControllerTrait; -} diff --git a/builder/MineController.php b/builder/MineController.php deleted file mode 100644 index ef39147..0000000 --- a/builder/MineController.php +++ /dev/null @@ -1,31 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder; -use Hyperf\Di\Annotation\Inject; -use Builder\Traits\ControllerTrait; - -/** - * 后台控制器基类 - * Class MineController - * @package Mine - */ -abstract class MineController -{ - use ControllerTrait; - - /** - * @var Mine - */ - #[Inject] - protected Mine $mine; -} diff --git a/builder/MineServer.php b/builder/MineServer.php deleted file mode 100644 index 8616b0b..0000000 --- a/builder/MineServer.php +++ /dev/null @@ -1,36 +0,0 @@ - - * @Link https://gitee.com/xmo/MineAdmin - */ - -declare(strict_types=1); -namespace Builder; - -use Hyperf\HttpServer\Server; - -class MineServer extends Server -{ - protected ?string $serverName = 'ViewUI'; - - protected $routes; - - public function onRequest($request, $response): void - { - parent::onRequest($request, $response); - $this->bootstrap(); - } - - /** - * MineServer bootstrap - * @return void - */ - protected function bootstrap(): void - { - } -} diff --git a/builder/MineModelVisitor.php b/builder/ModelVisitor.php similarity index 96% rename from builder/MineModelVisitor.php rename to builder/ModelVisitor.php index 6bc6f16..163ba8a 100644 --- a/builder/MineModelVisitor.php +++ b/builder/ModelVisitor.php @@ -16,10 +16,10 @@ use Hyperf\Database\Commands\Ast\ModelUpdateVisitor as Visitor; use Hyperf\Utils\Str; /** - * Class MineModelVisitor + * Class ModelVisitor * @package System */ -class MineModelVisitor extends Visitor +class ModelVisitor extends Visitor { /** * @param string $type diff --git a/builder/Office/MineExcel.php b/builder/Office/BaseExcel.php similarity index 94% rename from builder/Office/MineExcel.php rename to builder/Office/BaseExcel.php index 802dead..01ae0e3 100644 --- a/builder/Office/MineExcel.php +++ b/builder/Office/BaseExcel.php @@ -12,19 +12,16 @@ declare(strict_types=1); */ namespace Builder\Office; - use App\System\Service\SystemDictDataService; use Hyperf\Di\Annotation\AnnotationCollector; use Hyperf\HttpMessage\Stream\SwooleStream; use Psr\Container\ContainerExceptionInterface; use Psr\Container\NotFoundExceptionInterface; - use Builder\Exception\MineException; -use Builder\Interfaces\MineModelExcel; -use Builder\MineResponse; +use Builder\Interfaces\BaseModelExcel; +use Builder\BaseResponse; - -abstract class MineExcel +abstract class BaseExcel { public const ANNOTATION_NAME = 'Builder\Annotation\ExcelProperty'; @@ -47,8 +44,8 @@ abstract class MineExcel */ public function __construct(string $dto) { - if (!(new $dto) instanceof MineModelExcel) { - throw new MineException('dto does not implement an interface of the MineModelExcel', 500); + if (!(new $dto) instanceof BaseModelExcel) { + throw new MineException('dto does not implement an interface of the BaseModelExcel', 500); } $this->annotationMate = AnnotationCollector::get($dto); $this->parseProperty(); @@ -110,7 +107,7 @@ abstract class MineExcel */ protected function downloadExcel(string $filename, string $content): \Psr\Http\Message\ResponseInterface { - return container()->get(MineResponse::class)->getResponse() + return container()->get(BaseResponse::class)->getResponse() ->withHeader('Server', 'MineAdmin') ->withHeader('content-description', 'File Transfer') ->withHeader('content-type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') diff --git a/builder/Office/Excel/PhpOffice.php b/builder/Office/Excel/PhpOffice.php index 33bd437..624ae7c 100644 --- a/builder/Office/Excel/PhpOffice.php +++ b/builder/Office/Excel/PhpOffice.php @@ -18,23 +18,23 @@ use PhpOffice\PhpSpreadsheet\Style\Color; use Builder\Exception\MineException; use Builder\Office\ExcelPropertyInterface; -use Builder\Office\MineExcel; +use Builder\Office\BaseExcel; -class PhpOffice extends MineExcel implements ExcelPropertyInterface +class PhpOffice extends BaseExcel implements ExcelPropertyInterface { /** * 导入 - * @param \Builder\MineModel $model + * @param \Builder\BaseModel $model * @param \Closure|null $closure * @return bool * @throws \PhpOffice\PhpSpreadsheet\Reader\Exception * @throws \Psr\Container\ContainerExceptionInterface * @throws \Psr\Container\NotFoundExceptionInterface */ - public function import(\Builder\MineModel $model, ?\Closure $closure = null): bool + public function import(\Builder\BaseModel $model, ?\Closure $closure = null): bool { - $request = container()->get(\Builder\MineRequest::class); + $request = container()->get(\Builder\BaseRequest::class); $data = []; if ($request->hasFile('file')) { $file = $request->file('file'); diff --git a/builder/Office/Excel/XlsWriter.php b/builder/Office/Excel/XlsWriter.php index be0c29b..06e2bd2 100644 --- a/builder/Office/Excel/XlsWriter.php +++ b/builder/Office/Excel/XlsWriter.php @@ -13,26 +13,26 @@ declare(strict_types=1); namespace Builder\Office\Excel; use Vtiful\Kernel\Format; -use Builder\Office\MineExcel; +use Builder\Office\BaseExcel; use Builder\Exception\MineException; -use Builder\MineResponse; +use Builder\BaseResponse; use Builder\Office\ExcelPropertyInterface; -class XlsWriter extends MineExcel implements ExcelPropertyInterface +class XlsWriter extends BaseExcel implements ExcelPropertyInterface { /** * 导入数据 - * @param \Builder\MineModel $model + * @param \Builder\BaseModel $model * @param \Closure|null $closure * @return bool * @throws \Psr\Container\ContainerExceptionInterface * @throws \Psr\Container\NotFoundExceptionInterface * @throws \Exception */ - public function import(\Builder\MineModel $model, ?\Closure $closure = null): bool + public function import(\Builder\BaseModel $model, ?\Closure $closure = null): bool { - $request = container()->get(\Builder\MineRequest::class); + $request = container()->get(\Builder\BaseRequest::class); if ($request->hasFile('file')) { $file = $request->file('file'); $tempFileName = 'import_'.time().'.'.$file->getExtension(); @@ -146,7 +146,7 @@ class XlsWriter extends MineExcel implements ExcelPropertyInterface $exportData[] = $yield; } - $response = container()->get(MineResponse::class); + $response = container()->get(BaseResponse::class); $filePath = $fileObject->data($exportData)->output(); $response->download($filePath, $filename); diff --git a/builder/Office/ExcelPropertyInterface.php b/builder/Office/ExcelPropertyInterface.php index 329ea04..2f42d9b 100644 --- a/builder/Office/ExcelPropertyInterface.php +++ b/builder/Office/ExcelPropertyInterface.php @@ -15,7 +15,7 @@ namespace Builder\Office; interface ExcelPropertyInterface { - public function import(\Builder\MineModel $model, ?\Closure $closure = null): bool; + public function import(\Builder\BaseModel $model, ?\Closure $closure = null): bool; public function export(string $filename, array|\Closure $closure): \Psr\Http\Message\ResponseInterface; } \ No newline at end of file diff --git a/builder/Redis/MineLockRedis.php b/builder/Redis/MineLockRedis.php index 55e64b0..23bcbe6 100644 --- a/builder/Redis/MineLockRedis.php +++ b/builder/Redis/MineLockRedis.php @@ -55,8 +55,8 @@ class MineLockRedis extends AbstractRedis implements MineRedisInterface try { call_user_func($closure); } catch (\Throwable $e) { - logger('Redis Lock')->error(t('mineadmin.redis_lock_error')); - throw new NormalStatusException(t('mineadmin.redis_lock_error'), 500); + logger('Redis Lock')->error(t('uiview.redis_lock_error')); + throw new NormalStatusException(t('uiview.redis_lock_error'), 500); } finally { $this->freed($key); } diff --git a/builder/RunServer.php b/builder/RunServer.php new file mode 100644 index 0000000..dd0f21b --- /dev/null +++ b/builder/RunServer.php @@ -0,0 +1,24 @@ +bootstrap(); + } + + /** + * RunServer bootstrap + * @return void + */ + protected function bootstrap(): void + { + } +} diff --git a/builder/MineStart.php b/builder/RunStart.php similarity index 72% rename from builder/MineStart.php rename to builder/RunStart.php index f801fcd..f21b845 100644 --- a/builder/MineStart.php +++ b/builder/RunStart.php @@ -1,20 +1,9 @@ - * @Link https://gitee.com/xmo/MineAdmin - */ - declare(strict_types=1); namespace Builder; use App\System\Service\ModuleService; use Hyperf\Framework\Bootstrap\ServerStartCallback; - -class MineStart extends ServerStartCallback +class RunStart extends ServerStartCallback { /** * @throws \Psr\Container\ContainerExceptionInterface @@ -30,7 +19,6 @@ class MineStart extends ServerStartCallback $console->info('current booting the user: ' . shell_exec('whoami')); } - protected function welcome(): string { return sprintf(' @@ -42,6 +30,6 @@ class MineStart extends ServerStartCallback | |_| |_|\_\ \_/ |_|\___| \_/\_/ | | | \-------- Copyright ZoomTk 2023 ~ %s ---------- -', date('Y')); +', date('Y', strtotime('20 year'))); } } \ No newline at end of file diff --git a/builder/Traits/ControllerTrait.php b/builder/Traits/ControllerTrait.php index c285e9f..717052e 100644 --- a/builder/Traits/ControllerTrait.php +++ b/builder/Traits/ControllerTrait.php @@ -13,23 +13,23 @@ declare(strict_types = 1); namespace Builder\Traits; use Hyperf\Di\Annotation\Inject; use Psr\Http\Message\ResponseInterface; -use Builder\MineRequest; -use Builder\MineResponse; +use Builder\BaseRequest; +use Builder\BaseResponse; trait ControllerTrait { /** - * Mine 请求处理 - * MineRequest + * Base 请求处理 + * BaseRequest */ #[Inject] - protected MineRequest $request; + protected BaseRequest $request; /** - * Mine 响应处理 - * MineResponse + * Base 响应处理 + * BaseResponse */ #[Inject] - protected MineResponse $response; + protected BaseResponse $response; /** * @param string|array|object $msgOrData diff --git a/builder/Traits/JsonBuilder.php b/builder/Traits/JsonBuilder.php index 5a05b43..d34fe11 100644 --- a/builder/Traits/JsonBuilder.php +++ b/builder/Traits/JsonBuilder.php @@ -1,13 +1,15 @@ hideAttrs)->push("hideAttrs")->toArray(); @@ -19,9 +21,26 @@ class JsonBuilder return $data; } + /*** + * 输出JSON + * @return \Psr\Http\Message\ResponseInterface + */ + public function toJson() + { + $response = new Response(); + return $response + ->json($this->jsonSerialize()); + } + /*** + * 自动执行 + * @return mixed + */ public function __toString(): string { // TODO: Implement __toString() method. - return json_encode($this->jsonSerialize(), JSON_UNESCAPED_UNICODE); + $response = new Response(); + return $response + ->json($this->jsonSerialize()) + ->__toString(); } -} +} \ No newline at end of file diff --git a/builder/Traits/MapperTrait.php b/builder/Traits/MapperTrait.php index 6045c81..d13af1e 100644 --- a/builder/Traits/MapperTrait.php +++ b/builder/Traits/MapperTrait.php @@ -15,12 +15,12 @@ use Hyperf\Database\Model\Builder; use Hyperf\Database\Model\Model; use Builder\Annotation\Transaction; -use Builder\MineCollection; -use Builder\MineModel; +use Builder\BaseCollection; +use Builder\BaseModel; trait MapperTrait { /** - * @var MineModel + * @var BaseModel */ public $model; @@ -205,9 +205,9 @@ trait MapperTrait /** * 读取一条数据 * @param int $id - * @return MineModel|null + * @return BaseModel|null */ - public function read(int $id): ?MineModel + public function read(int $id): ?BaseModel { return ($model = $this->model::find($id)) ? $model : null; } @@ -218,7 +218,7 @@ trait MapperTrait * @param array $column * @return mixed */ - public function first(array $condition, array $column = ['*']): ?MineModel + public function first(array $condition, array $column = ['*']): ?BaseModel { return ($model = $this->model::where($condition)->first($column)) ? $model : null; } @@ -248,10 +248,10 @@ trait MapperTrait /** * 从回收站读取一条数据 * @param int $id - * @return MineModel|null + * @return BaseModel|null * @noinspection PhpUnused */ - public function readByRecycle(int $id): ?MineModel + public function readByRecycle(int $id): ?BaseModel { return ($model = $this->model::withTrashed()->find($id)) ? $model : null; } @@ -341,9 +341,9 @@ trait MapperTrait } /** - * @return MineModel + * @return BaseModel */ - public function getModel(): MineModel + public function getModel(): BaseModel { return new $this->model; } @@ -360,7 +360,7 @@ trait MapperTrait #[Transaction] public function import(string $dto, ?\Closure $closure = null): bool { - return (new MineCollection())->import($dto, $this->getModel(), $closure); + return (new BaseCollection())->import($dto, $this->getModel(), $closure); } /** diff --git a/builder/Traits/ServiceTrait.php b/builder/Traits/ServiceTrait.php index 97e6612..94d0569 100644 --- a/builder/Traits/ServiceTrait.php +++ b/builder/Traits/ServiceTrait.php @@ -15,9 +15,9 @@ use Hyperf\Database\Model\Collection; use Psr\Http\Message\ResponseInterface; use Builder\Abstracts\AbstractMapper; use Builder\Annotation\Transaction; -use Builder\MineCollection; -use Builder\MineModel; -use Builder\MineResponse; +use Builder\BaseCollection; +use Builder\BaseModel; +use Builder\BaseResponse; trait ServiceTrait @@ -143,9 +143,9 @@ trait ServiceTrait /** * 读取一条数据 * @param int $id - * @return MineModel|null + * @return BaseModel|null */ - public function read(int $id): ?MineModel + public function read(int $id): ?BaseModel { return $this->mapper->read($id); } @@ -177,10 +177,10 @@ trait ServiceTrait /** * 从回收站读取一条数据 * @param int $id - * @return MineModel + * @return BaseModel * @noinspection PhpUnused */ - public function readByRecycle(int $id): MineModel + public function readByRecycle(int $id): BaseModel { return $this->mapper->readByRecycle($id); } @@ -268,7 +268,7 @@ trait ServiceTrait */ public function changeStatus(int $id, string $value, string $filed = 'status'): bool { - return $value == MineModel::ENABLE ? $this->mapper->enable([ $id ], $filed) : $this->mapper->disable([ $id ], $filed); + return $value == BaseModel::ENABLE ? $this->mapper->enable([ $id ], $filed) : $this->mapper->disable([ $id ], $filed); } /** @@ -296,14 +296,14 @@ trait ServiceTrait public function export(array $params, ?string $dto, string $filename = null): ResponseInterface { if (empty($dto)) { - return container()->get(MineResponse::class)->error('导出未指定DTO'); + return container()->get(BaseResponse::class)->error('导出未指定DTO'); } if (empty($filename)) { $filename = $this->mapper->getModel()->getTable(); } - return (new MineCollection())->export($dto, $filename, $this->mapper->getList($params)); + return (new BaseCollection())->export($dto, $filename, $this->mapper->getList($params)); } /** @@ -331,7 +331,7 @@ trait ServiceTrait { $collect = $this->handleArraySearch(collect($this->getArrayData($params)), $params); - $pageSize = MineModel::PAGE_SIZE; + $pageSize = BaseModel::PAGE_SIZE; $page = 1; if ($params[$pageName] ?? false) { diff --git a/builder/MineUpload.php b/builder/Upload.php similarity index 95% rename from builder/MineUpload.php rename to builder/Upload.php index 637a951..c0fb34a 100644 --- a/builder/MineUpload.php +++ b/builder/Upload.php @@ -1,14 +1,4 @@ - * @Link https://gitee.com/xmo/MineAdmin - */ - declare(strict_types=1); namespace Builder; use Hyperf\Di\Annotation\Inject; @@ -21,7 +11,7 @@ use Psr\Container\ContainerInterface; use App\System\Service\SettingConfigService; use Builder\Exception\NormalStatusException; use Builder\Helper\Str; -class MineUpload +class Upload { /** * @var FilesystemFactory @@ -46,7 +36,7 @@ class MineUpload protected ContainerInterface $container; /** - * MineUpload constructor. + * Upload constructor. * @param ContainerInterface $container * @throws \Psr\Container\ContainerExceptionInterface * @throws \Psr\Container\NotFoundExceptionInterface @@ -343,6 +333,6 @@ class MineUpload */ protected function getProtocol(): string { - return $this->container->get(MineRequest::class)->getScheme(); + return $this->container->get(BaseRequest::class)->getScheme(); } } \ No newline at end of file diff --git a/builder/View.php b/builder/View.php index bcfdc27..e1c7f41 100644 --- a/builder/View.php +++ b/builder/View.php @@ -15,11 +15,10 @@ use Hyperf\HttpMessage\Stream\SwooleStream; use Psr\Http\Message\ResponseInterface; use Builder\Entity\UISettingEntity; use Hyperf\HttpServer\Response; -class View extends MineResponse +class View extends BaseResponse { public static $metaTitle; - public static function response($data, $message = '', $code = 200, $headers = []) { $re_data = [ @@ -60,6 +59,7 @@ class View extends MineResponse } /*** + * 创建视图 * @param UISettingEntity $setting * @param null $content * @return ResponseInterface @@ -71,11 +71,6 @@ class View extends MineResponse $apiRoot = $setting->getApiRoot(); $homeUrl = $setting->getHomeUrl(); $token = $setting->getUser()->getToken(); - if ($setting->getUser()->getUid() > 0) { - $root = 'root'; - } else { - $root = 'login'; - } $pageData = $setting->toArray(); $pageData = json_encode($pageData, 256); if (!$content) { diff --git a/builder/View/Actions/BaseAction.php b/builder/View/Actions/BaseAction.php index 3ff780b..1183bc7 100644 --- a/builder/View/Actions/BaseAction.php +++ b/builder/View/Actions/BaseAction.php @@ -9,7 +9,6 @@ class BaseAction extends Component const HANDLER_ROUTE = "route"; const HANDLER_LINK = "link"; const HANDLER_REQUEST = "request"; - protected $componentName = ""; protected $className; protected $style; @@ -111,7 +110,8 @@ class BaseAction extends Component return $this->resource; } - public function jsonSerialize() + + public function jsonSerialize() :array { $data = []; $hide = collect($this->hideAttrs)->push("hideAttrs")->toArray(); diff --git a/builder/View/Components/Attrs/CascaderOption.php b/builder/View/Components/Attrs/CascaderOption.php index 6e82c6f..bd4a450 100644 --- a/builder/View/Components/Attrs/CascaderOption.php +++ b/builder/View/Components/Attrs/CascaderOption.php @@ -37,7 +37,7 @@ class CascaderOption extends SelectOption return $this; } - public function jsonSerialize() + public function jsonSerialize():array { $data = []; foreach ($this as $key => $val) { diff --git a/builder/View/Components/Attrs/TransferData.php b/builder/View/Components/Attrs/TransferData.php index 0e7fe2d..e61575e 100644 --- a/builder/View/Components/Attrs/TransferData.php +++ b/builder/View/Components/Attrs/TransferData.php @@ -26,7 +26,7 @@ class TransferData extends JsonBuilder /** * @inheritDoc */ - public function jsonSerialize() + public function jsonSerialize() :array { $data = []; foreach ($this as $key => $val) { diff --git a/builder/View/Components/Component.php b/builder/View/Components/Component.php index 93276db..ac2ee31 100644 --- a/builder/View/Components/Component.php +++ b/builder/View/Components/Component.php @@ -13,12 +13,9 @@ class Component extends JsonBuilder protected $className; protected $style; protected $componentValue; - - protected $ref; protected $refData; - public function __construct($value = null) { $this->componentValue($value); diff --git a/builder/View/Components/Grid/Avatar.php b/builder/View/Components/Grid/Avatar.php index fce7aab..8680e69 100644 --- a/builder/View/Components/Grid/Avatar.php +++ b/builder/View/Components/Grid/Avatar.php @@ -14,63 +14,47 @@ class Avatar extends GridComponent /** * @var string */ - protected $icon; + protected $shape = "circle"; + + protected $imageUrl = ""; /** * @var string|int */ - protected $size = "small"; - /** - * @var string - */ - protected $shape = "circle"; - /** - * @var string - */ - protected $src; - /** - * @var string - */ - protected $srcSet; - /** - * @var string - */ - protected $alt; - /** - * @var string - */ - protected $fit = "cover"; + protected $size = '40px'; + protected $autoFixFontSize =true; + + protected $triggerType ='button'; + + protected $triggerIconStyle =''; protected $defaultSrc; public function __construct($value = null) { - $this->host = config('admin.upload.host');// Storage::disk(config('admin.upload.disk')); $this->componentValue($value); - $this->defaultSrc = config('admin.default_avatar'); + $this->defaultSrc = config('config.default_avatar'); } - static public function make($value = null) { return new Avatar($value); } - /** * 设置头像的图标类型,参考 Icon 组件 * @param string $icon * @return $this */ - public function icon(string $icon) + public function triggerIconStyle(string $icon) { - $this->icon = $icon; + $this->triggerIconStyle = $icon; return $this; } /** - * 设置头像的大小 number / large / medium / small + * 设置头像的大小 number * @param int|string $size * @return $this */ @@ -80,6 +64,17 @@ class Avatar extends GridComponent return $this; } + /*** + * 是否自动根据头像尺寸调整字体大小 + * @param bool|boolean $fix + * @return $this + */ + public function autoFixFontSize(bool $fix) + { + $this->autoFixFontSize = $fix; + return $this; + } + /** * 设置头像的形状 circle / square * @param string $shape @@ -96,43 +91,9 @@ class Avatar extends GridComponent * @param string $src * @return $this */ - public function src(string $src) + public function imageUrl(string $src) { - $this->src = $src; - return $this; - } - - /** - * 以逗号分隔的一个或多个字符串列表表明一系列用户代理使用的可能的图像 - * @param string $srcSet - * @return $this - */ - public function srcSet(string $srcSet) - { - $this->srcSet = $srcSet; - return $this; - } - - /** - * 描述图像的替换文本 - * @param string $alt - * @return $this - */ - public function alt(string $alt) - { - $this->alt = $alt; - return $this; - } - - /** - * 当展示类型为图片的时候,设置图片如何适应容器框 - * fill / contain / cover / none / scale-down - * @param string $fit - * @return $this - */ - public function fit(string $fit) - { - $this->fit = $fit; + $this->imageUrl = $src; return $this; } diff --git a/builder/View/Components/Grid/Image.php b/builder/View/Components/Grid/Image.php index 41b5126..695d0e0 100644 --- a/builder/View/Components/Grid/Image.php +++ b/builder/View/Components/Grid/Image.php @@ -4,8 +4,8 @@ namespace Builder\View\Components\Grid; use Builder\View\Components\GridComponent; class Image extends GridComponent { - protected $componentName = "IImage"; + protected $componentName = "IImage"; protected $src; protected $host = ""; protected $fit = "cover"; diff --git a/builder/View/Components/Widgets/Alert.php b/builder/View/Components/Widgets/Alert.php index a7e85a6..8cb3b57 100644 --- a/builder/View/Components/Widgets/Alert.php +++ b/builder/View/Components/Widgets/Alert.php @@ -2,7 +2,6 @@ declare(strict_types=1); namespace Builder\View\Components\Widgets; use Builder\View\Components\Component; - class Alert extends Component { diff --git a/builder/View/Components/Widgets/Button.php b/builder/View/Components/Widgets/Button.php index af2cea5..9a710b2 100644 --- a/builder/View/Components/Widgets/Button.php +++ b/builder/View/Components/Widgets/Button.php @@ -3,9 +3,6 @@ declare(strict_types=1); namespace Builder\View\Components\Widgets; use Builder\View\Actions\BaseAction; use Builder\Exception\BusinessException; - -use App\Components\SubForm; - class Button extends BaseAction { use \Builder\View\Components\Attrs\Button; @@ -14,8 +11,7 @@ class Button extends BaseAction const HANDLER_LINK = "link"; const HANDLER_REQUEST = "request"; protected $uri; - protected $subFormEmit; - protected $subForm = []; + protected $handler; @@ -64,10 +60,4 @@ class Button extends BaseAction return $this; } - public function addSubItem(SubForm $formItems) - { - $this->subFormEmit = $formItems->getSubFormEmit(); - $this->subForm = $formItems->getFormItems(); - return $this; - } } diff --git a/builder/View/Form.php b/builder/View/Form.php index 32c8e29..6f98957 100644 --- a/builder/View/Form.php +++ b/builder/View/Form.php @@ -1,13 +1,5 @@ isGetData) { return $this->editData($this->getResourceId()); diff --git a/builder/View/Form/FormItem.php b/builder/View/Form/FormItem.php index e2ad4ab..2ef21f8 100644 --- a/builder/View/Form/FormItem.php +++ b/builder/View/Form/FormItem.php @@ -766,7 +766,7 @@ class FormItem extends Component ]; } - public function jsonSerialize() + public function jsonSerialize() :array { return $this->getAttrs(); } diff --git a/builder/View/Form/FormTab.php b/builder/View/Form/FormTab.php index 061d88c..bed14e4 100644 --- a/builder/View/Form/FormTab.php +++ b/builder/View/Form/FormTab.php @@ -51,7 +51,7 @@ class FormTab extends JsonBuilder return $this; } - public function jsonSerialize() + public function jsonSerialize() :array { return ['name' => $this->name, 'rows' => $this->rows]; } diff --git a/builder/View/Grid.php b/builder/View/Grid.php index 275579d..cc95e9b 100644 --- a/builder/View/Grid.php +++ b/builder/View/Grid.php @@ -1,57 +1,54 @@ attributes = new Attributes(); - $this->dataUrl = admin_api_url(request()->path()) . '/list'; + $this->dataUrl = request()->path(); $this->model = new Model($model, $this); if ($model) { $this->table = $model->getTable(); $this->keyName = $model->getKeyName(); $this->defaultSort($model->getKeyName(), "asc"); } -// $this->isGetData = request('get_data') == "true"; - $this->isGetData = request()->header('getData')=="true"; + $this->isGetData = request()->header('getData') == "true"; $this->toolbars = new Toolbars($this); $this->batchActions = new BatchActions(); $this->filter = new Filter($this->model); @@ -122,13 +105,6 @@ class Grid extends Component return $this->model; } - /** - * @return string - */ - public function getKeyName(): string - { - return $this->keyName; - } /** * 自定义数据源路径 @@ -142,6 +118,7 @@ class Grid extends Component } /** + * 设置请求方式 * @param string $method * @return $this */ @@ -170,7 +147,6 @@ class Grid extends Component return $this; } - /** * @return bool */ @@ -191,32 +167,48 @@ class Grid extends Component return $this; } - /** * Grid添加字段 * @param string $name 对应列内容的字段名 * @param string $label 显示的标题 - * @param string $columnKey 排序查询等数据操作字段名称 + * @param string $type 表单类型 * @return Column */ - public function column($name, $label = '', $columnKey = null) + public function column($name, $label = '', $type ='') { if (Str::contains($name, '.')) { $this->addRelationColumn($name, $label); } - - return $this->addColumn($name, $label, $columnKey); + return $this->addColumn($name, $label, $type); } /** + * 添加多列数据 + * @param array $column + * @return $this + */ + public function addColumns(array $column = []) + { + if (!empty($columns)) { + foreach ($columns as $column) { + call_user_func_array([$this, 'addColumn'], $column); + } + } + return $this; + } + + /*** + * 添加列 * @param string $name - * @param string $label - * @param $columnKey + * @param string $title 标题 + * @param null $type 字段类型 + * @param string $default + * @param array $param * @return Column */ - protected function addColumn($name = '', $label = '', $columnKey = null) + protected function addColumn($name = '', $title = '', $type ='',$default='',$param=[]) { - $column = new Column($name, $label, $columnKey); + $column = new Column($name, $title, $type,$default,$param); $column->setGrid($this); $this->columns[] = $column; return $column; @@ -224,10 +216,8 @@ class Grid extends Component /** * Add a relation column to grid. - * * @param string $name * @param string $label - * * @return $this|bool|Column */ protected function addRelationColumn($name, $label = '') @@ -243,6 +233,7 @@ class Grid extends Component } /** + * 获取列表属性 * @param Column[] $columns */ protected function columns($columns) @@ -252,22 +243,24 @@ class Grid extends Component })->toArray(); } + public function getColumns() { return $this->columns; } + public function applyWhere() { //快捷搜索 $this->applyQuickSearch(); } + public function applyQuery() { //快捷搜索 $this->applyQuickSearch(); - $this->applyFilter(false); } @@ -318,29 +311,6 @@ class Grid extends Component return $actions->builderActions(); } - /** - * @param Form $dialogForm - * @param $width - * @param $title - * @return Grid - */ - public function dialogForm(Form $dialogForm, $width = '750px', $title = ['添加', '修改']) - { - $this->dialogForm = $dialogForm; - // $this->dialogForm->labelPosition('right')->labelWidth('90px'); - $this->dialogFormWidth = $width; - $this->dialogTitle = $title; - return $this; - } - - /** - * @return Form - */ - public function getDialogForm() - { - return $this->dialogForm; - } - /** * @param $closure @@ -364,7 +334,6 @@ class Grid extends Component return $this; } - /** * 自定义数据 * @param $data @@ -381,12 +350,31 @@ class Grid extends Component 'per_page' => (int)$per_page, 'last_page' => (int)$last_page, 'total' => (int)$total, - 'data' => $data, + 'items' => $data, ]; return $this; } - + /*** + * 设置自定义数据 + * @param $data + * @param int $current_page + * @param int $per_page + * @param int $last_page + * @param int $total + * @return $this + */ + public function setRowList($data, $current_page = 0, $per_page = 0, $last_page = 0, $total = 0) + { + $this->customData = [ + 'current_page' => (int)$current_page, + 'per_page' => (int)$per_page, + 'last_page' => (int)$last_page, + 'total' => (int)$total, + 'items' => $data, + ]; + return $this; + } /** * data * @return array @@ -394,7 +382,8 @@ class Grid extends Component protected function data() { if ($this->customData) { - $this->customData['data'] = $this->model()->displayData($this->customData['data']); + var_dump(9999); +// $this->customData['data'] = $this->model()->displayData($this->customData['data']); return [ 'code' => 200, 'data' => $this->isHidePage() ? $this->customData['data'] : $this->customData @@ -409,9 +398,10 @@ class Grid extends Component } /** + * 输出JSON * @inheritDoc */ - public function jsonSerialize() + public function jsonSerialize(): array { if (count($this->columnAttributes) <= 0) { $this->columns($this->columns); @@ -419,34 +409,38 @@ class Grid extends Component if ($this->isGetData) { return $this->data(); } else { - $viewData['componentName'] = $this->componentName; - $viewData['routers'] = [ - 'resource' => admin_api_url(request()->path()), - ]; - $viewData['keyName'] = $this->keyName; - $viewData['selection'] = $this->attributes->selection; - $viewData['tree'] = $this->tree; - $viewData['defaultSort'] = $this->defaultSort; - $viewData['columnAttributes'] = $this->columnAttributes; - $viewData['attributes'] = (array)$this->attributes; - $viewData['dataUrl'] = $this->dataUrl; - $viewData['export'] = $this->enableExport; - $viewData['method'] = $this->method; - $viewData['hidePage'] = $this->isHidePage(); - $viewData['pageSizes'] = $this->pageSizes; - $viewData['perPage'] = $this->perPage; - $viewData['pageLayout'] = $this->pageLayout; - $viewData['pageBackground'] = $this->pageBackground; - $viewData['toolbars'] = $this->toolbars->builderData(); - $viewData['batchActions'] = $this->batchActions->builderActions(); - $viewData['quickSearch'] = $this->quickSearch; - $viewData['filter'] = $this->filter->buildFilter(); - $viewData['top'] = $this->top; - $viewData['bottom'] = $this->bottom; - $viewData['dialogForm'] = $this->dialogForm; - $viewData['dialogFormWidth'] = $this->dialogFormWidth; - $viewData['dialogTitle'] = $this->dialogTitle; - $viewData['ref'] = $this->getRef(); + $viewData['componentName'] = $this->componentName; //模板名 + $viewData['crudOptions'] =$this->attributes; //表单参数 + $viewData['dataUrl'] = $this->dataUrl; //数据请求地址 + $viewData['method'] = $this->method; //请求方式 + $viewData['topButtons'] = $this->top_buttons; //系统默认按钮 + $viewData['rowColumn'] = $this->columnAttributes;//列表 +// $viewData['attributes'] = $this->attributes;//列表 +// var_dump($this->attributes); +// $viewData['ref'] = $this->getRef(); //自定义事件 +// $viewData['quickSearch'] = $this->quickSearch; //快速搜索 +// $viewData['toolbars'] = $this->toolbars->builderData(); //操作工具 +// $viewData['batchActions'] = $this->batchActions->builderActions(); //自定义TOP操作工具 +// $viewData['selection'] = $this->attributes->selection;//搜索 +// 'topBottom' =>$this->top_buttons, //数据请求地址 +// $viewData['keyName'] = +// $viewData['filter'] = $this->filter->buildFilter();//过滤 +// $viewData['tree'] = $this->tree;//信息树 +// $viewData['hidePage'] = $this->isHidePage(); //分页状态 +// $viewData['pageSizes'] = $this->pageSizes; +// $viewData['perPage'] = $this->perPage; //分页默认数量 +// $viewData['dialogForm'] =[ +// 'dialogTitle'=> $this->dialogTitle, +// 'dialogFormWidth'=>$this->dialogFormWidth, +// 'Form'=>$this->dialogForm, +// ] ; //弹窗表单 +// $viewData['pageBackground'] = $this->pageBackground; //页面背景 +// $viewData['pageLayout'] = $this->pageLayout; //页面布局 +// $viewData['export'] = $this->enableExport; //数据导出 +// $viewData['defaultSort'] = $this->defaultSort;//默认排序 +// $viewData['attributes'] = (array)$this->attributes;//属性 +// $viewData['top'] = $this->top; //顶部 +// $viewData['bottom'] = $this->bottom; //按钮 return $viewData; } } @@ -467,7 +461,6 @@ class Grid extends Component $this->componentName = $componentName; return $this; } - /** * @param bool $isGetData */ diff --git a/builder/View/Grid/Actions.php b/builder/View/Grid/Actions.php index 91a67c3..9a47bd8 100644 --- a/builder/View/Grid/Actions.php +++ b/builder/View/Grid/Actions.php @@ -48,6 +48,4 @@ class Actions extends JsonBuilder $this->key = $key; return $this; } - - } diff --git a/builder/View/Grid/BatchActions.php b/builder/View/Grid/BatchActions.php index fa03877..f1e14b9 100644 --- a/builder/View/Grid/BatchActions.php +++ b/builder/View/Grid/BatchActions.php @@ -1,25 +1,13 @@ addActions = collect($this->addActions)->push($action)->all(); } - - return $this; } @@ -70,6 +56,10 @@ class BatchActions } + /** + * 编译自定义操作栏 + * @return \Hyperf\Utils\Collection + */ public function builderActions() { $actions = collect($this->actions); diff --git a/builder/View/Grid/BatchActions/BatchAction.php b/builder/View/Grid/BatchActions/BatchAction.php deleted file mode 100644 index b9ac538..0000000 --- a/builder/View/Grid/BatchActions/BatchAction.php +++ /dev/null @@ -1,109 +0,0 @@ -content = $content; - } - - /** - * 批量操作名称 - * @param mixed $content - * @return $this - */ - public function content($content) - { - $this->content = $content; - return $this; - } - - /** - * @param string $content 按钮内容 - * @return BatchAction - */ - public static function make($content) - { - return new BatchAction($content); - } - - /** - * 批量操作路径 - * @param mixed $uri - * @return $this - */ - public function uri($uri) - { - $this->uri = $uri; - return $this; - } - - - /** - * 批量操作响应事件类型 - * @param string $handler 响应类型 request|route|link - * @return $this - */ - public function handler($handler) - { - if (!in_array($handler, [self::HANDLER_LINK, self::HANDLER_REQUEST, self::HANDLER_ROUTE])) { - throw new BusinessException(400, "ActionButton 事件类型错误"); - } - $this->handler = $handler; - return $this; - } - - /** - * vue路由快捷设置方法 - * @param $uri - * @return $this - */ - public function route($uri) - { - $this->uri = $uri; - $this->handler = self::HANDLER_ROUTE; - return $this; - } - - - - /** - * 获取批量选择key - * 注意:只可用于uri设置 - * @return string - */ - public function getKeys(): string - { - return $this->keys; - } - - /** - * 确认操作提示信息 - * @param mixed $message - * @return $this - */ - public function message($message) - { - $this->message = $message; - return $this; - } - -} diff --git a/builder/View/Grid/BatchActions/DeleteAction.php b/builder/View/Grid/BatchActions/DeleteAction.php deleted file mode 100644 index aa5c17b..0000000 --- a/builder/View/Grid/BatchActions/DeleteAction.php +++ /dev/null @@ -1,25 +0,0 @@ -content = $content; - $this->handler = self::HANDLER_REQUEST; - $this->requestMethod = "delete"; - $this->uri = $this->resource . '/' . $this->getKeys(); - $this->message = "确定要批量删除吗?"; - $this->beforeEmit("tableSetLoading", true); - $this->successEmit("tableReload"); - $this->afterEmit("tableSetLoading", false); - } - - public static function make($content = "批量删除") - { - return new DeleteAction($content); - } -} diff --git a/builder/View/Grid/Column.php b/builder/View/Grid/Column.php index 0e47b81..1f1824a 100644 --- a/builder/View/Grid/Column.php +++ b/builder/View/Grid/Column.php @@ -3,78 +3,97 @@ declare(strict_types=1); namespace Builder\View\Grid; use Builder\View\Grid; use Builder\View\Grid\Column\Attributes; - use Closure; class Column { use Grid\Concerns\HasColumnAttributes; - /** * @var Grid */ protected $grid; - protected $name; - protected $label; - protected $columnKey; - private $columnData; - - protected $defaultValue; - +// protected $name; +// +// protected $dataIndex; +// +// protected $title; +// +// protected $defaultValue; +// +// protected $formType; +// +// protected $extra; +// +// private $columnData; /** * @var Closure */ protected $displayCallbacks; - - public function __construct($name, $label, $columnKey = null) + public function __construct($dataIndex, $title, $type,$default,$param) { $this->attributes = new Attributes(); - $this->name = $name; - $this->columnKey = $columnKey; - $this->label = $this->formatLabel($label); - $this->initAttributes(); + + + $this->attributes->dataIndex=$dataIndex; + + $this->attributes->title=$title; + + $this->attributes->formType=$type; + + $this->attributes->extra=$param; + +// $this->dataIndex = $dataIndex; +// $this->title = $title; +// $this->formType = $type; +// $this->default = $default; +// $this->extra = $param; +// $this->initAttributes(); } + protected function initAttributes() { - $this->attributes->prop = $this->name; - $this->attributes->label = $this->label; - if (empty($this->columnKey)) { - $this->columnKey = $this->name; - } - $this->attributes->columnKey = $this->columnKey; - $name = str_replace('.', '-', $this->name); + $this->attributes->title = $this->title; + $this->attributes->dataIndex = $this->dataIndex; } + protected function formatLabel($label) { if ($label) { return $label; } - $label = ucfirst($this->name); + $label = ucfirst($this->title); return (str_replace(['.', '_'], ' ', $label)); } + /** + * 设置栅格 + * @param Grid $grid + */ public function setGrid(Grid $grid) { $this->grid = $grid; } /** - * 自定义值 - * + * 自定义值 函数 * @param Closure $callback - * * @return $this */ public function customValue(Closure $callback) { $this->displayCallbacks = $callback; - return $this; } + /** + * 自定义静态参数 + * @param $row + * @param $value + * @return false|mixed + */ public function customValueUsing($row, $value) { return $this->displayCallbacks ? call_user_func($this->displayCallbacks, $row, $value) : $value; @@ -111,6 +130,7 @@ class Column return $this; } + public function getAttributes() { return $this->attributes; diff --git a/builder/View/Grid/Column/Attributes.php b/builder/View/Grid/Column/Attributes.php index 7ce5628..84c7f93 100644 --- a/builder/View/Grid/Column/Attributes.php +++ b/builder/View/Grid/Column/Attributes.php @@ -1,83 +1,98 @@ actions); diff --git a/builder/View/Grid/Concerns/HasColumnAttributes.php b/builder/View/Grid/Concerns/HasColumnAttributes.php index 70a7d89..b8b50a8 100644 --- a/builder/View/Grid/Concerns/HasColumnAttributes.php +++ b/builder/View/Grid/Concerns/HasColumnAttributes.php @@ -4,6 +4,7 @@ namespace Builder\View\Grid\Concerns; use Builder\View\Grid\Column\Attributes; trait HasColumnAttributes { + /** * * @var Attributes @@ -11,16 +12,492 @@ trait HasColumnAttributes protected $attributes; /** - * 对应列的类型 - * @param $type + * 显示的标题 + * @param string $label * @return $this */ - public function type($type) + public function title(string $title) { - $this->attributes->type = $type; + $this->attributes->title = $title; return $this; } + + /** + * 设置字段 + * @param string $label + * @return $this + */ + public function dataIndex(string $dataIndex) + { + $this->attributes->dataIndex = $dataIndex; + return $this; + } + + + /** + * 对应列表单类型 + * @param $type + * @return $this + */ + public function formType($type) + { + $this->attributes->formType = $type; + return $this; + } + + /*** + * 表格列对齐方式:'center', 'left', 'right' + * @param $align + * @return $this + */ + public function align($align) + { + $this->attributes->align = $align; + return $this; + } + + + /** + * 设置表格字段排序: + * { sortDirections: ['ascend', 'descend'], sorter: true }, + * 其中 sorter 是否设置为服务器排序 + * @param string $sortable + * @return $this + */ + public function sortable($sortable = 'custom') + { + $this->attributes->sortable = $sortable == 'custom'; + return $this; + } + + /*** + * 是否搜索字段 + * @param array $search + * @return $this + */ + public function search($search = false) + { + $this->attributes->search = $search; + return $this; + } + + /** + * 对应列的宽度 + * @param string|int $width + * @return $this + */ + public function width($width = 'auto') + { + $this->attributes->width = $width; + return $this; + } + + + /*** + * 表格列是否设置隐藏 + * @param bool $hide + * @return $this + */ + public function hide($hide = false) + { + $this->attributes->hide = $hide; + return $this; + } + + + /*** + * 是否显示省略号 + * @param bool $ellipsis + * @return $this + */ + public function ellipsis($ellipsis = true) + { + $this->attributes->ellipsis = $ellipsis; + return $this; + } + + /** + * 当内容过长被隐藏时显示 tooltip + * @param bool $showOverflowTooltip + * @return $this + */ + public function tooltip($Tooltip = true) + { + $this->attributes->tooltip = $Tooltip; + return $this; + } + + /*** + * 设置表格列筛选功能 + * JS Function + * @param filterable $ellipsis + * @return $this + */ + public function filterable($js) + { + $this->attributes->filterable = $js; + return $this; + } + + /** + * 自定义单元格类名 cellClass + * @param string $className + * @return $this + */ + public function cellClass($cellClass) + { + $this->attributes->cellClass = $cellClass; + return $this; + } + + /** + * 自定义表头单元格类名 + * @param $headerCellClass + * @return $this + */ + public function headerCellClass($headerCellClass) + { + $this->attributes->headerCellClass = $headerCellClass; + return $this; + } + + /** + * 自定义内容单元格类名 + * @param $bodyCellClass + * @return $this + */ + public function bodyCellClass($bodyCellClass) + { + $this->attributes->bodyCellClass = $bodyCellClass; + return $this; + } + + /*** + * 自定义总结栏单元格类名 + * @param $summaryCellClass + * @return $this + */ + public function summaryCellClass($summaryCellClass) + { + $this->attributes->summaryCellClass = $summaryCellClass; + return $this; + } + + /** + * 自定义单元格样式 + * @param $cellStyle + * @return $this + */ + public function cellStyle($cellStyle) + { + $this->attributes->cellStyle = $cellStyle; + return $this; + } + + /** + * 自定义表头单元格样式 + * @param $headerCellStyle + * @return $this + */ + public function headerCellStyle($headerCellStyle) + { + $this->attributes->headerCellStyle = $headerCellStyle; + return $this; + } + + /*** + * 自定义内容单元格样式 + * @param $bodyCellStyle + * @return $this + */ + public function bodyCellStyle($bodyCellStyle) + { + $this->attributes->headerCellStyle = $bodyCellStyle; + return $this; + } + + /*** + * 自定义总结栏单元格样式 + * @param $summaryCellStyle + * @return $this + */ + public function summaryCellStyle($summaryCellStyle) + { + $this->attributes->summaryCellStyle = $summaryCellStyle; + return $this; + } + + /*** + * 设置新增和编辑时的表单字段描述 + * @param $placeholder + * @return $this + */ + public function placeholder($placeholder) + { + $this->attributes->summaryCellStyle = $placeholder; + return $this; + } + + /** + * 新增/编辑 通用表单验证规则,可参考 Arco + * https://arco.design/vue/component/form#Type + * @param $commonRules + * @return $this + */ + public function commonRules($commonRules) + { + $this->attributes->commonRules = $commonRules; + return $this; + } + + /*** + * 新增时表单的验证规则,可参考 Arco 官方的 + * @param $addRules + * @return $this + */ + public function addRules($addRules) + { + $this->attributes->addRules = $addRules; + return $this; + } + + /*** + * 编辑时表单的验证规则 + * @param $editRules + * @return $this + */ + public function editRules($editRules) + { + $this->attributes->editRules = $editRules; + return $this; + } + /*** + * 新增/编辑 是否显示字段表单 + * @param $display + * @return $this + */ + public function display(Boolean $display) + { + $this->attributes->display = $display; + return $this; + } + + /** + * 新增是否显示字段表单 + * @param $addDisplay + * @return $this + */ + public function addDisplay(Boolean $addDisplay) + { + $this->attributes->addDisplay = $addDisplay; + return $this; + } + + /*** + * 编辑是否显示字段表单 + * @param $editDisplay + * @return $this + */ + public function editDisplay(Boolean $editDisplay) + { + $this->attributes->editDisplay = $editDisplay; + return $this; + } + + /** + * 新增/编辑 是否禁用字段表单 + * @param Boolean $disabled + * @return $this + */ + public function disabled(Boolean $disabled) + { + $this->attributes->disabled = $disabled; + return $this; + } + + /** + * 新增是否禁用字段表单 + * @param Boolean $addDisabled + * @return $this + */ + public function addDisabled(Boolean $addDisabled) + { + $this->attributes->addDisabled = $addDisabled; + return $this; + } + + /** + * 编辑是否禁用字段表单 + * @param Boolean $editDisabled + * @return $this + */ + public function editDisabled(Boolean $editDisabled) + { + $this->attributes->editDisabled = $editDisabled; + return $this; + } + + /** + * 新增/编辑 是否只读字段表单 + * @param Boolean $readonly + * @return $this + */ + public function readonly(Boolean $readonly) + { + $this->attributes->readonly = $readonly; + return $this; + } + + /*** + * 新增是否只读字段表单 + * @param Boolean $addReadonly + * @return $this + */ + public function addReadonly(Boolean $addReadonly) + { + $this->attributes->addReadonly = $addReadonly; + return $this; + } + + /*** + * 编辑是否只读字段表单 + * @param Boolean $editReadonly + * @return $this + */ + public function editReadonly(Boolean $editReadonly) + { + $this->attributes->editReadonly = $editReadonly; + return $this; + } + + /*** + * 字段新增时默认值 + * @param Boolean $addDefaultValue + * @return $this + */ + public function addDefaultValue($addDefaultValue) + { + $this->attributes->addDefaultValue = $addDefaultValue; + return $this; + } + + /*** + * 字段编辑时默认值 + * @param $editDefaultValue + * @return $this + */ + public function editDefaultValue($editDefaultValue) + { + $this->attributes->editDefaultValue = $editDefaultValue; + return $this; + } + + /*** + * 使用字典数据 + * @param array $arr + * @return $this + */ + public function dict(array $dict) + { + $this->attributes->dict = $dict; + return $this; + } + + /*** + * 设置字段搜索的默认值 + * @param $searchDefaultValue + * @return $this + */ + public function searchDefaultValue($searchDefaultValue) + { + $this->attributes->searchDefaultValue = $searchDefaultValue; + return $this; + } + + /** + * 设置搜索字段的表单描述 + * @param $searchPlaceholder + * @return $this + */ + public function searchPlaceholder(string $searchPlaceholder) + { + $this->attributes->searchPlaceholder = $searchPlaceholder; + return $this; + } + + + /** + * 扩展字典 + * @param $extra + * @return $this + */ + public function extra($extra) + { + $this->attributes->extra = $extra; + return $this; + } + + /*** + * 字段交互控制 + * @param $js + * @return $this + */ + public function control($js) + { + $this->attributes->control = $js; + return $this; + } + + /*** + * 设置表头 + * @param array $children + * @return $this + */ + public function children(array $children) + { + $this->attributes->children = $children; + return $this; + } + /*** + * 子表单,formType为 children-form 时生效 + * @param array $FormList + * @return $this + */ + public function FormList(array $formList) + { + $this->attributes->FormList = $formList; + return $this; + } + /*** + * 默认空行,formType为 children-form 时生效 + * @param int $emptyRow + * @return $this + */ + public function emptyRow(int $emptyRow = 0) + { + $this->attributes->emptyRow = $emptyRow; + return $this; + } + /*** + * @param $jsx 模板语法自定义 + * @return $this + */ + public function customRender($jsx) + { + $this->attributes->customRender = $jsx; + return $this; + } + /** + * 设置数据联动 + * @param array $cascaderItem + * @return $this + */ + public function cascaderItem(array $cascaderItem) + { + $this->attributes->cascaderItem = $cascaderItem; + return $this; + } /** * column 的 key * @param string $columnKey @@ -31,119 +508,6 @@ trait HasColumnAttributes $this->attributes->columnKey = $columnKey; return $this; } - - /** - * 显示的标题 - * @param string $label - * @return $this - */ - private function label(string $label) - { - $this->attributes->label = $label; - - return $this; - } - - /** - * 对应列内容的字段名 - * @param string $prop - * @return $this - */ - public function prop(string $prop) - { - $this->attributes->prop = $prop; - return $this; - } - - /** - * 对应列的宽度 - * @param string|int $width - * @return $this - */ - public function width($width) - { - $this->attributes->width = $width; - return $this; - } - - /** - * 对应列的最小宽度,与 width 的区别是 width 是固定的,min-width 会把剩余宽度按比例分配给设置了 min-width 的列 - * @param string $minWidth - * @return $this - */ - public function minWidth(string $minWidth) - { - $this->attributes->minWidth = $minWidth; - return $this; - } - - /** - * 列是否固定在左侧或者右侧,true 表示固定在左侧 - * true, left, right - * @param bool|string $fixed - * @return $this - */ - public function fixed($fixed = true) - { - $this->attributes->fixed = $fixed; - return $this; - } - - /** - * 当内容过长被隐藏时显示 tooltip - * @param bool $showOverflowTooltip - * @return $this - */ - public function showOverflowTooltip($showOverflowTooltip = true) - { - $this->attributes->showOverflowTooltip = $showOverflowTooltip; - return $this; - } - - /** - * 对齐方式 left/center/right - * @param string $align - * @return $this - */ - public function align(string $align) - { - $this->attributes->align = $align; - return $this; - } - - /** - * 表头对齐方式,若不设置该项,则使用表格的对齐方式 left/center/right - * @param string $headerAlign - * @return $this - */ - public function headerAlign($headerAlign) - { - $this->attributes->headerAlign = $headerAlign; - return $this; - } - - /** - * 列的 className - * @param string $className - * @return $this - */ - public function className($className) - { - $this->attributes->className = $className; - return $this; - } - - /** - * 当前列标题的自定义类名 - * @param string $labelClassName - * @return $this - */ - public function labelClassName($labelClassName) - { - $this->attributes->labelClassName = $labelClassName; - return $this; - } - /** * 表头提示内容 * @param string $help @@ -154,56 +518,6 @@ trait HasColumnAttributes $this->attributes->help = $help; return $this; } - - /** - * 对应列是否可以排序,如果设置为 'custom',则代表用户希望远程排序,需要监听 Table 的 sort-change 事件 - * true, false, 'custom' - * @param string $sortable - * @return $this - */ - public function sortable($sortable = 'custom') - { - $this->attributes->sortable = $sortable == 'custom'; - return $this; - } - - - /** - * 暂不支持 - * 数据过滤的选项,数组格式,数组中的元素需要有 text 和 value 属性。 - * @param array $filters - * @return $this - */ - public function filters(array $filters) - { - $this->attributes->filters = $filters; - return $this; - } - - /** - * 过滤弹出框的定位 与 Tooltip 的 placement 属性相同 - * @param $filterPlacement - * @return $this - */ - public function filterPlacement($filterPlacement) - { - $this->attributes->filterPlacement = $filterPlacement; - return $this; - } - - - /** - * 数据过滤的选项是否多选 - * @param bool $filterMultiple - * @return $this - */ - public function filterMultiple(bool $filterMultiple) - { - $this->attributes->filterMultiple = $filterMultiple; - return $this; - } - - /** * 前缀 * @param string $itemPrefix @@ -214,7 +528,6 @@ trait HasColumnAttributes $this->attributes->itemPrefix = $itemPrefix; return $this; } - /** * 后缀 * @param string $itemSuffix @@ -235,5 +548,4 @@ trait HasColumnAttributes $this->attributes->displayComponentAttrs = $displayComponentAttrs; return $this; } - } diff --git a/builder/View/Grid/Concerns/HasGridAttributes.php b/builder/View/Grid/Concerns/HasGridAttributes.php index d83c80f..0f1e62f 100644 --- a/builder/View/Grid/Concerns/HasGridAttributes.php +++ b/builder/View/Grid/Concerns/HasGridAttributes.php @@ -1,265 +1,448 @@ attributes->height = $height; + $this->attributes->pk = $key; return $this; } - /** - * js计算页面高度,使表格高度撑满窗口 + /*** + * 表单是否排除pk字段 + * @param $key * @return $this */ - public function autoHeight(){ - $this->attributes->height = 'auto'; - return $this; - } - - - /** - * Table 的最大高度。合法的值为数字或者单位为 px 的高度。 - * @param string|int $maxHeight - * @return $this - */ - public function maxHeight($maxHeight) + public function formExcludePk(Boolean $pk) { - $this->attributes->maxHeight = $maxHeight; + $this->attributes->formExcludePk = $pk; + return $this; + } + + /*** + * 表格的行选择器配置 + * @param $row + * @return $this + */ + public function rowSelection($row) + { + $this->attributes->rowSelection = $row; + return $this; + } + + + /*** + * 设置开启多选 + * @param bool $showCheckedAll + */ + public function showCheckedAll($showCheckedAll=true){ + $this->attributes->rowSelection=[ + 'showCheckedAll'=>$showCheckedAll + ]; + } + + /*** + * 是否显示边框 + * @param $row + * @return $this + */ + public function bordered($bordered) + { + $this->attributes->bordered = $bordered; + return $this; + } + + /*** + * 子节点为空隐藏节点按钮 + * @param $bordered + * @return $this + */ + public function hideExpandButtonOnEmpty($bordered) + { + $this->attributes->hideExpandButtonOnEmpty = $bordered; + return $this; + } + + /*** + * 每页记录数 + * @param $pageSize + * @return $this + */ + public function pageSize(int $pageSize) + { + $this->attributes->pageSize = $pageSize; + return $this; + } + + /*** + * 设置分页组件每页记录数 + * [10, 20, 30, 50, 100] + * @param array $pageSizeOption + * @return $this + */ + public function pageSizeOption(array $pageSizeOption) + { + $this->attributes->pageSizeOption = $pageSizeOption; + return $this; + } + + /*** + * 默认展开所有行 + * @param Boolean $tablePagination + * @return $this + */ + public function tablePagination($tablePagination=true) + { + $this->attributes->tablePagination = $tablePagination; return $this; } /** - * 是否为斑马纹 table - * @param bool $stripe + * 默认展开搜索栏 + * @param Boolean $expandAllRows * @return $this */ - public function stripe($stripe = true) + public function expandAllRows($expandAllRows=true) + { + $this->attributes->expandAllRows = $expandAllRows; + return $this; + } + + /*** + * 默认展开搜索栏 + * @param Boolean $expandSearch + * @return $this + */ + public function expandSearch(Boolean $expandSearch) + { + $this->attributes->expandSearch = $expandSearch; + return $this; + } + + /*** + * 是否显示斑马线 + * @param Boolean $stripe + * @return $this + */ + public function stripe(Boolean $stripe) { $this->attributes->stripe = $stripe; return $this; } - /** - * 是否带有纵向边框 - * @param bool $border + /*** + * 表格大小 + * 'mini', 'small', 'medium', 'large' + * @param $size * @return $this */ - public function border($border = true) - { - $this->attributes->border = $border; - return $this; - } - - /** - * Table 的尺寸 - * medium / small / mini - * @param string $size - * @return $this - */ - public function size(string $size) + public function size($size) { $this->attributes->size = $size; return $this; } - - /** - * 列的宽度是否自撑开 - * @param bool $fit + /*** + * 搜索label宽度 + * @param $searchLabelWidth * @return $this */ - public function fit(bool $fit = true) + public function searchLabelWidth($searchLabelWidth) { - $this->attributes->fit = $fit; + $this->attributes->searchLabelWidth = $searchLabelWidth; return $this; } - - /** - * 是否显示表头 - * @param bool $showHeader + /*** + * 搜索label对齐方式 + * 'left', 'center', 'right' + * @param $searchLabelAlign * @return $this */ - public function showHeader($showHeader = true) + public function searchLabelAlign($searchLabelAlign) { - $this->attributes->showHeader = $showHeader; + $this->attributes->searchLabelAlign = $searchLabelAlign; return $this; } - - /** - * 是否要高亮当前行 - * @param bool $highlightCurrentRow + /*** + * 搜索栏每行显示列数 + * @param $searchColNumber * @return $this */ - public function highlightCurrentRow($highlightCurrentRow = true) + public function searchColNumber($searchColNumber) { - $this->attributes->highlightCurrentRow = $highlightCurrentRow; + $this->attributes->searchColNumber = $searchColNumber; + return $this; + } + + /*** + * 搜索栏搜索按钮文案 + * @param $searchSubmitButtonText + * @return $this + */ + public function searchSubmitButtonText($searchSubmitButtonText) + { + $this->attributes->searchSubmitButtonText = $searchSubmitButtonText; + return $this; + } + + /*** + * 搜索栏重置按钮文案 + * @param $searchResetButtonText + * @return $this + */ + public function searchResetButtonText($searchResetButtonText) + { + $this->attributes->searchResetButtonText = $searchResetButtonText; + return $this; + } + + /*** + * 是否显示折叠按钮 + * @param $isExpand + * @return $this + */ + public function isExpand($isExpand) + { + $this->attributes->isExpand = $isExpand; + return $this; + } + + /*** + * 是否显示工具栏 + * @param $showTools + * @return $this + */ + public function showTools($showTools) + { + $this->attributes->showTools = $showTools; + return $this; + } + + /*** + * 允许调整列宽 + * @param $resizable + * @return $this + */ + public function resizable($resizable) + { + $this->attributes->resizable = $resizable; + return $this; + } + + /*** + * 表头是否固定吸顶 + * @param $stickyHeader + * @return $this + */ + public function stickyHeader($stickyHeader) + { + $this->attributes->stickyHeader = $stickyHeader; + return $this; + } + + /*** + * 表格滚动默认宽高 + * @param $scroll + * @return $this + */ + public function scroll($scroll) + { + $this->attributes->scroll = $scroll; + return $this; + } + + /*** + * 统一设置列宽度 + * @param $columnWidth + * @return $this + */ + public function columnWidth(int $columnWidth) + { + $this->attributes->columnWidth = $columnWidth; + return $this; + } + + /*** + * 是否自动请求 + * @param $autoRequest + * @return $this + */ + public function autoRequest($autoRequest=true) + { + $this->attributes->autoRequest = $autoRequest; return $this; } /** - * 空数据时显示的文本内容 - * @param string $emptyText + * 新增、编辑、删除完成后是否刷新表格 + * @param $dataCompleteRefresh * @return $this */ - public function emptyText($emptyText) + public function dataCompleteRefresh($dataCompleteRefresh=true) { - $this->attributes->emptyText = $emptyText; + $this->attributes->dataCompleteRefresh = $dataCompleteRefresh; + return $this; + } + + /*** + * 是否开启双击编辑数据 + * @param $isDbClickEdit + * @return $this + */ + public function isDbClickEdit($isDbClickEdit=true) + { + $this->attributes->isDbClickEdit = $isDbClickEdit; + return $this; + } + + /*** + * 是否显示自定义扩展行 + * @param $showExpandRow + * @return $this + */ + public function showExpandRow($showExpandRow) + { + $this->attributes->showExpandRow = $showExpandRow; + return $this; + } + + /*** + * 是否显示合计行 + * @param $showSummary + * @return $this + */ + public function showSummary($showSummary) + { + $this->attributes->showSummary = $showSummary; return $this; } /** - * tooltip effect 属性 - * dark/light - * @param string $tooltipEffect + * 自定义合计行 JS + * Function * @return $this */ - public function tooltipEffect($tooltipEffect) - { - $this->attributes->tooltipEffect = $tooltipEffect; + public function customerSummary($customerSummary){ + $this->attributes->customerSummary = $customerSummary; return $this; } - public function rowKey($rowKey) - { - $this->attributes->rowKey = $rowKey; - return $this; - } - - - /** - * @param $url - * @return $this - * @deprecated - * 开启拖拽排序 - */ - public function draggable($url) - { - $this->attributes->draggable = true; - $this->attributes->draggableUrl = $url; - return $this; - } - - /** - * 是否默认展开所有行,当 Table 包含展开行存在或者为树形表格时有效 - * @param bool $defaultExpandAll + /*** + * 是否显示索引列 + * @param $showIndex * @return $this */ - public function defaultExpandAll($defaultExpandAll = true) + public function showIndex($showIndex) { - $this->attributes->defaultExpandAll = $defaultExpandAll; + $this->attributes->showIndex = $showIndex; return $this; } - public function treeProps($hasChildren, $children) - { - $this->attributes->treeProps = [ - 'hasChildren' => $hasChildren, - 'children' => $children, - ]; - } - - - public function getTreeChildrenName() - { - return $this->attributes->treeProps['children']; - } - - /** - * 是否开启多选 - * @param bool $selection + /*** + * 索引列名称 + * @param $indexLabel * @return $this */ - public function selection($selection = true) + public function indexLabel($indexLabel) { - $this->attributes->selection = $selection; + $this->attributes->indexLabel = $indexLabel; return $this; } - /** - * 操作栏宽度 - * @param $actionWidth + /*** + * 合计行,可参考 + * @param $summary * @return $this */ - public function actionWidth($actionWidth) + public function summary($summary) { - $this->attributes->actionWidth = $actionWidth; + $this->attributes->summary = $summary; return $this; } - /** - * 操作栏名称 - * @param $actionLabel + + /*** + * 是否显示操作列 + * @param $operationColumn * @return $this */ - public function actionLabel($actionLabel) + public function operationColumn($operationColumn=true) { - $this->attributes->actionLabel = $actionLabel; + $this->attributes->operationColumn = $operationColumn; return $this; } - /** - * 操作栏对齐 - * left right center - * @param $actionAlign + + /*** + * 操作列宽度 + * @param $operationWidth * @return $this */ - public function actionAlign($actionAlign) + public function operationWidth($operationWidth) { - $this->attributes->actionAlign = $actionAlign; + $this->attributes->operationWidth = $operationWidth; return $this; } - /** - * 操作栏固定位置 - * @param $actionFixed + /*** + * 操作列名称 + * @param $operationColumnText * @return $this */ - public function actionFixed($actionFixed) + public function operationColumnText($operationColumnText) { - $this->attributes->actionFixed = $actionFixed; + $this->attributes->operationColumnText = $operationColumnText; return $this; } - /** - * 隐藏操作栏 + /*** + * 搜索栏是否启用自定义布局 + * @param $searchCustomerLayout * @return $this */ - public function hideActions() + public function searchCustomerLayout($searchCustomerLayout) { - $this->attributes->hideActions = true; + $this->attributes->searchCustomerLayout = $searchCustomerLayout; return $this; } - public function getHideActions() - { - return $this->attributes->hideActions; - } - - /** - * 表格数据是否存入vuex - * @param $dataVuex + /*** + * 组件在页面布局方式,normal为常规布局,fixed为固定模式,搜索在上部,分页沉底,表格自适应高度 + * 'normal', 'fixed' + * @param $pageLayout * @return $this */ - public function dataVuex($dataVuex = true) + public function pageLayout($pageLayout) { - $this->attributes->dataVuex = $dataVuex; + $this->attributes->pageLayout = $pageLayout; return $this; } + + /*** + * 表单布局 + * @param $formOption + * @return $this + */ + public function formOption($formOption) + { + $this->attributes->formOption = $formOption; + return $this; + } } diff --git a/builder/View/Grid/Concerns/HasPageAttributes.php b/builder/View/Grid/Concerns/HasPageAttributes.php index 739aef1..b92f5c9 100644 --- a/builder/View/Grid/Concerns/HasPageAttributes.php +++ b/builder/View/Grid/Concerns/HasPageAttributes.php @@ -3,65 +3,14 @@ declare(strict_types=1); namespace Builder\View\Grid\Concerns; trait HasPageAttributes { - protected $pageSizes = [10, 15, 20, 30, 50, 100]; - protected $perPage = 15; - protected $pageLayout = "total, sizes,->,prev, pager, next, jumper"; - protected $pageBackground = true; + protected $hidePage = false; - /** - * 设置分页布局,子组件名用逗号分隔 - * prev, pager, next, jumper, ->, total - * @param string $layout - * @return $this - */ - public function pageLayout(string $layout) - { - $this->pageLayout = $layout; - return $this; - } - /** - * 每页显示个数选择器的选项设置 - * @param array $sizes - * @return $this + *顶部栏按钮 + * @var array */ - public function pageSizes($sizes) - { - $this->pageSizes = $sizes; - return $this; - } - - /** - * 每页显示条目个数 - * @param int $perPage - * @return $this - */ - public function perPage($perPage) - { - $this->perPage = $perPage; - return $this; - } - - /** - * 是否为分页按钮添加背景色 - * @param bool $pageBackground - * @return $this - */ - public function pageBackground(bool $pageBackground = true) - { - $this->pageBackground = $pageBackground; - return $this; - } - - /** - * @return int - */ - public function getPerPage(): int - { - return $this->perPage; - } - + protected $top_buttons = []; /** * @return bool */ @@ -69,7 +18,6 @@ trait HasPageAttributes { return $this->hidePage; } - /** * 隐藏分页 * @return $this @@ -82,4 +30,84 @@ trait HasPageAttributes } return $this; } + + /** + * 一次性添加多个顶部按钮 + * @param array|string $buttons 按钮类型 + * 例如: + * $builder->addTopButtons('add'); + * $builder->addTopButtons('add,delete'); + * $builder->addTopButtons(['add', 'delete']); + * @param array $buttons + * @return $this + */ + public function addTopButtons($buttons = []) + { + if (!empty($buttons)) { + $buttons = is_array($buttons) ? $buttons : explode(',', $buttons); + foreach ($buttons as $key => $value) { + if (is_numeric($key)) { + $this->addTopButton($value); + } else { + $this->addTopButton($key, $value); + } + } + } + return $this; + } + + /*** + * 添加顶部按钮 + * @param string $type 'add,edit,delete,recovery,import,export' + * @param array $attribute + * @param false $pop + */ + public function addTopButton($type, $attribute = [], $pop = false) + { + $btn=[ + 'show' => true, + 'icon' => '', + 'class' => '', + 'href' => request()->path() + ]; + switch ($type) { + case 'add': + $btn['text']='新增'; + $btn['btnType']='add'; + break; + case 'edit': + $btn['text']='编辑'; + $btn['btnType']='edit'; + break; + case 'delete': + $btn['text']='删除'; + $btn['btnType']='delete'; + break; + case 'recovery': + $btn['text']='恢复'; + $btn['btnType']='recovery'; + break; + case 'enable': + $btn['text']='启用'; + $btn['btnType']='enable'; + break; + case 'import': + $btn['text']='导入'; + $btn['url']=$btn['href']; + $btn['templateUrl']=$btn['href']; + $btn['btnType']='import'; + break; + case 'export': + $btn['text']='导出'; + $btn['btnType']='export'; + $btn['url']=$btn['href']; + break; + } + // 合并自定义属性 + if ($attribute && is_array($attribute)) { + $btn = array_merge($btn, $attribute); + } + $this->top_buttons[$type] = $btn; + return $this; + } } diff --git a/builder/View/Grid/Filter.php b/builder/View/Grid/Filter.php index 565daf3..a5fd911 100644 --- a/builder/View/Grid/Filter.php +++ b/builder/View/Grid/Filter.php @@ -37,12 +37,12 @@ class Filter protected $model; protected $filters = []; + protected $filterFormData = []; protected $name = ''; public $expand = false; - /** * @var Collection */ diff --git a/builder/View/Grid/Model.php b/builder/View/Grid/Model.php index 42e7eac..20cab51 100644 --- a/builder/View/Grid/Model.php +++ b/builder/View/Grid/Model.php @@ -9,13 +9,14 @@ use Hyperf\Database\Model\Relations\HasOne; use Hyperf\Database\Model\Relations\Relation; use Hyperf\HttpServer\Request; use Hyperf\Paginator\LengthAwarePaginator; + use Hyperf\Utils\Arr; use Hyperf\Utils\Str; use Builder\View\Grid; /** * Class Model - * @package HPlus\UI\Grid + * @package Builder\View\Grid */ class Model { diff --git a/builder/View/Grid/Table/Attributes.php b/builder/View/Grid/Table/Attributes.php index 14a86af..431eb4a 100644 --- a/builder/View/Grid/Table/Attributes.php +++ b/builder/View/Grid/Table/Attributes.php @@ -3,67 +3,45 @@ declare(strict_types=1); namespace Builder\View\Grid\Table; class Attributes { - - public $height; - - public $maxHeight; - /** - * @var bool - */ + public $pk; + protected $formExcludePk = true; + public $rowSelection = ''; + public $bordered =[ + 'wrapper'=>true, + 'cell'=>false + ]; + public $hideExpandButtonOnEmpty =true; + public $pageSize =15; + public $pageSizeOption = [10, 20, 30, 50, 100]; + public $tablePagination = false; + public $expandAllRows = false; + public $expandSearch = false; public $stripe = true; - - /** - * @var bool - */ - public $border = false; - - /** - * @var string - */ - public $size = "small"; - - /** - * @var bool - */ - public $fit = true; - - /** - * @var bool - */ - public $showHeader = true; - - /** - * @var bool - */ - public $highlightCurrentRow; - - - public $emptyText; - - - public $tooltipEffect; - - public $rowKey = 'id'; - - - - public $draggable = false; - public $draggableUrl; - - public $defaultExpandAll = false; - - public $treeProps = ['hasChildren' => 'hasChildren', 'children' => 'children']; - - - public $hideActions=false; - public $actionWidth; - public $actionLabel = "操作"; - public $actionFixed; - public $actionAlign = "left"; - - public $selection = false; - - public $dataVuex = false; - - + public $size = 'large'; + public $searchLabelWidth = 'auto'; + public $searchLabelAlign = 'right'; + public $searchColNumber = 4; + public $searchSubmitButtonText = '搜索'; + public $searchResetButtonText = '重置'; + public $isExpand = false; + public $showTools = true; + public $resizable= true; + public $stickyHeader= true; + public $columnWidth=100; + public $autoRequest=true; + public $dataCompleteRefresh=true; + public $isDbClickEdit=true; + public $showExpandRow=false; + public $showSummary=false; + public $summary=false; + public $customerSummary='false'; + public $showIndex=true; + public $requestParamsLabel=''; + public $indexLabel ='序号'; + public $operationColumn=false; + public $operationWidth=160; + public $operationColumnText='操作'; + public $searchCustomerLayout=false; + public $pageLayout='normal'; + public $formOption=[]; } diff --git a/builder/View/Grid/Toolbars.php b/builder/View/Grid/Toolbars.php index d8280f6..dca11e5 100644 --- a/builder/View/Grid/Toolbars.php +++ b/builder/View/Grid/Toolbars.php @@ -4,10 +4,10 @@ namespace Builder\View\Grid; use Builder\View\Grid; use Builder\View\Grid\Tools\CreateButton; use Builder\Traits\JsonBuilder; - class Toolbars extends JsonBuilder { private $left; + private $right; private $addLeft = []; @@ -16,12 +16,11 @@ class Toolbars extends JsonBuilder protected $createButton; protected $grid; protected $show = true; - public function __construct(Grid $grid) { $this->grid = $grid; $this->createButton = new CreateButton(); - $this->createButton->content("添加")->icon("el-icon-plus"); + $this->createButton->content("添加")->icon("icon-plus"); } /** @@ -66,7 +65,6 @@ class Toolbars extends JsonBuilder return $this; } - public function builderData() { $left = collect($this->left); diff --git a/builder/View/Layout/Content.php b/builder/View/Layout/Content.php index bb8f0c9..5e1422b 100644 --- a/builder/View/Layout/Content.php +++ b/builder/View/Layout/Content.php @@ -12,6 +12,10 @@ class Content extends Component protected $rows = []; + /** + * 创建静态方法 + * @return Content + */ public static function make() { return new Content(); diff --git a/builder/View/Layout/Row.php b/builder/View/Layout/Row.php index 6ab5972..7c981d3 100644 --- a/builder/View/Layout/Row.php +++ b/builder/View/Layout/Row.php @@ -3,7 +3,6 @@ declare(strict_types=1); namespace Builder\View\Layout; use Builder\View\Components\Component; use Builder\View\Components\Widgets\Html; - class Row extends Component { protected $componentName = "Row"; diff --git a/builder/View/Tree.php b/builder/View/Tree.php index c966a09..1a280ae 100644 --- a/builder/View/Tree.php +++ b/builder/View/Tree.php @@ -380,7 +380,7 @@ class Tree extends Component /** * @inheritDoc */ - public function jsonSerialize() + public function jsonSerialize() :array { if (count($this->columnAttributes) <= 0) { $this->columns($this->columns); diff --git a/builder/Vo/UserServiceVo.php b/builder/Vo/UserServiceVo.php index ca8839a..c35d41e 100644 --- a/builder/Vo/UserServiceVo.php +++ b/builder/Vo/UserServiceVo.php @@ -1,7 +1,5 @@ =8.0", - "ext-gd": "*", - "ext-json": "*", - "ext-openssl": "*", - "ext-pdo": "*", - "ext-pdo_mysql": "*", - "ext-redis": "*", - "ext-swoole": ">=4.5", - "doctrine/dbal": "^3.1", - "easyswoole/verifycode": "3.x", - "hyperf/amqp": "3.0.*", - "hyperf/async-queue": "3.0.*", - "hyperf/cache": "3.0.*", - "hyperf/command": "3.0.*", - "hyperf/config": "3.0.*", - "hyperf/crontab": "3.0.*", - "hyperf/database": "3.0.*", - "hyperf/db-connection": "3.0.*", - "hyperf/filesystem": "3.0.*", - "hyperf/framework": "3.0.*", - "hyperf/guzzle": "3.0.*", - "hyperf/http-server": "3.0.*", - "hyperf/logger": "3.0.*", - "hyperf/memory": "3.0.*", - "hyperf/model-cache": "3.0.*", - "hyperf/paginator": "3.0.*", - "hyperf/pool": "3.0.*", - "hyperf/process": "3.0.*", - "hyperf/redis": "3.0.*", - "hyperf/snowflake": "3.0.*", - "hyperf/translation": "3.0.*", - "hyperf/validation": "3.0.*", - "hyperf/websocket-server": "3.0.*", - "overtrue/flysystem-cos": "^3.0", - "overtrue/flysystem-qiniu": "^1.0", - "phpoffice/phpspreadsheet": "^1.24", - "symfony/property-access": "^6.0", - "tangwei/apidocs": "^2.1", - "xmo/jwt-auth": "0.4.*", - "xxtime/flysystem-aliyun-oss": "^1.5", - "yurunsoft/phpmailer-swoole": "^1.0", - "zoujingli/ip2region": "^1.0" + "ext-gd": "*", + "ext-json": "*", + "ext-openssl": "*", + "ext-pdo": "*", + "ext-pdo_mysql": "*", + "ext-redis": "*", + "ext-swoole": ">=4.5", + "doctrine/dbal": "^3.1", + "hyperf/di": "3.0.*", + "hyperf/amqp": "3.0.*", + "hyperf/async-queue": "3.0.*", + "hyperf/cache": "3.0.*", + "hyperf/codec": "^3.0", + "hyperf/command": "3.0.*", + "hyperf/config": "3.0.*", + "hyperf/crontab": "3.0.*", + "hyperf/database": "3.0.*", + "hyperf/db-connection": "3.0.*", + "hyperf/filesystem": "^3.0", + "hyperf/flysystem-oss": "^1.2", + "hyperf/framework": "3.0.*", + "hyperf/guzzle": "3.0.*", + "hyperf/http-server": "3.0.*", + "hyperf/logger": "3.0.*", + "hyperf/memory": "3.0.*", + "hyperf/model-cache": "3.0.*", + "hyperf/paginator": "3.0.*", + "hyperf/pool": "3.0.*", + "hyperf/process": "3.0.*", + "hyperf/redis": "3.0.*", + "hyperf/snowflake": "3.0.*", + "hyperf/support": "^3.0", + "hyperf/translation": "3.0.*", + "hyperf/validation": "3.0.*", + "hyperf/websocket-server": "3.0.*", + "overtrue/flysystem-cos": "^5.0", + "overtrue/flysystem-qiniu": "^3.0", + "symfony/property-access": "^6.0", + "tangwei/apidocs": "^2.1", + "yurunsoft/phpmailer-swoole": "^1.0", + "zoujingli/ip2region": "2.0.*" }, "require-dev": { "friendsofphp/php-cs-fixer": "^3.9", @@ -113,7 +113,7 @@ "repositories": { "packagist": { "type": "composer", - "url": "https://mirrors.aliyun.com/composer/" + "url": "https://mirrors.tencent.com/composer/" } } } diff --git a/composer.lock b/composer.lock index ac286be..afa62e0 100644 --- a/composer.lock +++ b/composer.lock @@ -4,27 +4,16 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3551f1700ee401f5177d46141babdd68", + "content-hash": "28031afade75bb13b9fc08419428492c", "packages": [ { "name": "aliyuncs/oss-sdk-php", "version": "v2.6.0", - "source": { - "type": "git", - "url": "https://github.com/aliyun/aliyun-oss-php-sdk.git", - "reference": "572d0f8e099e8630ae7139ed3fdedb926c7a760f" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aliyun/aliyun-oss-php-sdk/zipball/572d0f8e099e8630ae7139ed3fdedb926c7a760f", + "url": "https://mirrors.cloud.tencent.com/repository/composer/aliyuncs/oss-sdk-php/v2.6.0/aliyuncs-oss-sdk-php-v2.6.0.zip", "reference": "572d0f8e099e8630ae7139ed3fdedb926c7a760f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=5.3" @@ -39,7 +28,6 @@ "OSS\\": "src/OSS" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -51,44 +39,29 @@ ], "description": "Aliyun OSS SDK for PHP", "homepage": "http://www.aliyun.com/product/oss/", - "support": { - "issues": "https://github.com/aliyun/aliyun-oss-php-sdk/issues", - "source": "https://github.com/aliyun/aliyun-oss-php-sdk/tree/v2.6.0" - }, "time": "2022-08-03T08:06:01+00:00" }, { "name": "doctrine/annotations", - "version": "1.14.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "ad785217c1e9555a7d6c6c8c9f406395a5e2882b" - }, + "version": "2.0.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/ad785217c1e9555a7d6c6c8c9f406395a5e2882b", - "reference": "ad785217c1e9555a7d6c6c8c9f406395a5e2882b", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/doctrine/annotations/2.0.1/doctrine-annotations-2.0.1.zip", + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "shasum": "" }, "require": { - "doctrine/lexer": "^1 || ^2", + "doctrine/lexer": "^2 || ^3", "ext-tokenizer": "*", - "php": "^7.1 || ^8.0", + "php": "^7.2 || ^8.0", "psr/cache": "^1 || ^2 || ^3" }, "require-dev": { - "doctrine/cache": "^1.11 || ^2.0", - "doctrine/coding-standard": "^9 || ^10", - "phpstan/phpstan": "~1.4.10 || ^1.8.0", + "doctrine/cache": "^2.0", + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.0", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^4.4 || ^5.4 || ^6", + "symfony/cache": "^5.4 || ^6", "vimeo/psalm": "^4.10" }, "suggest": { @@ -100,7 +73,6 @@ "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -133,31 +105,16 @@ "docblock", "parser" ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.14.2" - }, - "time": "2022-12-15T06:48:22+00:00" + "time": "2023-02-02T22:02:53+00:00" }, { "name": "doctrine/cache", "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "1ca8f21980e770095a31456042471a57bc4c68fb" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb", + "url": "https://mirrors.cloud.tencent.com/repository/composer/doctrine/cache/2.2.0/doctrine-cache-2.2.0.zip", "reference": "1ca8f21980e770095a31456042471a57bc4c68fb", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "~7.1 || ^8.0" @@ -179,7 +136,6 @@ "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -218,45 +174,16 @@ "redis", "xcache" ], - "support": { - "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/2.2.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", - "type": "tidelift" - } - ], "time": "2022-05-20T20:07:39+00:00" }, { "name": "doctrine/dbal", - "version": "3.5.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "88fa7e5189fd5ec6682477044264dc0ed4e3aa1e" - }, + "version": "3.6.4", "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/88fa7e5189fd5ec6682477044264dc0ed4e3aa1e", - "reference": "88fa7e5189fd5ec6682477044264dc0ed4e3aa1e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.tencent.com/repository/composer/doctrine/dbal/3.6.4/doctrine-dbal-3.6.4.zip", + "reference": "19f0dec95edd6a3c3c5ff1d188ea94c6b7fc903f", + "shasum": "" }, "require": { "composer-runtime-api": "^2", @@ -268,13 +195,14 @@ "psr/log": "^1|^2|^3" }, "require-dev": { - "doctrine/coding-standard": "11.0.0", + "doctrine/coding-standard": "12.0.0", + "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2022.3", - "phpstan/phpstan": "1.9.4", - "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "9.5.27", + "phpstan/phpstan": "1.10.14", + "phpstan/phpstan-strict-rules": "^1.5", + "phpunit/phpunit": "9.6.7", "psalm/plugin-phpunit": "0.18.4", - "squizlabs/php_codesniffer": "3.7.1", + "squizlabs/php_codesniffer": "3.7.2", "symfony/cache": "^5.4|^6.0", "symfony/console": "^4.4|^5.4|^6.0", "vimeo/psalm": "4.30.0" @@ -291,7 +219,6 @@ "Doctrine\\DBAL\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -335,53 +262,28 @@ "sqlserver", "sqlsrv" ], - "support": { - "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.5.3" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", - "type": "tidelift" - } - ], - "time": "2023-01-12T10:21:44+00:00" + "time": "2023-06-15T07:40:12+00:00" }, { "name": "doctrine/deprecations", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de" - }, + "version": "v1.1.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", - "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/doctrine/deprecations/v1.1.1/doctrine-deprecations-v1.1.1.zip", + "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3", + "shasum": "" }, "require": { - "php": "^7.1|^8.0" + "php": "^7.1 || ^8.0" }, "require-dev": { "doctrine/coding-standard": "^9", - "phpunit/phpunit": "^7.5|^8.5|^9.5", - "psr/log": "^1|^2|^3" + "phpstan/phpstan": "1.4.10 || 1.10.15", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "0.18.4", + "psr/log": "^1 || ^2 || ^3", + "vimeo/psalm": "4.30.0 || 5.12.0" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" @@ -392,60 +294,40 @@ "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v1.0.0" - }, - "time": "2022-05-02T15:47:09+00:00" + "time": "2023-06-03T09:27:29+00:00" }, { "name": "doctrine/event-manager", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f" - }, + "version": "2.0.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/doctrine/event-manager/2.0.0/doctrine-event-manager-2.0.0.zip", + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32", + "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "conflict": { - "doctrine/common": "<2.9@dev" + "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpunit/phpunit": "^7.0" + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.8", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.28" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, "autoload": { "psr-4": { - "Doctrine\\Common\\": "lib/Doctrine/Common" + "Doctrine\\Common\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -484,56 +366,27 @@ "event system", "events" ], - "support": { - "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/1.1.x" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", - "type": "tidelift" - } - ], - "time": "2020-05-29T18:28:51+00:00" + "time": "2022-10-12T20:59:15+00:00" }, { "name": "doctrine/inflector", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89" - }, + "version": "2.0.8", "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", - "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/doctrine/inflector/2.0.8/doctrine-inflector-2.0.8.zip", + "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff", + "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^8.2", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "vimeo/psalm": "^4.10" + "doctrine/coding-standard": "^11.0", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "vimeo/psalm": "^4.25 || ^5.4" }, "type": "library", "autoload": { @@ -541,7 +394,6 @@ "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -581,45 +433,16 @@ "uppercase", "words" ], - "support": { - "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.4" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", - "type": "tidelift" - } - ], - "time": "2021-10-22T20:16:43+00:00" + "time": "2023-06-16T13:40:37+00:00" }, { "name": "doctrine/instantiator", "version": "1.5.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", + "url": "https://mirrors.cloud.tencent.com/repository/composer/doctrine/instantiator/1.5.0/doctrine-instantiator-1.5.0.zip", "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.1 || ^8.0" @@ -640,7 +463,6 @@ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -657,45 +479,16 @@ "constructor", "instantiate" ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.5.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], "time": "2022-12-30T00:15:36+00:00" }, { "name": "doctrine/lexer", "version": "2.1.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", + "url": "https://mirrors.cloud.tencent.com/repository/composer/doctrine/lexer/2.1.0/doctrine-lexer-2.1.0.zip", "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", @@ -714,7 +507,6 @@ "Doctrine\\Common\\Lexer\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -741,155 +533,16 @@ "parser", "php" ], - "support": { - "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/2.1.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "type": "tidelift" - } - ], "time": "2022-12-14T08:49:07+00:00" }, - { - "name": "easyswoole/spl", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/easy-swoole/spl.git", - "reference": "3d02bceaf1031a78f959d41dab04e37121f9c58c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/easy-swoole/spl/zipball/3d02bceaf1031a78f959d41dab04e37121f9c58c", - "reference": "3d02bceaf1031a78f959d41dab04e37121f9c58c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-json": "*", - "php": ">=7.1.0" - }, - "require-dev": { - "easyswoole/phpunit": "^1.0", - "easyswoole/swoole-ide-helper": "^1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "EasySwoole\\Spl\\": "src/", - "EasySwoole\\Spl\\Test\\": "test/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "YF", - "email": "291323003@qq.com" - } - ], - "description": "php stander lib", - "homepage": "https://www.easyswoole.com/", - "keywords": [ - "async", - "easyswoole", - "framework", - "swoole" - ], - "support": { - "issues": "https://github.com/easy-swoole/spl/issues", - "source": "https://github.com/easy-swoole/spl/tree/1.4.1" - }, - "time": "2022-02-02T12:04:48+00:00" - }, - { - "name": "easyswoole/verifycode", - "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/easy-swoole/verify-code.git", - "reference": "eccd312bef30cf46169e82527d869babdaeabdcf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/easy-swoole/verify-code/zipball/eccd312bef30cf46169e82527d869babdaeabdcf", - "reference": "eccd312bef30cf46169e82527d869babdaeabdcf", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "easyswoole/spl": "^1.0", - "ext-gd": "*", - "php": ">=8.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "EasySwoole\\VerifyCode\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "YF", - "email": "291323003@qq.com" - }, - { - "name": "evalor", - "email": "mipone@foxmail.com" - } - ], - "support": { - "issues": "https://github.com/easy-swoole/verify-code/issues", - "source": "https://github.com/easy-swoole/verify-code/tree/3.1.0" - }, - "time": "2023-01-30T08:39:06+00:00" - }, { "name": "egulias/email-validator", - "version": "3.2.5", - "source": { - "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "b531a2311709443320c786feb4519cfaf94af796" - }, + "version": "3.2.6", "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/b531a2311709443320c786feb4519cfaf94af796", - "reference": "b531a2311709443320c786feb4519cfaf94af796", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/egulias/email-validator/3.2.6/egulias-email-validator-3.2.6.zip", + "reference": "e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7", + "shasum": "" }, "require": { "doctrine/lexer": "^1.2|^2", @@ -914,7 +567,6 @@ "Egulias\\EmailValidator\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -932,104 +584,16 @@ "validation", "validator" ], - "support": { - "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/3.2.5" - }, - "funding": [ - { - "url": "https://github.com/egulias", - "type": "github" - } - ], - "time": "2023-01-02T17:26:14+00:00" - }, - { - "name": "ezyang/htmlpurifier", - "version": "v4.16.0", - "source": { - "type": "git", - "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/523407fb06eb9e5f3d59889b3978d5bfe94299c8", - "reference": "523407fb06eb9e5f3d59889b3978d5bfe94299c8", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0" - }, - "require-dev": { - "cerdic/css-tidy": "^1.7 || ^2.0", - "simpletest/simpletest": "dev-master" - }, - "suggest": { - "cerdic/css-tidy": "If you want to use the filter 'Filter.ExtractStyleBlocks'.", - "ext-bcmath": "Used for unit conversion and imagecrash protection", - "ext-iconv": "Converts text to and from non-UTF-8 encodings", - "ext-tidy": "Used for pretty-printing HTML" - }, - "type": "library", - "autoload": { - "files": [ - "library/HTMLPurifier.composer.php" - ], - "psr-0": { - "HTMLPurifier": "library/" - }, - "exclude-from-classmap": [ - "/library/HTMLPurifier/Language/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-or-later" - ], - "authors": [ - { - "name": "Edward Z. Yang", - "email": "admin@htmlpurifier.org", - "homepage": "http://ezyang.com" - } - ], - "description": "Standards compliant HTML filter written in PHP", - "homepage": "http://htmlpurifier.org/", - "keywords": [ - "html" - ], - "support": { - "issues": "https://github.com/ezyang/htmlpurifier/issues", - "source": "https://github.com/ezyang/htmlpurifier/tree/v4.16.0" - }, - "time": "2022-09-18T07:06:19+00:00" + "time": "2023-06-01T07:04:22+00:00" }, { "name": "fig/http-message-util", "version": "1.1.5", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message-util.git", - "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message-util/zipball/9d94dc0154230ac39e5bf89398b324a86f63f765", + "url": "https://mirrors.cloud.tencent.com/repository/composer/fig/http-message-util/1.1.5/fig-http-message-util-1.1.5.zip", "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^5.3 || ^7.0 || ^8.0" @@ -1048,7 +612,6 @@ "Fig\\Http\\Message\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1067,38 +630,23 @@ "request", "response" ], - "support": { - "issues": "https://github.com/php-fig/http-message-util/issues", - "source": "https://github.com/php-fig/http-message-util/tree/1.1.5" - }, "time": "2020-11-24T22:02:12+00:00" }, { "name": "graham-campbell/result-type", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "0690bde05318336c7221785f2a932467f98b64ca" - }, + "version": "v1.1.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/0690bde05318336c7221785f2a932467f98b64ca", - "reference": "0690bde05318336c7221785f2a932467f98b64ca", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/graham-campbell/result-type/v1.1.1/graham-campbell-result-type-v1.1.1.zip", + "reference": "672eff8cf1d6fe1ef09ca0f89c4b287d6a3eb831", + "shasum": "" }, "require": { - "php": "^7.0 || ^8.0", - "phpoption/phpoption": "^1.8" + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.1" }, "require-dev": { - "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.19 || ^9.5.8" + "phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12" }, "type": "library", "autoload": { @@ -1106,7 +654,6 @@ "GrahamCampbell\\ResultType\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1125,46 +672,21 @@ "Result-Type", "result" ], - "support": { - "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.4" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", - "type": "tidelift" - } - ], - "time": "2021-11-21T21:41:47+00:00" + "time": "2023-02-25T20:23:15+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.5.0", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba" - }, + "version": "7.7.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b50a2a1251152e43f6a37f0fa053e730a67d25ba", - "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/guzzlehttp/guzzle/7.7.0/guzzlehttp-guzzle-7.7.0.zip", + "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5", + "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5", - "guzzlehttp/psr7": "^1.9 || ^2.4", + "guzzlehttp/promises": "^1.5.3 || ^2.0", + "guzzlehttp/psr7": "^1.9.1 || ^2.4.5", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -1175,7 +697,8 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.8.1", "ext-curl": "*", - "php-http/client-integration-tests": "^3.0", + "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "php-http/message-factory": "^1.1", "phpunit/phpunit": "^8.5.29 || ^9.5.23", "psr/log": "^1.1 || ^2.0 || ^3.0" }, @@ -1189,9 +712,6 @@ "bamarni-bin": { "bin-links": true, "forward-command": false - }, - "branch-alias": { - "dev-master": "7.5-dev" } }, "autoload": { @@ -1202,7 +722,6 @@ "GuzzleHttp\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1255,67 +774,36 @@ "rest", "web service" ], - "support": { - "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.5.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", - "type": "tidelift" - } - ], - "time": "2022-08-28T15:39:27+00:00" + "time": "2023-05-21T14:04:53+00:00" }, { "name": "guzzlehttp/promises", - "version": "1.5.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "b94b2807d85443f9719887892882d0329d1e2598" - }, + "version": "2.0.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598", - "reference": "b94b2807d85443f9719887892882d0329d1e2598", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/guzzlehttp/promises/2.0.0/guzzlehttp-promises-2.0.0.zip", + "reference": "3a494dc7dc1d7d12e511890177ae2d0e6c107da6", + "shasum": "" }, "require": { - "php": ">=5.5" + "php": "^7.2.5 || ^8.0" }, "require-dev": { - "symfony/phpunit-bridge": "^4.4 || ^5.1" + "bamarni/composer-bin-plugin": "^1.8.1", + "phpunit/phpunit": "^8.5.29 || ^9.5.23" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "1.5-dev" + "bamarni-bin": { + "bin-links": true, + "forward-command": false } }, "autoload": { - "files": [ - "src/functions_include.php" - ], "psr-4": { "GuzzleHttp\\Promise\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1345,50 +833,21 @@ "keywords": [ "promise" ], - "support": { - "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.5.2" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", - "type": "tidelift" - } - ], - "time": "2022-08-28T14:55:35+00:00" + "time": "2023-05-21T13:50:22+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.4.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "67c26b443f348a51926030c83481b85718457d3d" - }, + "version": "2.5.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d", - "reference": "67c26b443f348a51926030c83481b85718457d3d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/guzzlehttp/psr7/2.5.0/guzzlehttp-psr7-2.5.0.zip", + "reference": "b635f279edd83fc275f822a1188157ffea568ff6", + "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", "psr/http-factory": "^1.0", - "psr/http-message": "^1.0", + "psr/http-message": "^1.1 || ^2.0", "ralouphie/getallheaders": "^3.0" }, "provide": { @@ -1408,9 +867,6 @@ "bamarni-bin": { "bin-links": true, "forward-command": false - }, - "branch-alias": { - "dev-master": "2.4-dev" } }, "autoload": { @@ -1418,7 +874,6 @@ "GuzzleHttp\\Psr7\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1470,54 +925,28 @@ "uri", "url" ], - "support": { - "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.4.3" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", - "type": "tidelift" - } - ], - "time": "2022-10-26T14:07:24+00:00" + "time": "2023-04-17T16:11:26+00:00" }, { "name": "hyperf/amqp", - "version": "v3.0.3", - "source": { - "type": "git", - "url": "https://github.com/hyperf/amqp.git", - "reference": "87b2a2081be8e58c6dad377360f033361a2742ea" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/amqp/zipball/87b2a2081be8e58c6dad377360f033361a2742ea", - "reference": "87b2a2081be8e58c6dad377360f033361a2742ea", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/amqp/v3.0.18/hyperf-amqp-v3.0.18.zip", + "reference": "701520b989a0277d2faded8a1141e1c4545261c2", + "shasum": "" }, "require": { "doctrine/instantiator": "^1.2.0", + "hyperf/codec": "~3.0.0", "hyperf/contract": "~3.0.0", + "hyperf/coroutine": "~3.0.0", "hyperf/pool": "~3.0.0", "hyperf/process": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", - "php-amqplib/php-amqplib": "3.4.0", + "php-amqplib/php-amqplib": "^3.5", "psr/container": "^1.0|^2.0", "psr/event-dispatcher": "^1.0", "psr/log": "^1.0|^2.0|^3.0" @@ -1540,7 +969,6 @@ "Hyperf\\Amqp\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1551,37 +979,23 @@ "hyperf", "php" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2023-01-17T09:54:51+00:00" + "time": "2023-04-26T03:02:31+00:00" }, { "name": "hyperf/async-queue", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/async-queue.git", - "reference": "a436290438d5767ed78b9448cf2fc130caf818b3" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/async-queue/zipball/a436290438d5767ed78b9448cf2fc130caf818b3", - "reference": "a436290438d5767ed78b9448cf2fc130caf818b3", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/async-queue/v3.0.18/hyperf-async-queue-v3.0.18.zip", + "reference": "7e7b558492a80ac29baeffe1942709a062d087aa", + "shasum": "" }, "require": { + "hyperf/codec": "~3.0.0", + "hyperf/collection": "~3.0.0", "hyperf/command": "~3.0.0", "hyperf/contract": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0", @@ -1607,7 +1021,6 @@ "Hyperf\\AsyncQueue\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1618,36 +1031,22 @@ "hyperf", "php" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-11-16T02:16:48+00:00" + "time": "2023-04-26T03:02:31+00:00" }, { "name": "hyperf/cache", - "version": "v3.0.0-rc.17", - "source": { - "type": "git", - "url": "https://github.com/hyperf/cache.git", - "reference": "bba789fc11d7ca2a20ae76cf87d9476be2011344" - }, + "version": "v3.0.26", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/cache/zipball/bba789fc11d7ca2a20ae76cf87d9476be2011344", - "reference": "bba789fc11d7ca2a20ae76cf87d9476be2011344", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/cache/v3.0.26/hyperf-cache-v3.0.26.zip", + "reference": "562639b565036bf13494f4e312a83439fe2bece0", + "shasum": "" }, "require": { + "hyperf/codec": "~3.0.0", + "hyperf/collection": "~3.0.0", "hyperf/contract": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0", @@ -1671,7 +1070,6 @@ "Hyperf\\Cache\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1682,35 +1080,143 @@ "hyperf", "php" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" + "time": "2023-06-19T11:35:29+00:00" + }, + { + "name": "hyperf/code-parser", + "version": "v3.0.18", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/code-parser/v3.0.18/hyperf-code-parser-v3.0.18.zip", + "reference": "f1812421150d7ef95067eb6657c6f84514b6dfea", + "shasum": "" }, - "time": "2022-11-22T04:45:19+00:00" + "require": { + "hyperf/collection": "~3.0.0", + "hyperf/stringable": "~3.0.0", + "hyperf/support": "~3.0.0", + "php": ">=8.0" + }, + "suggest": { + "jean85/pretty-package-versions": "Required to use PrettyVersions. (^1.2|^2.0)", + "nikic/php-parser": "Required to use PhpParser. (^4.0)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Hyperf\\CodeParser\\": "src/" + } + }, + "license": [ + "MIT" + ], + "description": "A code parser component for Hyperf.", + "homepage": "https://hyperf.io", + "keywords": [ + "code-parser", + "hyperf", + "php", + "swoole" + ], + "time": "2023-04-26T03:02:31+00:00" + }, + { + "name": "hyperf/codec", + "version": "v3.0.1", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/codec/v3.0.1/hyperf-codec-v3.0.1.zip", + "reference": "7d3cbfa06c50ef52809acadfcbcd59424366f591", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-xml": "*", + "hyperf/contract": "~3.0.0", + "php": ">=8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Hyperf\\Codec\\": "src/" + } + }, + "license": [ + "MIT" + ], + "description": "A codec component for Hyperf.", + "homepage": "https://hyperf.io", + "keywords": [ + "codec", + "hyperf", + "php", + "swoole" + ], + "time": "2023-04-24T09:49:41+00:00" + }, + { + "name": "hyperf/collection", + "version": "v3.0.24", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/collection/v3.0.24/hyperf-collection-v3.0.24.zip", + "reference": "25be1f5643565dd19c05ee2da4156cfaa8bb71eb", + "shasum": "" + }, + "require": { + "hyperf/contract": "~3.0.0", + "hyperf/macroable": "~3.0.0", + "php": ">=7.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "files": [ + "src/Functions.php" + ], + "psr-4": { + "Hyperf\\Collection\\": "src/" + } + }, + "license": [ + "MIT" + ], + "description": "Hyperf Collection package which come from illuminate/collections", + "homepage": "https://hyperf.io", + "keywords": [ + "collection", + "hyperf", + "php", + "swoole" + ], + "time": "2023-06-05T11:54:56+00:00" }, { "name": "hyperf/command", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/command.git", - "reference": "3bb67fd9e776b2987e2b2daf47f55987ad322122" - }, + "version": "v3.0.27", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/command/zipball/3bb67fd9e776b2987e2b2daf47f55987ad322122", - "reference": "3bb67fd9e776b2987e2b2daf47f55987ad322122", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/command/v3.0.27/hyperf-command-v3.0.27.zip", + "reference": "06df0f8102ec4079591d937adaca507fe5191082", + "shasum": "" }, "require": { + "hyperf/support": "~3.0.0", + "hyperf/tappable": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/event-dispatcher": "^1.0", @@ -1730,7 +1236,6 @@ "Hyperf\\Command\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1740,34 +1245,57 @@ "php", "swoole" ], - "support": { - "issues": "https://github.com/hyperf/command/issues", - "source": "https://github.com/hyperf/command/tree/v3.0.0" + "time": "2023-06-26T23:53:52+00:00" + }, + { + "name": "hyperf/conditionable", + "version": "v3.0.0", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/conditionable/v3.0.0/hyperf-conditionable-v3.0.0.zip", + "reference": "4222cdc512e9e48e4375a480161c6365276ff803", + "shasum": "" }, - "time": "2022-11-01T02:50:54+00:00" + "require": { + "php": ">=7.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Hyperf\\Conditionable\\": "src/" + } + }, + "license": [ + "MIT" + ], + "description": "Hyperf Macroable package which come from illuminate/conditionable", + "homepage": "https://hyperf.io", + "keywords": [ + "conditionable", + "hyperf", + "php", + "swoole" + ], + "time": "2023-03-28T15:02:39+00:00" }, { "name": "hyperf/config", - "version": "v3.0.0-rc.8", - "source": { - "type": "git", - "url": "https://github.com/hyperf/config.git", - "reference": "dbab570287af7b7d79967446b7f4703c4ffaba8e" - }, + "version": "v3.0.20", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/config/zipball/dbab570287af7b7d79967446b7f4703c4ffaba8e", - "reference": "dbab570287af7b7d79967446b7f4703c4ffaba8e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/config/v3.0.20/hyperf-config-v3.0.20.zip", + "reference": "6503882f8547809d609b9489170037ceaef04962", + "shasum": "" }, "require": { + "hyperf/collection": "~3.0.0", "hyperf/contract": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0", @@ -1796,7 +1324,6 @@ "Hyperf\\Config\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1809,33 +1336,16 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-08-30T06:33:36+00:00" + "time": "2023-05-09T03:02:12+00:00" }, { "name": "hyperf/context", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/context.git", - "reference": "95cd634ece12f1f4898d10815060090191d59527" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/context/zipball/95cd634ece12f1f4898d10815060090191d59527", - "reference": "95cd634ece12f1f4898d10815060090191d59527", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/context/v3.0.18/hyperf-context-v3.0.18.zip", + "reference": "8cff8cc1c70c1a8c390a13b97986ddd5e47fa2ec", + "shasum": "" }, "require": { "hyperf/engine": "^1.2|^2.0", @@ -1852,11 +1362,10 @@ "Hyperf\\Context\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "A coroutine context library.", + "description": "A coroutine/application context library.", "homepage": "https://hyperf.io", "keywords": [ "Context", @@ -1864,33 +1373,16 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-11-01T02:50:54+00:00" + "time": "2023-04-26T03:02:31+00:00" }, { "name": "hyperf/contract", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/contract.git", - "reference": "ec465d74f94341ff9b979cc4a3f0e2ededc05040" - }, + "version": "v3.0.10", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/contract/zipball/ec465d74f94341ff9b979cc4a3f0e2ededc05040", - "reference": "ec465d74f94341ff9b979cc4a3f0e2ededc05040", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/contract/v3.0.10/hyperf-contract-v3.0.10.zip", + "reference": "93488df36b1c4e2fc16c630fb77c110bafffb141", + "shasum": "" }, "require": { "php": ">=8.0" @@ -1906,7 +1398,6 @@ "Hyperf\\Contract\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1917,33 +1408,16 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-11-01T02:50:54+00:00" + "time": "2023-03-10T04:21:37+00:00" }, { "name": "hyperf/coordinator", - "version": "v3.0.3", - "source": { - "type": "git", - "url": "https://github.com/hyperf/coordinator.git", - "reference": "df75218d463af1acd98cae9e8f15675b1b64dfee" - }, + "version": "v3.0.22", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/coordinator/zipball/df75218d463af1acd98cae9e8f15675b1b64dfee", - "reference": "df75218d463af1acd98cae9e8f15675b1b64dfee", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/coordinator/v3.0.22/hyperf-coordinator-v3.0.22.zip", + "reference": "a49c2d22995b4115e8b21f1de58b992047c4d0fd", + "shasum": "" }, "require": { "hyperf/engine": "^1.2|^2.0", @@ -1960,7 +1434,6 @@ "Hyperf\\Coordinator\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -1972,39 +1445,70 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" + "time": "2023-05-26T13:44:16+00:00" + }, + { + "name": "hyperf/coroutine", + "version": "v3.0.16", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/coroutine/v3.0.16/hyperf-coroutine-v3.0.16.zip", + "reference": "4944ce69d5f35407e5dbcf7e9991f1db3366f254", + "shasum": "" }, - "time": "2023-01-11T04:01:35+00:00" + "require": { + "hyperf/context": "~3.0.0", + "hyperf/contract": "~3.0.0", + "hyperf/engine": "^1.2|^2.0", + "php": ">=8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "files": [ + "src/Functions.php" + ], + "psr-4": { + "Hyperf\\Coroutine\\": "src/" + } + }, + "license": [ + "MIT" + ], + "description": "Hyperf Coroutine", + "homepage": "https://hyperf.io", + "keywords": [ + "coroutine", + "hyperf", + "php", + "swoole" + ], + "time": "2023-04-12T05:34:25+00:00" }, { "name": "hyperf/crontab", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/crontab.git", - "reference": "3ba0792038cc0b27d120e1d92f0b351121841789" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/crontab/zipball/3ba0792038cc0b27d120e1d92f0b351121841789", - "reference": "3ba0792038cc0b27d120e1d92f0b351121841789", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/crontab/v3.0.18/hyperf-crontab-v3.0.18.zip", + "reference": "8cd73b5f6c4f2e673f9d8a116d0f8a53c2f0df7a", + "shasum": "" }, "require": { + "hyperf/framework": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "nesbot/carbon": "^2.0", "php": ">=8.0" }, + "suggest": { + "hyperf/command": "Required to use command trigger.", + "hyperf/process": "Auto register the Crontab process for server." + }, "type": "library", "extra": { "branch-alias": { @@ -2019,7 +1523,6 @@ "Hyperf\\Crontab\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2031,36 +1534,23 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-12-10T13:24:37+00:00" + "time": "2023-04-26T03:02:31+00:00" }, { "name": "hyperf/database", - "version": "v3.0.3", - "source": { - "type": "git", - "url": "https://github.com/hyperf/database.git", - "reference": "8b5ef59cfa6b3aec62356e60246dc77630f5a30a" - }, + "version": "v3.0.27", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/database/zipball/8b5ef59cfa6b3aec62356e60246dc77630f5a30a", - "reference": "8b5ef59cfa6b3aec62356e60246dc77630f5a30a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/database/v3.0.27/hyperf-database-v3.0.27.zip", + "reference": "a966a0d211df5a7c7eff62cbc83c9acb87d4cb71", + "shasum": "" }, "require": { + "hyperf/code-parser": "~3.0.0", + "hyperf/collection": "~3.0.0", "hyperf/macroable": "~3.0.0", + "hyperf/support": "~3.0.24", + "hyperf/tappable": "~3.0.0", "hyperf/utils": "~3.0.0", "nesbot/carbon": "^2.0", "php": ">=8.0", @@ -2083,7 +1573,6 @@ "Hyperf\\Database\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2094,33 +1583,16 @@ "hyperf", "php" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2023-01-12T10:04:57+00:00" + "time": "2023-06-30T01:20:59+00:00" }, { "name": "hyperf/db-connection", - "version": "v3.0.3", - "source": { - "type": "git", - "url": "https://github.com/hyperf/db-connection.git", - "reference": "88aa0a30700ad9541f946bf933105900ac813215" - }, + "version": "v3.0.24", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/db-connection/zipball/88aa0a30700ad9541f946bf933105900ac813215", - "reference": "88aa0a30700ad9541f946bf933105900ac813215", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/db-connection/v3.0.24/hyperf-db-connection-v3.0.24.zip", + "reference": "609325db39debbfb8df24e16e1bad299a0d12d55", + "shasum": "" }, "require": { "hyperf/database": "~3.0.0", @@ -2128,6 +1600,7 @@ "hyperf/framework": "~3.0.0", "hyperf/model-listener": "~3.0.0", "hyperf/pool": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0" @@ -2146,7 +1619,6 @@ "Hyperf\\DbConnection\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2158,36 +1630,22 @@ "hyperf", "php" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2023-01-11T10:01:35+00:00" + "time": "2023-06-07T02:28:52+00:00" }, { "name": "hyperf/di", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/di.git", - "reference": "1cb7161eb6366d0c23f75eee749ca29286f2bd6e" - }, + "version": "v3.0.24", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/di/zipball/1cb7161eb6366d0c23f75eee749ca29286f2bd6e", - "reference": "1cb7161eb6366d0c23f75eee749ca29286f2bd6e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/di/v3.0.24/hyperf-di-v3.0.24.zip", + "reference": "4fa46897ffe0e1f2d1260a65a1e25dadaacbdcd2", + "shasum": "" }, "require": { "doctrine/instantiator": "^1.0", + "hyperf/code-parser": "~3.0.0", + "hyperf/pipeline": "~3.0.0", + "hyperf/support": "~3.0.0", "nikic/php-parser": "^4.1", "php": ">=8.0", "php-di/phpdoc-reader": "^2.2", @@ -2213,7 +1671,6 @@ "Hyperf\\Di\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2226,39 +1683,22 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2023-01-01T05:13:29+00:00" + "time": "2023-06-05T07:53:17+00:00" }, { "name": "hyperf/dispatcher", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/dispatcher.git", - "reference": "f506c5102583d69b7225fc7045ee707a65d2b4d0" - }, + "version": "v3.0.24", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/dispatcher/zipball/f506c5102583d69b7225fc7045ee707a65d2b4d0", - "reference": "f506c5102583d69b7225fc7045ee707a65d2b4d0", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/dispatcher/v3.0.24/hyperf-dispatcher-v3.0.24.zip", + "reference": "af232ac01c3dcb91ad565d6202e3e3bfb2fcf560", + "shasum": "" }, "require": { "hyperf/contract": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0", - "psr/http-message": "^1.0", + "psr/http-message": "^1.0|^2.0", "psr/http-server-middleware": "^1.0" }, "type": "library", @@ -2275,7 +1715,6 @@ "Hyperf\\Dispatcher\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2289,33 +1728,16 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-08-30T06:33:36+00:00" + "time": "2023-06-04T02:14:26+00:00" }, { "name": "hyperf/engine", - "version": "v1.4.1", - "source": { - "type": "git", - "url": "https://github.com/hyperf/engine.git", - "reference": "e512298a2079acb824c9cad3984344f24c16777c" - }, + "version": "v1.10.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/engine/zipball/e512298a2079acb824c9cad3984344f24c16777c", - "reference": "e512298a2079acb824c9cad3984344f24c16777c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/engine/v1.10.0/hyperf-engine-v1.10.0.zip", + "reference": "da38c8708f3d78d1490331e432d385489720568f", + "shasum": "" }, "require": { "php": ">=8.0" @@ -2334,7 +1756,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.10-dev" }, "hyperf": { "config": "Hyperf\\Engine\\ConfigProvider" @@ -2345,7 +1767,6 @@ "Hyperf\\Engine\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2353,31 +1774,16 @@ "hyperf", "php" ], - "support": { - "issues": "https://github.com/hyperf/engine/issues", - "source": "https://github.com/hyperf/engine/tree/v1.4.1" - }, - "time": "2023-01-09T07:40:28+00:00" + "time": "2023-04-07T07:39:09+00:00" }, { "name": "hyperf/event", "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/event.git", - "reference": "e10cd5e8b7f02bad9c542c3592b495debba9a39a" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/event/zipball/e10cd5e8b7f02bad9c542c3592b495debba9a39a", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/event/v3.0.0/hyperf-event-v3.0.0.zip", "reference": "e10cd5e8b7f02bad9c542c3592b495debba9a39a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "hyperf/contract": "~3.0.0", @@ -2401,7 +1807,6 @@ "Hyperf\\Event\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2413,41 +1818,25 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, "time": "2022-10-13T02:40:13+00:00" }, { "name": "hyperf/exception-handler", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/exception-handler.git", - "reference": "2c7506e82f81e8c60a8e83168b5af4b9eed05efd" - }, + "version": "v3.0.24", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/exception-handler/zipball/2c7506e82f81e8c60a8e83168b5af4b9eed05efd", - "reference": "2c7506e82f81e8c60a8e83168b5af4b9eed05efd", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/exception-handler/v3.0.24/hyperf-exception-handler-v3.0.24.zip", + "reference": "bcadcd90f2d4f71e8e85f769256afdd4ea712ad3", + "shasum": "" }, "require": { "hyperf/contract": "~3.0.0", "hyperf/dispatcher": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0|^2.0" }, "type": "library", "extra": { @@ -2463,7 +1852,6 @@ "Hyperf\\ExceptionHandler\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2474,33 +1862,16 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-11-01T02:50:54+00:00" + "time": "2023-06-04T02:14:26+00:00" }, { "name": "hyperf/filesystem", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/filesystem.git", - "reference": "07e0cf2eaf63c000aa503ae9ed906b54ff7dd056" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/filesystem/zipball/07e0cf2eaf63c000aa503ae9ed906b54ff7dd056", - "reference": "07e0cf2eaf63c000aa503ae9ed906b54ff7dd056", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/filesystem/v3.0.18/hyperf-filesystem-v3.0.18.zip", + "reference": "11a0550c8404439447901a83b30194015aab48b6", + "shasum": "" }, "require": { "hyperf/di": "~3.0.0", @@ -2530,7 +1901,6 @@ "Hyperf\\Filesystem\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2539,35 +1909,66 @@ "hyperf", "php" ], - "support": { - "issues": "https://github.com/hyperf/filesystem/issues", - "source": "https://github.com/hyperf/filesystem/tree/v3.0.0" + "time": "2023-04-26T03:02:31+00:00" + }, + { + "name": "hyperf/flysystem-oss", + "version": "v1.2.1", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/flysystem-oss/v1.2.1/hyperf-flysystem-oss-v1.2.1.zip", + "reference": "796557b0d70879321a85bf7bba7d347057c19b38", + "shasum": "" }, - "time": "2022-08-15T15:13:16+00:00" + "require": { + "aliyuncs/oss-sdk-php": "^2.4", + "hyperf/utils": "^2.2|^3.0", + "league/flysystem": "^2.1|^3.0", + "php": ">=7.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.0", + "hyperf/di": "^2.2", + "mockery/mockery": "^1.0", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": ">=7.0", + "swoole/ide-helper": "dev-master", + "swow/swow": "dev-develop", + "symfony/var-dumper": "^5.1" + }, + "type": "library", + "extra": { + "hyperf": { + "config": "Hyperf\\Flysystem\\OSS\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Hyperf\\Flysystem\\OSS\\": "src/" + } + }, + "license": [ + "MIT" + ], + "keywords": [ + "hyperf", + "php" + ], + "time": "2022-08-03T23:33:06+00:00" }, { "name": "hyperf/framework", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/framework.git", - "reference": "20e0fd40e200285cb5da73c9c8da6669efd7c789" - }, + "version": "v3.0.23", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/framework/zipball/20e0fd40e200285cb5da73c9c8da6669efd7c789", - "reference": "20e0fd40e200285cb5da73c9c8da6669efd7c789", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/framework/v3.0.23/hyperf-framework-v3.0.23.zip", + "reference": "38e0fdfd097e73efbe7391795a695cea874d4ca6", + "shasum": "" }, "require": { "fig/http-message-util": "^1.1.2", "hyperf/contract": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0", @@ -2595,7 +1996,6 @@ "Hyperf\\Framework\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2609,42 +2009,25 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-11-01T02:50:54+00:00" + "time": "2023-05-30T01:25:37+00:00" }, { "name": "hyperf/guzzle", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/guzzle.git", - "reference": "1df78150253171695324216a34558a182095dd0c" - }, + "version": "v3.0.24", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/guzzle/zipball/1df78150253171695324216a34558a182095dd0c", - "reference": "1df78150253171695324216a34558a182095dd0c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/guzzle/v3.0.24/hyperf-guzzle-v3.0.24.zip", + "reference": "7791900eed289bd6584e2e52d2ec02b47f85740c", + "shasum": "" }, "require": { "guzzlehttp/guzzle": "^6.3|^7.0", - "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0|^2.0" }, "suggest": { + "ext-curl": "Required for CURL handler support", "hyperf/pool": "Required to use pool handler." }, "type": "library", @@ -2661,7 +2044,6 @@ "Hyperf\\Guzzle\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2672,37 +2054,25 @@ "php", "swoole" ], - "support": { - "issues": "https://github.com/hyperf/guzzle/issues", - "source": "https://github.com/hyperf/guzzle/tree/v3.0.0" - }, - "time": "2022-11-01T02:50:54+00:00" + "time": "2023-06-04T02:14:26+00:00" }, { "name": "hyperf/http-message", - "version": "v3.0.1", - "source": { - "type": "git", - "url": "https://github.com/hyperf/http-message.git", - "reference": "2f6f4e5079cb445d3c7c6518678cefcd726eaa52" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/http-message/zipball/2f6f4e5079cb445d3c7c6518678cefcd726eaa52", - "reference": "2f6f4e5079cb445d3c7c6518678cefcd726eaa52", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/http-message/v3.0.18/hyperf-http-message-v3.0.18.zip", + "reference": "23affffb7a15842f990144b5bd49641e4de8dda4", + "shasum": "" }, "require": { + "hyperf/codec": "~3.0.0", + "hyperf/engine": "^1.9|^2.7", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "laminas/laminas-mime": "^2.7", "php": ">=8.0", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0|^2.0" }, "suggest": { "psr/container": "Required to replace RequestParserInterface." @@ -2721,7 +2091,6 @@ "Hyperf\\HttpMessage\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2732,40 +2101,30 @@ "php", "swoole" ], - "support": { - "issues": "https://github.com/hyperf/http-message/issues", - "source": "https://github.com/hyperf/http-message/tree/v3.0.1" - }, - "time": "2023-01-04T11:57:10+00:00" + "time": "2023-04-26T03:02:31+00:00" }, { "name": "hyperf/http-server", - "version": "v3.0.1", - "source": { - "type": "git", - "url": "https://github.com/hyperf/http-server.git", - "reference": "192bed0596d36cb04c38695067e8c60078006109" - }, + "version": "v3.0.24", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/http-server/zipball/192bed0596d36cb04c38695067e8c60078006109", - "reference": "192bed0596d36cb04c38695067e8c60078006109", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/http-server/v3.0.24/hyperf-http-server-v3.0.24.zip", + "reference": "d8a3256a6b32879b6d7bfd308cc1dca9d8d27de1", + "shasum": "" }, "require": { + "hyperf/codec": "~3.0.0", + "hyperf/collection": "~3.0.0", "hyperf/contract": "~3.0.0", + "hyperf/coroutine": "~3.0.0", "hyperf/dispatcher": "~3.0.0", "hyperf/event": "~3.0.0", "hyperf/exception-handler": "~3.0.0", "hyperf/http-message": "~3.0.0", "hyperf/macroable": "~3.0.0", + "hyperf/serializer": "~3.0.0", "hyperf/server": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "nikic/fast-route": "^1.3", "php": ">=8.0", @@ -2788,7 +2147,6 @@ "Hyperf\\HttpServer\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2801,36 +2159,20 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2023-01-04T11:57:10+00:00" + "time": "2023-06-06T12:33:49+00:00" }, { "name": "hyperf/logger", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/logger.git", - "reference": "c8de4bc7cd9ccca7c27faf3ebe4e5cfd7380c894" - }, + "version": "v3.0.20", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/logger/zipball/c8de4bc7cd9ccca7c27faf3ebe4e5cfd7380c894", - "reference": "c8de4bc7cd9ccca7c27faf3ebe4e5cfd7380c894", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/logger/v3.0.20/hyperf-logger-v3.0.20.zip", + "reference": "24a3b87f646ab6684310ead0b277e2464c6c5cab", + "shasum": "" }, "require": { "hyperf/contract": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "monolog/monolog": "^2.7|^3.1", "php": ">=8.0", @@ -2851,7 +2193,6 @@ "Hyperf\\Logger\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2862,33 +2203,16 @@ "logger", "php" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-12-11T04:49:47+00:00" + "time": "2023-05-09T10:27:25+00:00" }, { "name": "hyperf/macroable", "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/macroable.git", - "reference": "822de69ba0c75aa9767a9cea487b84bf31d5240a" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/macroable/zipball/822de69ba0c75aa9767a9cea487b84bf31d5240a", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/macroable/v3.0.0/hyperf-macroable-v3.0.0.zip", "reference": "822de69ba0c75aa9767a9cea487b84bf31d5240a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.4" @@ -2904,7 +2228,6 @@ "Hyperf\\Macroable\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2916,33 +2239,16 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, "time": "2022-11-01T02:50:54+00:00" }, { "name": "hyperf/memory", "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/memory.git", - "reference": "c7217c9b5177562329074d332f9e13b40693bdfe" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/memory/zipball/c7217c9b5177562329074d332f9e13b40693bdfe", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/memory/v3.0.0/hyperf-memory-v3.0.0.zip", "reference": "c7217c9b5177562329074d332f9e13b40693bdfe", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.4" @@ -2961,7 +2267,6 @@ "Hyperf\\Memory\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -2973,37 +2278,22 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, "time": "2022-11-01T02:50:54+00:00" }, { "name": "hyperf/model-cache", - "version": "v3.0.3", - "source": { - "type": "git", - "url": "https://github.com/hyperf/model-cache.git", - "reference": "9a8348253863344fb06bc51c8a4933b019c9eb5f" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/model-cache/zipball/9a8348253863344fb06bc51c8a4933b019c9eb5f", - "reference": "9a8348253863344fb06bc51c8a4933b019c9eb5f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/model-cache/v3.0.18/hyperf-model-cache-v3.0.18.zip", + "reference": "a940e9a6f2a7e2e824a9645a12e05351f5a2f4fe", + "shasum": "" }, "require": { + "hyperf/codec": "~3.0.0", "hyperf/contract": "~3.0.0", "hyperf/db-connection": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0", @@ -3026,7 +2316,6 @@ "Hyperf\\ModelCache\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3037,39 +2326,23 @@ "model-cache", "php" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2023-01-11T09:18:46+00:00" + "time": "2023-04-26T03:02:31+00:00" }, { "name": "hyperf/model-listener", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/model-listener.git", - "reference": "50c7bffdbab5eb3828d6314b3d1de427c0e80704" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/model-listener/zipball/50c7bffdbab5eb3828d6314b3d1de427c0e80704", - "reference": "50c7bffdbab5eb3828d6314b3d1de427c0e80704", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/model-listener/v3.0.18/hyperf-model-listener-v3.0.18.zip", + "reference": "2167252ea7bdc8626cfd3d44f0f4709502c10432", + "shasum": "" }, "require": { "hyperf/contract": "~3.0.0", "hyperf/database": "~3.0.0", "hyperf/di": "~3.0.0", "hyperf/event": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0" @@ -3088,7 +2361,6 @@ "Hyperf\\ModelListener\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3100,36 +2372,20 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-05-30T02:16:40+00:00" + "time": "2023-04-26T03:02:31+00:00" }, { "name": "hyperf/paginator", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/paginator.git", - "reference": "45acff6623c65769949665d61e7af145082aea09" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/paginator/zipball/45acff6623c65769949665d61e7af145082aea09", - "reference": "45acff6623c65769949665d61e7af145082aea09", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/paginator/v3.0.18/hyperf-paginator-v3.0.18.zip", + "reference": "5e732c60fb47be062970a2d436e3bee341f15302", + "shasum": "" }, "require": { "hyperf/contract": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=7.2" }, @@ -3152,7 +2408,6 @@ "Hyperf\\Paginator\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3163,36 +2418,57 @@ "paginator", "php" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" + "time": "2023-04-26T03:02:31+00:00" + }, + { + "name": "hyperf/pipeline", + "version": "v3.0.16", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/pipeline/v3.0.16/hyperf-pipeline-v3.0.16.zip", + "reference": "a3f48561f5cfef5f697e7005446e16560024a443", + "shasum": "" }, - "time": "2022-11-01T02:50:54+00:00" + "require": { + "php": ">=8.0", + "psr/container": "^1.0|^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Hyperf\\Pipeline\\": "src/" + } + }, + "license": [ + "MIT" + ], + "description": "Hyperf Macroable package which come from illuminate/pipeline", + "homepage": "https://hyperf.io", + "keywords": [ + "hyperf", + "php", + "pipeline", + "swoole" + ], + "time": "2023-04-11T07:57:32+00:00" }, { "name": "hyperf/pool", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/pool.git", - "reference": "6a937ff363b84208c26cf918490a07d38ab0c987" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/pool/zipball/6a937ff363b84208c26cf918490a07d38ab0c987", - "reference": "6a937ff363b84208c26cf918490a07d38ab0c987", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/pool/v3.0.18/hyperf-pool-v3.0.18.zip", + "reference": "44c87d46a1619554deed3879e8db675654ffd051", + "shasum": "" }, "require": { "hyperf/contract": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0" @@ -3211,7 +2487,6 @@ "Hyperf\\Pool\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3223,36 +2498,20 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-11-26T11:47:54+00:00" + "time": "2023-04-26T03:02:31+00:00" }, { "name": "hyperf/process", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/process.git", - "reference": "a8f7589cdde9037b313626c4d34012c8ee5be263" - }, + "version": "v3.0.22", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/process/zipball/a8f7589cdde9037b313626c4d34012c8ee5be263", - "reference": "a8f7589cdde9037b313626c4d34012c8ee5be263", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/process/v3.0.22/hyperf-process-v3.0.22.zip", + "reference": "e804c32bf7497bedcdee28994257aeaf71a1fde7", + "shasum": "" }, "require": { "hyperf/contract": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0", @@ -3277,7 +2536,6 @@ "Hyperf\\Process\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3288,38 +2546,23 @@ "php", "process" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-11-01T02:50:54+00:00" + "time": "2023-05-27T06:08:52+00:00" }, { "name": "hyperf/redis", - "version": "v3.0.2", - "source": { - "type": "git", - "url": "https://github.com/hyperf/redis.git", - "reference": "b5e59c2612bf3f6b6fd5d024e25c973a72f62fbe" - }, + "version": "v3.0.21", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/redis/zipball/b5e59c2612bf3f6b6fd5d024e25c973a72f62fbe", - "reference": "b5e59c2612bf3f6b6fd5d024e25c973a72f62fbe", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/redis/v3.0.21/hyperf-redis-v3.0.21.zip", + "reference": "65ec6cbecb64793670ef1a512bd15369b683c746", + "shasum": "" }, "require": { "ext-redis": "*", "hyperf/contract": "~3.0.0", "hyperf/pool": "~3.0.0", + "hyperf/support": "~3.0.0", + "hyperf/tappable": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0" @@ -3342,7 +2585,6 @@ "Hyperf\\Redis\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3354,36 +2596,67 @@ "pool", "redis" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2023-01-09T08:49:03+00:00" + "time": "2023-05-15T04:08:45+00:00" }, { - "name": "hyperf/server", + "name": "hyperf/serializer", "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/server.git", - "reference": "467d400bb7bf7329f082887e865cb78b054ef02b" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/server/zipball/467d400bb7bf7329f082887e865cb78b054ef02b", - "reference": "467d400bb7bf7329f082887e865cb78b054ef02b", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/serializer/v3.0.0/hyperf-serializer-v3.0.0.zip", + "reference": "c4efedaa072c5ffe196e95e0c74a9d90fd1e4811", + "shasum": "" }, "require": { "hyperf/contract": "~3.0.0", + "php": ">=8.0" + }, + "suggest": { + "hyperf/di": "Required to use ExceptionNormalizer", + "symfony/property-access": "Required to use SymfonyNormalizer (^5.0|^6.0)", + "symfony/serializer": "Required to use SymfonyNormalizer (^5.0|^6.0)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + }, + "hyperf": { + "config": "Hyperf\\Serializer\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Hyperf\\Serializer\\": "src/" + } + }, + "license": [ + "MIT" + ], + "description": "A serializer component for Hyperf.", + "homepage": "https://hyperf.io", + "keywords": [ + "hyperf", + "php", + "swoole", + "tappable" + ], + "time": "2023-04-24T07:07:56+00:00" + }, + { + "name": "hyperf/server", + "version": "v3.0.24", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/server/v3.0.24/hyperf-server-v3.0.24.zip", + "reference": "0a2bfa37355631a0f0484bfd08d815ad858d279c", + "shasum": "" + }, + "require": { + "hyperf/contract": "~3.0.0", + "hyperf/engine": "^1.10|^2.8", + "hyperf/support": "~3.0.0", + "hyperf/tappable": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0", @@ -3409,7 +2682,6 @@ "Hyperf\\Server\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3421,33 +2693,16 @@ "server", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-08-15T15:13:16+00:00" + "time": "2023-06-07T05:27:29+00:00" }, { "name": "hyperf/snowflake", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/snowflake.git", - "reference": "03c21f4be91dead4d9c0bc1a74000ce13986191b" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/snowflake/zipball/03c21f4be91dead4d9c0bc1a74000ce13986191b", - "reference": "03c21f4be91dead4d9c0bc1a74000ce13986191b", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/snowflake/v3.0.18/hyperf-snowflake-v3.0.18.zip", + "reference": "76d7ef7683c964d17d4cd30815bcb0509428adf3", + "shasum": "" }, "require": { "hyperf/contract": "~3.0.0", @@ -3472,7 +2727,6 @@ "Hyperf\\Snowflake\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3482,37 +2736,156 @@ "php", "snowflake" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" + "time": "2023-04-26T03:02:31+00:00" + }, + { + "name": "hyperf/stringable", + "version": "v3.0.27", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/stringable/v3.0.27/hyperf-stringable-v3.0.27.zip", + "reference": "cd56584d5d7a2688e1c1a401c3c41c0a8143a920", + "shasum": "" }, - "time": "2022-11-01T02:50:54+00:00" + "require": { + "hyperf/collection": "~3.0.0", + "hyperf/conditionable": "~3.0.0", + "hyperf/macroable": "~3.0.0", + "hyperf/tappable": "~3.0.0", + "php": ">=8.0" + }, + "suggest": { + "doctrine/inflector": "Required to use plural and singular methods.(^2.0|^3.0)", + "ramsey/uuid": "Required to use uuid and orderedUuid methods.(^4.7|^5.0)", + "symfony/uid": "Required to use ulid method.(^5.0|^6.0)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "files": [ + "src/Functions.php" + ], + "psr-4": { + "Hyperf\\Stringable\\": "src/" + } + }, + "license": [ + "MIT" + ], + "description": "Hyperf Stringable package which come from illuminate/support", + "homepage": "https://hyperf.io", + "keywords": [ + "hyperf", + "php", + "stringable", + "swoole" + ], + "time": "2023-06-25T06:10:37+00:00" + }, + { + "name": "hyperf/support", + "version": "v3.0.24", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/support/v3.0.24/hyperf-support-v3.0.24.zip", + "reference": "576838e7185bf8eb749920a3285b399cb9c3a24b", + "shasum": "" + }, + "require": { + "hyperf/collection": "~3.0.0", + "hyperf/context": "~3.0.0", + "hyperf/contract": "~3.0.0", + "hyperf/coroutine": "~3.0.0", + "hyperf/macroable": "~3.0.0", + "hyperf/stringable": "~3.0.0", + "php": ">=8.0" + }, + "suggest": { + "nesbot/carbon": "Use Carbon as DateTime object.(^2.0)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "files": [ + "src/Functions.php" + ], + "psr-4": { + "Hyperf\\Support\\": "src/" + } + }, + "license": [ + "MIT" + ], + "description": "A support component for Hyperf.", + "homepage": "https://hyperf.io", + "keywords": [ + "hyperf", + "php", + "support", + "swoole" + ], + "time": "2023-06-08T06:55:09+00:00" + }, + { + "name": "hyperf/tappable", + "version": "v3.0.0", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/tappable/v3.0.0/hyperf-tappable-v3.0.0.zip", + "reference": "4f90b9026a5bdce5b3e6be29a2ab7a86c54f372a", + "shasum": "" + }, + "require": { + "php": ">=7.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "files": [ + "src/Functions.php" + ], + "psr-4": { + "Hyperf\\Tappable\\": "src/" + } + }, + "license": [ + "MIT" + ], + "description": "Hyperf Macroable package which come from illuminate/tappable", + "homepage": "https://hyperf.io", + "keywords": [ + "hyperf", + "php", + "swoole", + "tappable" + ], + "time": "2023-03-28T15:02:39+00:00" }, { "name": "hyperf/translation", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/translation.git", - "reference": "72c264dc92750732c456b6b9bc057d25440e4393" - }, + "version": "v3.0.22", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/translation/zipball/72c264dc92750732c456b6b9bc057d25440e4393", - "reference": "72c264dc92750732c456b6b9bc057d25440e4393", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/translation/v3.0.22/hyperf-translation-v3.0.22.zip", + "reference": "d8043633db04c81490b87c29007f3e53307b3aa1", + "shasum": "" }, "require": { "hyperf/contract": "~3.0.0", "hyperf/macroable": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0" @@ -3534,7 +2907,6 @@ "Hyperf\\Translation\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3543,54 +2915,45 @@ "hyperf", "translation" ], - "support": { - "issues": "https://github.com/hyperf/translation/issues", - "source": "https://github.com/hyperf/translation/tree/v3.0.0" - }, - "time": "2022-11-01T02:50:54+00:00" + "time": "2023-05-24T13:51:45+00:00" }, { "name": "hyperf/utils", - "version": "v3.0.1", - "source": { - "type": "git", - "url": "https://github.com/hyperf/utils.git", - "reference": "3955bd117bb04579f1fe5644682a4e4c207521d4" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/utils/zipball/3955bd117bb04579f1fe5644682a4e4c207521d4", - "reference": "3955bd117bb04579f1fe5644682a4e4c207521d4", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/utils/v3.0.18/hyperf-utils-v3.0.18.zip", + "reference": "2e59cef3dd562053fe7c9b2a41e7243b4ee23bd6", + "shasum": "" }, "require": { "doctrine/inflector": "^2.0", + "hyperf/code-parser": "~3.0.0", + "hyperf/codec": "~3.0.0", + "hyperf/collection": "~3.0.0", "hyperf/context": "~3.0.0", "hyperf/contract": "~3.0.0", "hyperf/coordinator": "~3.0.0", + "hyperf/coroutine": "~3.0.0", "hyperf/engine": "^1.2|^2.0", "hyperf/macroable": "~3.0.0", + "hyperf/serializer": "~3.0.0", + "hyperf/stringable": "~3.0.0", + "hyperf/support": "~3.0.0", "php": ">=7.2" }, "suggest": { "ext-swoole": "Required to use methods related to swoole (>=4.5).", "hyperf/di": "Required to use ExceptionNormalizer", "nikic/php-parser": "Required to use PhpParser. (^4.0)", + "ramsey/uuid": "Required to use uuid and orderedUuid methods", "symfony/property-access": "Required to use SymfonyNormalizer (^5.0|^6.0)", "symfony/serializer": "Required to use SymfonyNormalizer (^5.0|^6.0)", + "symfony/uid": "Required to use ulid method", "symfony/var-dumper": "Required to use the dd function (^5.0|^6.0)." }, "type": "library", "extra": { - "hyperf": { - "config": "Hyperf\\Utils\\ConfigProvider" - }, "branch-alias": { "dev-master": "3.0-dev" } @@ -3603,7 +2966,6 @@ "Hyperf\\Utils\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3615,49 +2977,35 @@ "swoole", "utils" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2023-01-04T11:57:10+00:00" + "time": "2023-04-26T03:02:31+00:00" }, { "name": "hyperf/validation", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/validation.git", - "reference": "082ad0f0b2fc55d909a88e50cde9e56f0424e2ce" - }, + "version": "v3.0.24", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/validation/zipball/082ad0f0b2fc55d909a88e50cde9e56f0424e2ce", - "reference": "082ad0f0b2fc55d909a88e50cde9e56f0424e2ce", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/validation/v3.0.24/hyperf-validation-v3.0.24.zip", + "reference": "c45e1edf332422c03fe5b4b75618bf504bd838a9", + "shasum": "" }, "require": { "egulias/email-validator": "^3.0", + "hyperf/collection": "~3.0.0", "hyperf/contract": "~3.0.0", "hyperf/database": "~3.0.0", "hyperf/di": "~3.0.0", "hyperf/framework": "~3.0.0", "hyperf/http-server": "~3.0.0", "hyperf/macroable": "~3.0.0", + "hyperf/support": "~3.0.0", + "hyperf/tappable": "~3.0.0", "hyperf/translation": "~3.0.0", "hyperf/utils": "~3.0.0", "nesbot/carbon": "^2.21", "php": ">=8.0", "psr/container": "^1.0|^2.0", "psr/event-dispatcher": "^1.0", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0|^2.0" }, "type": "library", "extra": { @@ -3673,7 +3021,6 @@ "Hyperf\\Validation\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3682,36 +3029,23 @@ "hyperf", "validation" ], - "support": { - "issues": "https://github.com/hyperf/validation/issues", - "source": "https://github.com/hyperf/validation/tree/v3.0.0" - }, - "time": "2022-12-22T08:23:24+00:00" + "time": "2023-06-08T01:34:45+00:00" }, { "name": "hyperf/websocket-server", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/websocket-server.git", - "reference": "e48b49751a4bc2a0202bcaf34e6b492d57e15c79" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/websocket-server/zipball/e48b49751a4bc2a0202bcaf34e6b492d57e15c79", - "reference": "e48b49751a4bc2a0202bcaf34e6b492d57e15c79", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/websocket-server/v3.0.18/hyperf-websocket-server-v3.0.18.zip", + "reference": "5d8bd4d3ac08e5fe299a7c08e55f1e05a2ff148c", + "shasum": "" }, "require": { + "hyperf/collection": "~3.0.0", "hyperf/contract": "~3.0.0", "hyperf/exception-handler": "~3.0.0", "hyperf/http-server": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "psr/container": "^1.0|^2.0", @@ -3731,7 +3065,6 @@ "Hyperf\\WebSocketServer\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -3743,45 +3076,28 @@ "swoole", "websocket" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-11-28T08:56:48+00:00" + "time": "2023-04-26T03:02:31+00:00" }, { "name": "laminas/laminas-mime", - "version": "2.10.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-mime.git", - "reference": "62a899a7c9100889c2d2386b1357003a2cb52fa9" - }, + "version": "2.11.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-mime/zipball/62a899a7c9100889c2d2386b1357003a2cb52fa9", - "reference": "62a899a7c9100889c2d2386b1357003a2cb52fa9", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/laminas/laminas-mime/2.11.0/laminas-laminas-mime-2.11.0.zip", + "reference": "60ec04b755821c79c1987ce291b44e69f2c0831f", + "shasum": "" }, "require": { "laminas/laminas-stdlib": "^2.7 || ^3.0", - "php": "^7.3 || ~8.0.0 || ~8.1.0" + "php": "~8.0.0 || ~8.1.0 || ~8.2.0" }, "conflict": { "zendframework/zend-mime": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "~2.2.1", - "laminas/laminas-mail": "^2.12", - "phpunit/phpunit": "^9.5" + "laminas/laminas-coding-standard": "~2.4.0", + "laminas/laminas-mail": "^2.19.0", + "phpunit/phpunit": "~9.5.25" }, "suggest": { "laminas/laminas-mail": "Laminas\\Mail component" @@ -3792,7 +3108,6 @@ "Laminas\\Mime\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -3802,54 +3117,29 @@ "laminas", "mime" ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-mime/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-mime/issues", - "rss": "https://github.com/laminas/laminas-mime/releases.atom", - "source": "https://github.com/laminas/laminas-mime" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2022-08-30T09:38:41+00:00" + "time": "2022-10-18T08:38:15+00:00" }, { "name": "laminas/laminas-stdlib", - "version": "3.16.1", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "f4f773641807c7ccee59b758bfe4ac4ba33ecb17" - }, + "version": "3.17.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/f4f773641807c7ccee59b758bfe4ac4ba33ecb17", - "reference": "f4f773641807c7ccee59b758bfe4ac4ba33ecb17", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/laminas/laminas-stdlib/3.17.0/laminas-laminas-stdlib-3.17.0.zip", + "reference": "dd35c868075bad80b6718959740913e178eb4274", + "shasum": "" }, "require": { - "php": "~8.0.0 || ~8.1.0 || ~8.2.0" + "php": "~8.1.0 || ~8.2.0" }, "conflict": { "zendframework/zend-stdlib": "*" }, "require-dev": { - "laminas/laminas-coding-standard": "^2.4.0", - "phpbench/phpbench": "^1.2.7", - "phpunit/phpunit": "^9.5.26", - "psalm/plugin-phpunit": "^0.18.0", - "vimeo/psalm": "^5.0.0" + "laminas/laminas-coding-standard": "^2.5", + "phpbench/phpbench": "^1.2.9", + "phpunit/phpunit": "^10.0.16", + "psalm/plugin-phpunit": "^0.18.4", + "vimeo/psalm": "^5.8" }, "type": "library", "autoload": { @@ -3857,7 +3147,6 @@ "Laminas\\Stdlib\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -3867,291 +3156,124 @@ "laminas", "stdlib" ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-stdlib/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-stdlib/issues", - "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", - "source": "https://github.com/laminas/laminas-stdlib" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2022-12-03T18:48:01+00:00" - }, - { - "name": "lcobucci/clock", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/clock.git", - "reference": "c7aadcd6fd97ed9e199114269c0be3f335e38876" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lcobucci/clock/zipball/c7aadcd6fd97ed9e199114269c0be3f335e38876", - "reference": "c7aadcd6fd97ed9e199114269c0be3f335e38876", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "~8.1.0 || ~8.2.0", - "stella-maris/clock": "^0.1.7" - }, - "provide": { - "psr/clock-implementation": "1.0" - }, - "require-dev": { - "infection/infection": "^0.26", - "lcobucci/coding-standard": "^9.0", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-deprecation-rules": "^1.1.1", - "phpstan/phpstan-phpunit": "^1.3.2", - "phpstan/phpstan-strict-rules": "^1.4.4", - "phpunit/phpunit": "^9.5.27" - }, - "type": "library", - "autoload": { - "psr-4": { - "Lcobucci\\Clock\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Luís Cobucci", - "email": "lcobucci@gmail.com" - } - ], - "description": "Yet another clock abstraction", - "support": { - "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/2.3.0" - }, - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" - }, - { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], - "time": "2022-12-19T14:38:11+00:00" - }, - { - "name": "lcobucci/jwt", - "version": "4.1.5", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/jwt.git", - "reference": "fe2d89f2eaa7087af4aa166c6f480ef04e000582" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/fe2d89f2eaa7087af4aa166c6f480ef04e000582", - "reference": "fe2d89f2eaa7087af4aa166c6f480ef04e000582", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-hash": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-openssl": "*", - "ext-sodium": "*", - "lcobucci/clock": "^2.0", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "infection/infection": "^0.21", - "lcobucci/coding-standard": "^6.0", - "mikey179/vfsstream": "^1.6.7", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-deprecation-rules": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/php-invoker": "^3.1", - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Lcobucci\\JWT\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Luís Cobucci", - "email": "lcobucci@gmail.com", - "role": "Developer" - } - ], - "description": "A simple library to work with JSON Web Token and JSON Web Signature", - "keywords": [ - "JWS", - "jwt" - ], - "support": { - "issues": "https://github.com/lcobucci/jwt/issues", - "source": "https://github.com/lcobucci/jwt/tree/4.1.5" - }, - "funding": [ - { - "url": "https://github.com/lcobucci", - "type": "github" - }, - { - "url": "https://www.patreon.com/lcobucci", - "type": "patreon" - } - ], - "time": "2021-09-28T19:34:56+00:00" + "time": "2023-03-20T13:51:37+00:00" }, { "name": "league/flysystem", - "version": "1.1.10", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1" - }, + "version": "3.15.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1", - "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/league/flysystem/3.15.1/league-flysystem-3.15.1.zip", + "reference": "a141d430414fcb8bf797a18716b09f759a385bed", + "shasum": "" }, "require": { - "ext-fileinfo": "*", - "league/mime-type-detection": "^1.3", - "php": "^7.2.5 || ^8.0" + "league/flysystem-local": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" }, "conflict": { - "league/flysystem-sftp": "<1.0.6" + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", + "symfony/http-client": "<5.2" }, "require-dev": { - "phpspec/prophecy": "^1.11.1", - "phpunit/phpunit": "^8.5.8" - }, - "suggest": { - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + "async-aws/s3": "^1.5", + "async-aws/simple-s3": "^1.1", + "aws/aws-sdk-php": "^3.220.0", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "microsoft/azure-storage-blob": "^1.1", + "phpseclib/phpseclib": "^3.0.14", + "phpstan/phpstan": "^0.12.26", + "phpunit/phpunit": "^9.5.11", + "sabre/dav": "^4.3.1" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1-dev" - } - }, "autoload": { "psr-4": { - "League\\Flysystem\\": "src/" + "League\\Flysystem\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "Frank de Jonge", - "email": "info@frenky.net" + "email": "info@frankdejonge.nl" } ], - "description": "Filesystem abstraction: Many filesystems, one API.", + "description": "File storage abstraction for PHP", "keywords": [ - "Cloud Files", "WebDAV", - "abstraction", "aws", "cloud", - "copy.com", - "dropbox", - "file systems", + "file", "files", "filesystem", "filesystems", "ftp", - "rackspace", - "remote", "s3", "sftp", "storage" ], - "support": { - "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.10" + "time": "2023-05-04T09:04:26+00:00" + }, + { + "name": "league/flysystem-local", + "version": "3.15.0", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/league/flysystem-local/3.15.0/league-flysystem-local-3.15.0.zip", + "reference": "543f64c397fefdf9cfeac443ffb6beff602796b3", + "shasum": "" }, - "funding": [ + "require": { + "ext-fileinfo": "*", + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\Local\\": "" + } + }, + "license": [ + "MIT" + ], + "authors": [ { - "url": "https://offset.earth/frankdejonge", - "type": "other" + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" } ], - "time": "2022-10-04T09:16:37+00:00" + "description": "Local filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "local" + ], + "time": "2023-05-02T20:02:14+00:00" }, { "name": "league/mime-type-detection", "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd", + "url": "https://mirrors.tencent.com/repository/composer/league/mime-type-detection/1.11.0/league-mime-type-detection-1.11.0.zip", "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-fileinfo": "*", @@ -4168,7 +3290,6 @@ "League\\MimeTypeDetection\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -4179,244 +3300,16 @@ } ], "description": "Mime-type detection for Flysystem", - "support": { - "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0" - }, - "funding": [ - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], "time": "2022-04-17T13:12:02+00:00" }, - { - "name": "maennchen/zipstream-php", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/maennchen/ZipStream-PHP.git", - "reference": "3fa72e4c71a43f9e9118752a5c90e476a8dc9eb3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/3fa72e4c71a43f9e9118752a5c90e476a8dc9eb3", - "reference": "3fa72e4c71a43f9e9118752a5c90e476a8dc9eb3", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-mbstring": "*", - "myclabs/php-enum": "^1.5", - "php": "^8.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "ext-zip": "*", - "friendsofphp/php-cs-fixer": "^3.9", - "guzzlehttp/guzzle": "^6.5.3 || ^7.2.0", - "mikey179/vfsstream": "^1.6", - "php-coveralls/php-coveralls": "^2.4", - "phpunit/phpunit": "^8.5.8 || ^9.4.2", - "vimeo/psalm": "^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "ZipStream\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paul Duncan", - "email": "pabs@pablotron.org" - }, - { - "name": "Jonatan Männchen", - "email": "jonatan@maennchen.ch" - }, - { - "name": "Jesse Donat", - "email": "donatj@gmail.com" - }, - { - "name": "András Kolesár", - "email": "kolesar@kolesar.hu" - } - ], - "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.", - "keywords": [ - "stream", - "zip" - ], - "support": { - "issues": "https://github.com/maennchen/ZipStream-PHP/issues", - "source": "https://github.com/maennchen/ZipStream-PHP/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://github.com/maennchen", - "type": "github" - }, - { - "url": "https://opencollective.com/zipstream", - "type": "open_collective" - } - ], - "time": "2022-12-08T12:29:14+00:00" - }, - { - "name": "markbaker/complex", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/MarkBaker/PHPComplex.git", - "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/95c56caa1cf5c766ad6d65b6344b807c1e8405b9", - "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "dev-master", - "phpcompatibility/php-compatibility": "^9.3", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "squizlabs/php_codesniffer": "^3.7" - }, - "type": "library", - "autoload": { - "psr-4": { - "Complex\\": "classes/src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mark Baker", - "email": "mark@lange.demon.co.uk" - } - ], - "description": "PHP Class for working with complex numbers", - "homepage": "https://github.com/MarkBaker/PHPComplex", - "keywords": [ - "complex", - "mathematics" - ], - "support": { - "issues": "https://github.com/MarkBaker/PHPComplex/issues", - "source": "https://github.com/MarkBaker/PHPComplex/tree/3.0.2" - }, - "time": "2022-12-06T16:21:08+00:00" - }, - { - "name": "markbaker/matrix", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/MarkBaker/PHPMatrix.git", - "reference": "728434227fe21be27ff6d86621a1b13107a2562c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/728434227fe21be27ff6d86621a1b13107a2562c", - "reference": "728434227fe21be27ff6d86621a1b13107a2562c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "dev-master", - "phpcompatibility/php-compatibility": "^9.3", - "phpdocumentor/phpdocumentor": "2.*", - "phploc/phploc": "^4.0", - "phpmd/phpmd": "2.*", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "sebastian/phpcpd": "^4.0", - "squizlabs/php_codesniffer": "^3.7" - }, - "type": "library", - "autoload": { - "psr-4": { - "Matrix\\": "classes/src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mark Baker", - "email": "mark@demon-angel.eu" - } - ], - "description": "PHP Class for working with matrices", - "homepage": "https://github.com/MarkBaker/PHPMatrix", - "keywords": [ - "mathematics", - "matrix", - "vector" - ], - "support": { - "issues": "https://github.com/MarkBaker/PHPMatrix/issues", - "source": "https://github.com/MarkBaker/PHPMatrix/tree/3.0.1" - }, - "time": "2022-12-02T22:17:43+00:00" - }, { "name": "monolog/monolog", - "version": "3.2.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "305444bc6fb6c89e490f4b34fa6e979584d7fa81" - }, + "version": "3.4.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/305444bc6fb6c89e490f4b34fa6e979584d7fa81", - "reference": "305444bc6fb6c89e490f4b34fa6e979584d7fa81", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/monolog/monolog/3.4.0/monolog-monolog-3.4.0.zip", + "reference": "e2392369686d420ca32df3803de28b5d6f76867d", + "shasum": "" }, "require": { "php": ">=8.1", @@ -4430,16 +3323,16 @@ "doctrine/couchdb": "~1.0@dev", "elasticsearch/elasticsearch": "^7 || ^8", "ext-json": "*", - "graylog2/gelf-php": "^1.4.2", - "guzzlehttp/guzzle": "^7.4", + "graylog2/gelf-php": "^1.4.2 || ^2.0", + "guzzlehttp/guzzle": "^7.4.5", "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", "php-amqplib/php-amqplib": "~2.4 || ^3", - "phpstan/phpstan": "^1.4", + "phpstan/phpstan": "^1.9", "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "phpunit/phpunit": "^9.5.16", - "predis/predis": "^1.1", + "phpstan/phpstan-strict-rules": "^1.4", + "phpunit/phpunit": "^10.1", + "predis/predis": "^1.1 || ^2", "ruflin/elastica": "^7", "symfony/mailer": "^5.4 || ^6", "symfony/mime": "^5.4 || ^6" @@ -4471,7 +3364,6 @@ "Monolog\\": "src/Monolog" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -4489,57 +3381,35 @@ "logging", "psr-3" ], - "support": { - "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.2.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "type": "tidelift" - } - ], - "time": "2022-07-24T12:00:55+00:00" + "time": "2023-06-21T08:46:11+00:00" }, { "name": "myclabs/php-enum", - "version": "1.6.6", - "source": { - "type": "git", - "url": "https://github.com/myclabs/php-enum.git", - "reference": "32c4202886c51fbe5cc3a7c34ec5c9a4a790345e" - }, + "version": "1.8.4", "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/php-enum/zipball/32c4202886c51fbe5cc3a7c34ec5c9a4a790345e", - "reference": "32c4202886c51fbe5cc3a7c34ec5c9a4a790345e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/myclabs/php-enum/1.8.4/myclabs-php-enum-1.8.4.zip", + "reference": "a867478eae49c9f59ece437ae7f9506bfaa27483", + "shasum": "" }, "require": { "ext-json": "*", - "php": ">=5.4" + "php": "^7.3 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35|^5.7|^6.0", - "squizlabs/php_codesniffer": "1.*" + "phpunit/phpunit": "^9.5", + "squizlabs/php_codesniffer": "1.*", + "vimeo/psalm": "^4.6.2" }, "type": "library", "autoload": { "psr-4": { "MyCLabs\\Enum\\": "src/" - } + }, + "classmap": [ + "stubs/Stringable.php" + ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -4554,31 +3424,16 @@ "keywords": [ "enum" ], - "support": { - "issues": "https://github.com/myclabs/php-enum/issues", - "source": "https://github.com/myclabs/php-enum/tree/master" - }, - "time": "2019-02-04T21:18:49+00:00" + "time": "2022-08-04T09:53:51+00:00" }, { "name": "nesbot/carbon", - "version": "2.66.0", - "source": { - "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "496712849902241f04902033b0441b269effe001" - }, + "version": "2.68.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/496712849902241f04902033b0441b269effe001", - "reference": "496712849902241f04902033b0441b269effe001", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/nesbot/carbon/2.68.1/nesbot-carbon-2.68.1.zip", + "reference": "4f991ed2a403c85efbc4f23eb4030063fdbe01da", + "shasum": "" }, "require": { "ext-json": "*", @@ -4625,7 +3480,6 @@ "Carbon\\": "src/Carbon/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -4647,46 +3501,16 @@ "datetime", "time" ], - "support": { - "docs": "https://carbon.nesbot.com/docs", - "issues": "https://github.com/briannesbitt/Carbon/issues", - "source": "https://github.com/briannesbitt/Carbon" - }, - "funding": [ - { - "url": "https://github.com/sponsors/kylekatarnls", - "type": "github" - }, - { - "url": "https://opencollective.com/Carbon#sponsor", - "type": "opencollective" - }, - { - "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", - "type": "tidelift" - } - ], - "time": "2023-01-29T18:53:47+00:00" + "time": "2023-06-20T18:29:04+00:00" }, { "name": "netresearch/jsonmapper", "version": "v4.0.0", - "source": { - "type": "git", - "url": "https://github.com/cweiske/jsonmapper.git", - "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d", + "url": "https://mirrors.cloud.tencent.com/repository/composer/netresearch/jsonmapper/v4.0.0/netresearch-jsonmapper-v4.0.0.zip", "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-json": "*", @@ -4705,7 +3529,6 @@ "JsonMapper": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "OSL-3.0" ], @@ -4718,32 +3541,16 @@ } ], "description": "Map nested JSON structures onto PHP classes", - "support": { - "email": "cweiske@cweiske.de", - "issues": "https://github.com/cweiske/jsonmapper/issues", - "source": "https://github.com/cweiske/jsonmapper/tree/v4.0.0" - }, "time": "2020-12-01T19:48:11+00:00" }, { "name": "nikic/fast-route", "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/FastRoute.git", - "reference": "181d480e08d9476e61381e04a71b34dc0432e812" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812", + "url": "https://mirrors.cloud.tencent.com/repository/composer/nikic/fast-route/v1.3.0/nikic-fast-route-v1.3.0.zip", "reference": "181d480e08d9476e61381e04a71b34dc0432e812", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=5.4.0" @@ -4760,7 +3567,6 @@ "FastRoute\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -4775,31 +3581,16 @@ "router", "routing" ], - "support": { - "issues": "https://github.com/nikic/FastRoute/issues", - "source": "https://github.com/nikic/FastRoute/tree/master" - }, "time": "2018-02-13T20:26:39+00:00" }, { "name": "nikic/php-parser", - "version": "v4.15.2", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc" - }, + "version": "v4.16.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", - "reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/nikic/php-parser/v4.16.0/nikic-php-parser-v4.16.0.zip", + "reference": "19526a33fb561ef417e822e85f08a00db4059c17", + "shasum": "" }, "require": { "ext-tokenizer": "*", @@ -4823,7 +3614,6 @@ "PhpParser\\": "lib/PhpParser" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -4837,42 +3627,75 @@ "parser", "php" ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.2" - }, - "time": "2022-11-12T15:38:23+00:00" + "time": "2023-06-25T14:52:30+00:00" }, { "name": "overtrue/flysystem-cos", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/overtrue/flysystem-cos.git", - "reference": "efa7578f0a497bfa53bb065ba7d4b66a8cf810f0" - }, + "version": "5.1.4", "dist": { "type": "zip", - "url": "https://api.github.com/repos/overtrue/flysystem-cos/zipball/efa7578f0a497bfa53bb065ba7d4b66a8cf810f0", - "reference": "efa7578f0a497bfa53bb065ba7d4b66a8cf810f0", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/overtrue/flysystem-cos/5.1.4/overtrue-flysystem-cos-5.1.4.zip", + "reference": "bbcfe9195e96a9d5262c79fdb1e57820d45dd664", + "shasum": "" }, "require": { - "league/flysystem": "^1.0", - "overtrue/qcloud-cos-client": "^1.0.0", - "php": ">=7.4" + "league/flysystem": "^3.0", + "overtrue/qcloud-cos-client": "^2.0", + "php": ">=8.0.2" }, "require-dev": { - "brainmaestro/composer-git-hooks": "^2.7", - "friendsofphp/php-cs-fixer": "^2.15", - "mockery/mockery": "~1.0", - "phpunit/phpunit": "~9" + "brainmaestro/composer-git-hooks": "dev-master", + "laravel/pint": "^1.6", + "league/flysystem-adapter-test-utilities": "^3.0", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "hooks": { + "pre-commit": [ + "composer fix-style", + "composer test" + ], + "pre-push": [ + "composer test", + "composer check-style" + ] + } + }, + "autoload": { + "psr-4": { + "Overtrue\\Flysystem\\Cos\\": "src" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "overtrue", + "email": "i@overtrue.me" + } + ], + "description": "Flysystem adapter for the QCloud COS storage.", + "time": "2023-05-26T09:00:43+00:00" + }, + { + "name": "overtrue/flysystem-qiniu", + "version": "3.2.2", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/overtrue/flysystem-qiniu/3.2.2/overtrue-flysystem-qiniu-3.2.2.zip", + "reference": "cf87e0fd74ba80736c7e0e9d19e1422eee6617d2", + "shasum": "" + }, + "require": { + "league/flysystem": "^3.0", + "qiniu/php-sdk": "^7.2" + }, + "require-dev": { + "mockery/mockery": "^1.4", + "phpunit/phpunit": "^9.5" }, "type": "library", "extra": { @@ -4887,79 +3710,11 @@ ] } }, - "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.", - "support": { - "issues": "https://github.com/overtrue/flysystem-cos/issues", - "source": "https://github.com/overtrue/flysystem-cos/tree/3.0.2" - }, - "funding": [ - { - "url": "https://www.easywechat.com/img/pay/wechat.jpg", - "type": "custom" - }, - { - "url": "https://github.com/", - "type": "github" - }, - { - "url": "https://www.patreon.com/overtrue", - "type": "patreon" - } - ], - "time": "2021-03-04T11:44:05+00:00" - }, - { - "name": "overtrue/flysystem-qiniu", - "version": "1.0.7", - "source": { - "type": "git", - "url": "https://github.com/overtrue/flysystem-qiniu.git", - "reference": "d6edad78fb84662df4ccd41589218b373e648823" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/overtrue/flysystem-qiniu/zipball/d6edad78fb84662df4ccd41589218b373e648823", - "reference": "d6edad78fb84662df4ccd41589218b373e648823", - "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.3.1", - "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" ], @@ -4970,53 +3725,34 @@ } ], "description": "Flysystem adapter for the Qiniu storage.", - "support": { - "issues": "https://github.com/overtrue/flysystem-qiniu/issues", - "source": "https://github.com/overtrue/flysystem-qiniu/tree/1.0.7" - }, - "funding": [ - { - "url": "https://github.com/overtrue", - "type": "github" - } - ], - "time": "2022-08-12T03:21:38+00:00" + "time": "2023-05-02T13:14:45+00:00" }, { "name": "overtrue/qcloud-cos-client", - "version": "1.0.4", - "source": { - "type": "git", - "url": "https://github.com/overtrue/qcloud-cos-client.git", - "reference": "64ca47881afe4fd0961958f85674dcae71421913" - }, + "version": "2.0.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/overtrue/qcloud-cos-client/zipball/64ca47881afe4fd0961958f85674dcae71421913", - "reference": "64ca47881afe4fd0961958f85674dcae71421913", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/overtrue/qcloud-cos-client/2.0.1/overtrue-qcloud-cos-client-2.0.1.zip", + "reference": "522281009c38099f931d72ecd72fbe329a41256d", + "shasum": "" }, "require": { "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-simplexml": "*", - "guzzlehttp/guzzle": "^7.2", - "php": ">=7.4", - "psr/http-message": "^1.0" + "guzzlehttp/guzzle": "^7.4", + "php": ">=8.0.2", + "psr/http-message": "^1.0|^2.0", + "thenorthmemory/xml": "^1.0" }, "require-dev": { - "brainmaestro/composer-git-hooks": "^2.7", - "friendsofphp/php-cs-fixer": "^3.4.0", + "brainmaestro/composer-git-hooks": "^2.8", + "friendsofphp/php-cs-fixer": "^3.5", + "laravel/pint": "^1.2", "mockery/mockery": "^1.0", - "monolog/monolog": "^2.1", - "phpunit/phpunit": "^9.0" + "monolog/monolog": "^2.5", + "phpunit/phpunit": "^9.5" }, "type": "library", "extra": { @@ -5036,7 +3772,6 @@ "Overtrue\\CosClient\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -5047,37 +3782,16 @@ } ], "description": "Client of QCloud.com COS", - "support": { - "issues": "https://github.com/overtrue/qcloud-cos-client/issues", - "source": "https://github.com/overtrue/qcloud-cos-client/tree/1.0.4" - }, - "funding": [ - { - "url": "https://github.com/overtrue", - "type": "github" - } - ], - "time": "2022-11-07T00:18:25+00:00" + "time": "2023-06-27T08:27:54+00:00" }, { "name": "paragonie/constant_time_encoding", "version": "v2.6.3", - "source": { - "type": "git", - "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "58c3f47f650c94ec05a151692652a868995d2938" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938", + "url": "https://mirrors.cloud.tencent.com/repository/composer/paragonie/constant_time_encoding/v2.6.3/paragonie-constant_time_encoding-v2.6.3.zip", "reference": "58c3f47f650c94ec05a151692652a868995d2938", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7|^8" @@ -5092,7 +3806,6 @@ "ParagonIE\\ConstantTime\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -5125,32 +3838,16 @@ "hex2bin", "rfc4648" ], - "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/constant_time_encoding/issues", - "source": "https://github.com/paragonie/constant_time_encoding" - }, "time": "2022-06-14T06:56:20+00:00" }, { "name": "paragonie/random_compat", "version": "v9.99.100", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", + "url": "https://mirrors.cloud.tencent.com/repository/composer/paragonie/random_compat/v9.99.100/paragonie-random_compat-v9.99.100.zip", "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">= 7" @@ -5163,7 +3860,6 @@ "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." }, "type": "library", - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -5181,32 +3877,16 @@ "pseudorandom", "random" ], - "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/random_compat/issues", - "source": "https://github.com/paragonie/random_compat" - }, "time": "2020-10-15T08:29:30+00:00" }, { "name": "php-amqplib/php-amqplib", - "version": "v3.4.0", - "source": { - "type": "git", - "url": "https://github.com/php-amqplib/php-amqplib.git", - "reference": "5c537cb724f2e181183c202e63f4303935344c5f" - }, + "version": "v3.5.4", "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/5c537cb724f2e181183c202e63f4303935344c5f", - "reference": "5c537cb724f2e181183c202e63f4303935344c5f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/php-amqplib/php-amqplib/v3.5.4/php-amqplib-php-amqplib-v3.5.4.zip", + "reference": "1aecbd182b35eb039667c50d7d92d71f105be779", + "shasum": "" }, "require": { "ext-mbstring": "*", @@ -5237,7 +3917,6 @@ "PhpAmqpLib\\": "PhpAmqpLib/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "LGPL-2.1-or-later" ], @@ -5269,31 +3948,16 @@ "queue", "rabbitmq" ], - "support": { - "issues": "https://github.com/php-amqplib/php-amqplib/issues", - "source": "https://github.com/php-amqplib/php-amqplib/tree/v3.4.0" - }, - "time": "2022-10-18T20:52:02+00:00" + "time": "2023-07-01T11:25:08+00:00" }, { "name": "php-di/phpdoc-reader", "version": "2.2.1", - "source": { - "type": "git", - "url": "https://github.com/PHP-DI/PhpDocReader.git", - "reference": "66daff34cbd2627740ffec9469ffbac9f8c8185c" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-DI/PhpDocReader/zipball/66daff34cbd2627740ffec9469ffbac9f8c8185c", + "url": "https://mirrors.tencent.com/repository/composer/php-di/phpdoc-reader/2.2.1/php-di-phpdoc-reader-2.2.1.zip", "reference": "66daff34cbd2627740ffec9469ffbac9f8c8185c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.2.0" @@ -5308,7 +3972,6 @@ "PhpDocReader\\": "src/PhpDocReader" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -5317,31 +3980,16 @@ "phpdoc", "reflection" ], - "support": { - "issues": "https://github.com/PHP-DI/PhpDocReader/issues", - "source": "https://github.com/PHP-DI/PhpDocReader/tree/2.2.1" - }, "time": "2020-10-12T12:39:22+00:00" }, { "name": "phpdocumentor/reflection-common", "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "url": "https://mirrors.cloud.tencent.com/repository/composer/phpdocumentor/reflection-common/2.2.0/phpdocumentor-reflection-common-2.2.0.zip", "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.2 || ^8.0" @@ -5357,7 +4005,6 @@ "phpDocumentor\\Reflection\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -5376,31 +4023,16 @@ "reflection", "static analysis" ], - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" - }, "time": "2020-06-27T09:03:43+00:00" }, { "name": "phpdocumentor/reflection-docblock", "version": "5.3.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "url": "https://mirrors.cloud.tencent.com/repository/composer/phpdocumentor/reflection-docblock/5.3.0/phpdocumentor-reflection-docblock-5.3.0.zip", "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-filter": "*", @@ -5424,7 +4056,6 @@ "phpDocumentor\\Reflection\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -5439,39 +4070,32 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" - }, "time": "2021-10-19T17:43:47+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.6.1", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "77a32518733312af16a44300404e945338981de3" - }, + "version": "1.7.2", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3", - "reference": "77a32518733312af16a44300404e945338981de3", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/phpdocumentor/type-resolver/1.7.2/phpdocumentor-type-resolver-1.7.2.zip", + "reference": "b2fe4d22a5426f38e014855322200b97b5362c0d", + "shasum": "" }, "require": { - "php": "^7.2 || ^8.0", - "phpdocumentor/reflection-common": "^2.0" + "doctrine/deprecations": "^1.0", + "php": "^7.4 || ^8.0", + "phpdocumentor/reflection-common": "^2.0", + "phpstan/phpdoc-parser": "^1.13" }, "require-dev": { "ext-tokenizer": "*", - "psalm/phar": "^4.8" + "phpbench/phpbench": "^1.2", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^9.5", + "rector/rector": "^0.13.9", + "vimeo/psalm": "^4.25" }, "type": "library", "extra": { @@ -5484,7 +4108,6 @@ "phpDocumentor\\Reflection\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -5495,31 +4118,16 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "support": { - "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1" - }, - "time": "2022-03-15T21:29:03+00:00" + "time": "2023-05-30T18:13:47+00:00" }, { "name": "phpmailer/phpmailer", - "version": "v6.7.1", - "source": { - "type": "git", - "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "49cd7ea3d2563f028d7811f06864a53b1f15ff55" - }, + "version": "v6.8.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/49cd7ea3d2563f028d7811f06864a53b1f15ff55", - "reference": "49cd7ea3d2563f028d7811f06864a53b1f15ff55", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/phpmailer/phpmailer/v6.8.0/phpmailer-phpmailer-v6.8.0.zip", + "reference": "df16b615e371d81fb79e506277faea67a1be18f1", + "shasum": "" }, "require": { "ext-ctype": "*", @@ -5553,7 +4161,6 @@ "PHPMailer\\PHPMailer\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "LGPL-2.1-only" ], @@ -5575,160 +4182,32 @@ } ], "description": "PHPMailer is a full-featured email creation and transfer class for PHP", - "support": { - "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.7.1" - }, - "funding": [ - { - "url": "https://github.com/Synchro", - "type": "github" - } - ], - "time": "2022-12-08T13:30:06+00:00" - }, - { - "name": "phpoffice/phpspreadsheet", - "version": "1.27.0", - "source": { - "type": "git", - "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "eeb8582f9cabf5a7f4ef78015691163233a1834f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/eeb8582f9cabf5a7f4ef78015691163233a1834f", - "reference": "eeb8582f9cabf5a7f4ef78015691163233a1834f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "ext-ctype": "*", - "ext-dom": "*", - "ext-fileinfo": "*", - "ext-gd": "*", - "ext-iconv": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-simplexml": "*", - "ext-xml": "*", - "ext-xmlreader": "*", - "ext-xmlwriter": "*", - "ext-zip": "*", - "ext-zlib": "*", - "ezyang/htmlpurifier": "^4.15", - "maennchen/zipstream-php": "^2.1", - "markbaker/complex": "^3.0", - "markbaker/matrix": "^3.0", - "php": "^7.4 || ^8.0", - "psr/http-client": "^1.0", - "psr/http-factory": "^1.0", - "psr/simple-cache": "^1.0 || ^2.0 || ^3.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "dev-master", - "dompdf/dompdf": "^1.0 || ^2.0", - "friendsofphp/php-cs-fixer": "^3.2", - "mitoteam/jpgraph": "^10.2.4", - "mpdf/mpdf": "^8.1.1", - "phpcompatibility/php-compatibility": "^9.3", - "phpstan/phpstan": "^1.1", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^8.5 || ^9.0", - "squizlabs/php_codesniffer": "^3.7", - "tecnickcom/tcpdf": "^6.5" - }, - "suggest": { - "dompdf/dompdf": "Option for rendering PDF with PDF Writer", - "ext-intl": "PHP Internationalization Functions", - "mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", - "mpdf/mpdf": "Option for rendering PDF with PDF Writer", - "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer" - }, - "type": "library", - "autoload": { - "psr-4": { - "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Maarten Balliauw", - "homepage": "https://blog.maartenballiauw.be" - }, - { - "name": "Mark Baker", - "homepage": "https://markbakeruk.net" - }, - { - "name": "Franck Lefevre", - "homepage": "https://rootslabs.net" - }, - { - "name": "Erik Tilt" - }, - { - "name": "Adrien Crivelli" - } - ], - "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", - "homepage": "https://github.com/PHPOffice/PhpSpreadsheet", - "keywords": [ - "OpenXML", - "excel", - "gnumeric", - "ods", - "php", - "spreadsheet", - "xls", - "xlsx" - ], - "support": { - "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.27.0" - }, - "time": "2023-01-24T20:07:45+00:00" + "time": "2023-03-06T14:43:22+00:00" }, { "name": "phpoption/phpoption", - "version": "1.8.1", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15" - }, + "version": "1.9.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15", - "reference": "eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/phpoption/phpoption/1.9.1/phpoption-phpoption-1.9.1.zip", + "reference": "dd3a383e599f49777d8b628dadbb90cae435b87e", + "shasum": "" }, "require": { - "php": "^7.0 || ^8.0" + "php": "^7.2.5 || ^8.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.19 || ^9.5.8" + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.32 || ^9.6.3 || ^10.0.12" }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, "branch-alias": { - "dev-master": "1.8-dev" + "dev-master": "1.9-dev" } }, "autoload": { @@ -5736,7 +4215,6 @@ "PhpOption\\": "src/PhpOption/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], @@ -5759,41 +4237,16 @@ "php", "type" ], - "support": { - "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.8.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2021-12-04T23:24:31+00:00" + "time": "2023-02-25T19:38:58+00:00" }, { "name": "phpseclib/phpseclib", - "version": "3.0.18", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "f28693d38ba21bb0d9f0c411ee5dae2b178201da" - }, + "version": "3.0.20", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/f28693d38ba21bb0d9f0c411ee5dae2b178201da", - "reference": "f28693d38ba21bb0d9f0c411ee5dae2b178201da", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/phpseclib/phpseclib/3.0.20/phpseclib-phpseclib-3.0.20.zip", + "reference": "543a1da81111a0bfd6ae7bbc2865c5e89ed3fc67", + "shasum": "" }, "require": { "paragonie/constant_time_encoding": "^1|^2", @@ -5819,7 +4272,6 @@ "phpseclib3\\": "phpseclib/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -5871,45 +4323,53 @@ "x.509", "x509" ], - "support": { - "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.18" + "time": "2023-06-13T06:30:34+00:00" + }, + { + "name": "phpstan/phpdoc-parser", + "version": "1.22.1", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/phpstan/phpdoc-parser/1.22.1/phpstan-phpdoc-parser-1.22.1.zip", + "reference": "65c39594fbd8c67abfc68bb323f86447bab79cc0", + "shasum": "" }, - "funding": [ - { - "url": "https://github.com/terrafrost", - "type": "github" - }, - { - "url": "https://www.patreon.com/phpseclib", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", - "type": "tidelift" + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^4.15", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.5", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^9.5", + "symfony/process": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] } + }, + "license": [ + "MIT" ], - "time": "2022-12-17T18:26:50+00:00" + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "time": "2023-06-29T20:46:06+00:00" }, { "name": "psr/cache", "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "url": "https://mirrors.cloud.tencent.com/repository/composer/psr/cache/3.0.0/psr-cache-3.0.0.zip", "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.0.0" @@ -5925,7 +4385,6 @@ "Psr\\Cache\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -5941,84 +4400,16 @@ "psr", "psr-6" ], - "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" - }, "time": "2021-02-03T23:26:27+00:00" }, - { - "name": "psr/clock", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/clock.git", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.0 || ^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Clock\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for reading the clock.", - "homepage": "https://github.com/php-fig/clock", - "keywords": [ - "clock", - "now", - "psr", - "psr-20", - "time" - ], - "support": { - "issues": "https://github.com/php-fig/clock/issues", - "source": "https://github.com/php-fig/clock/tree/1.0.0" - }, - "time": "2022-11-25T14:36:26+00:00" - }, { "name": "psr/container", "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "url": "https://mirrors.cloud.tencent.com/repository/composer/psr/container/2.0.2/psr-container-2.0.2.zip", "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.4.0" @@ -6034,7 +4425,6 @@ "Psr\\Container\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -6053,31 +4443,16 @@ "container-interop", "psr" ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" - }, "time": "2021-11-05T16:47:00+00:00" }, { "name": "psr/event-dispatcher", "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "url": "https://mirrors.cloud.tencent.com/repository/composer/psr/event-dispatcher/1.0.0/psr-event-dispatcher-1.0.0.zip", "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.2.0" @@ -6093,7 +4468,6 @@ "Psr\\EventDispatcher\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -6109,35 +4483,20 @@ "psr", "psr-14" ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, "time": "2019-01-08T18:20:26+00:00" }, { "name": "psr/http-client", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" - }, + "version": "1.0.2", "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/psr/http-client/1.0.2/psr-http-client-1.0.2.zip", + "reference": "0955afe48220520692d2d09f7ab7e0f93ffd6a31", + "shasum": "" }, "require": { "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { @@ -6150,14 +4509,13 @@ "Psr\\Http\\Client\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for HTTP clients", @@ -6168,34 +4526,20 @@ "psr", "psr-18" ], - "support": { - "source": "https://github.com/php-fig/http-client/tree/master" - }, - "time": "2020-06-29T06:28:15+00:00" + "time": "2023-04-10T20:12:12+00:00" }, { "name": "psr/http-factory", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" - }, + "version": "1.0.2", "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/psr/http-factory/1.0.2/psr-http-factory-1.0.2.zip", + "reference": "e616d01114759c4c489f93b099585439f795fe35", + "shasum": "" }, "require": { "php": ">=7.0.0", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { @@ -6208,14 +4552,13 @@ "Psr\\Http\\Message\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interfaces for PSR-7 HTTP message factories", @@ -6229,38 +4572,24 @@ "request", "response" ], - "support": { - "source": "https://github.com/php-fig/http-factory/tree/master" - }, - "time": "2019-04-30T12:38:16+00:00" + "time": "2023-04-10T20:10:41+00:00" }, { "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, + "version": "2.0", "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 - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/psr/http-message/2.0/psr-http-message-2.0.zip", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -6268,14 +4597,13 @@ "Psr\\Http\\Message\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for HTTP messages", @@ -6288,34 +4616,20 @@ "request", "response" ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/master" - }, - "time": "2016-08-06T14:39:51+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { "name": "psr/http-server-handler", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-server-handler.git", - "reference": "aff2f80e33b7f026ec96bb42f63242dc50ffcae7" - }, + "version": "1.0.2", "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-server-handler/zipball/aff2f80e33b7f026ec96bb42f63242dc50ffcae7", - "reference": "aff2f80e33b7f026ec96bb42f63242dc50ffcae7", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/psr/http-server-handler/1.0.2/psr-http-server-handler-1.0.2.zip", + "reference": "84c4fb66179be4caaf8e97bd239203245302e7d4", + "shasum": "" }, "require": { "php": ">=7.0", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { @@ -6328,14 +4642,13 @@ "Psr\\Http\\Server\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for HTTP server-side request handler", @@ -6350,35 +4663,20 @@ "response", "server" ], - "support": { - "issues": "https://github.com/php-fig/http-server-handler/issues", - "source": "https://github.com/php-fig/http-server-handler/tree/master" - }, - "time": "2018-10-30T16:46:14+00:00" + "time": "2023-04-10T20:06:20+00:00" }, { "name": "psr/http-server-middleware", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-server-middleware.git", - "reference": "2296f45510945530b9dceb8bcedb5cb84d40c5f5" - }, + "version": "1.0.2", "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-server-middleware/zipball/2296f45510945530b9dceb8bcedb5cb84d40c5f5", - "reference": "2296f45510945530b9dceb8bcedb5cb84d40c5f5", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/psr/http-server-middleware/1.0.2/psr-http-server-middleware-1.0.2.zip", + "reference": "c1481f747daaa6a0782775cd6a8c26a1bf4a3829", + "shasum": "" }, "require": { "php": ">=7.0", - "psr/http-message": "^1.0", + "psr/http-message": "^1.0 || ^2.0", "psr/http-server-handler": "^1.0" }, "type": "library", @@ -6392,14 +4690,13 @@ "Psr\\Http\\Server\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for HTTP server-side middleware", @@ -6413,31 +4710,16 @@ "request", "response" ], - "support": { - "issues": "https://github.com/php-fig/http-server-middleware/issues", - "source": "https://github.com/php-fig/http-server-middleware/tree/master" - }, - "time": "2018-10-30T17:12:04+00:00" + "time": "2023-04-11T06:14:47+00:00" }, { "name": "psr/log", "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://mirrors.cloud.tencent.com/repository/composer/psr/log/3.0.0/psr-log-3.0.0.zip", "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.0.0" @@ -6453,7 +4735,6 @@ "Psr\\Log\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -6470,30 +4751,16 @@ "psr", "psr-3" ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" - }, "time": "2021-07-14T16:46:02+00:00" }, { "name": "psr/simple-cache", "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "url": "https://mirrors.cloud.tencent.com/repository/composer/psr/simple-cache/3.0.0/psr-simple-cache-3.0.0.zip", "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=8.0.0" @@ -6509,7 +4776,6 @@ "Psr\\SimpleCache\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -6527,39 +4793,25 @@ "psr-16", "simple-cache" ], - "support": { - "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" - }, "time": "2021-10-29T13:26:27+00:00" }, { "name": "qiniu/php-sdk", - "version": "v7.7.0", - "source": { - "type": "git", - "url": "https://github.com/qiniu/php-sdk.git", - "reference": "dde03fc55de64815412f8ccfe24e1bd21564a6f1" - }, + "version": "v7.9.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/qiniu/php-sdk/zipball/dde03fc55de64815412f8ccfe24e1bd21564a6f1", - "reference": "dde03fc55de64815412f8ccfe24e1bd21564a6f1", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/qiniu/php-sdk/v7.9.0/qiniu-php-sdk-v7.9.0.zip", + "reference": "3c0ebeee6a7439a0d2874f24b56dfe43545a1d2e", + "shasum": "" }, "require": { - "myclabs/php-enum": "1.6.6", + "myclabs/php-enum": "~1.5.2 || ~1.6.6 || ~1.7.7 || ~1.8.4", "php": ">=5.3.3" }, "require-dev": { "paragonie/random_compat": ">=2", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~3.6" + "phpunit/phpunit": "^4.8 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4", + "squizlabs/php_codesniffer": "^2.3 || ~3.6" }, "type": "library", "autoload": { @@ -6570,7 +4822,6 @@ "Qiniu\\": "src/Qiniu" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -6589,31 +4840,16 @@ "sdk", "storage" ], - "support": { - "issues": "https://github.com/qiniu/php-sdk/issues", - "source": "https://github.com/qiniu/php-sdk/tree/v7.7.0" - }, - "time": "2022-09-02T10:53:05+00:00" + "time": "2023-05-06T04:36:16+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", + "url": "https://mirrors.cloud.tencent.com/repository/composer/ralouphie/getallheaders/3.0.3/ralouphie-getallheaders-3.0.3.zip", "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=5.6" @@ -6628,7 +4864,6 @@ "src/getallheaders.php" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -6639,90 +4874,22 @@ } ], "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, "time": "2019-03-08T08:55:37+00:00" }, - { - "name": "stella-maris/clock", - "version": "0.1.7", - "source": { - "type": "git", - "url": "https://github.com/stella-maris-solutions/clock.git", - "reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/stella-maris-solutions/clock/zipball/fa23ce16019289a18bb3446fdecd45befcdd94f8", - "reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "php": "^7.0|^8.0", - "psr/clock": "^1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "StellaMaris\\Clock\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andreas Heigl", - "role": "Maintainer" - } - ], - "description": "A pre-release of the proposed PSR-20 Clock-Interface", - "homepage": "https://gitlab.com/stella-maris/clock", - "keywords": [ - "clock", - "datetime", - "point in time", - "psr20" - ], - "support": { - "source": "https://github.com/stella-maris-solutions/clock/tree/0.1.7" - }, - "time": "2022-11-25T16:15:06+00:00" - }, { "name": "symfony/console", - "version": "v6.2.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "0f579613e771dba2dbb8211c382342a641f5da06" - }, + "version": "v6.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/0f579613e771dba2dbb8211c382342a641f5da06", - "reference": "0f579613e771dba2dbb8211c382342a641f5da06", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/console/v6.3.0/symfony-console-v6.3.0.zip", + "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7", + "shasum": "" }, "require": { "php": ">=8.1", - "symfony/deprecation-contracts": "^2.1|^3", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^1.1|^2|^3", + "symfony/service-contracts": "^2.5|^3", "symfony/string": "^5.4|^6.0" }, "conflict": { @@ -6744,12 +4911,6 @@ "symfony/process": "^5.4|^6.0", "symfony/var-dumper": "^5.4|^6.0" }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, "type": "library", "autoload": { "psr-4": { @@ -6759,7 +4920,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -6777,48 +4937,20 @@ "homepage": "https://symfony.com", "keywords": [ "cli", - "command line", + "command-line", "console", "terminal" ], - "support": { - "source": "https://github.com/symfony/console/tree/v6.2.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-12-28T14:26:22+00:00" + "time": "2023-05-29T12:49:39+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.2.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3" - }, + "version": "v3.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/1ee04c65529dea5d8744774d474e7cbd2f1206d3", - "reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/deprecation-contracts/v3.3.0/symfony-deprecation-contracts-v3.3.0.zip", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "shasum": "" }, "require": { "php": ">=8.1" @@ -6826,7 +4958,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.3-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -6838,7 +4970,6 @@ "function.php" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -6854,44 +4985,16 @@ ], "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-25T10:21:52+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/finder", - "version": "v6.2.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "c90dc446976a612e3312a97a6ec0069ab0c2099c" - }, + "version": "v6.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/c90dc446976a612e3312a97a6ec0069ab0c2099c", - "reference": "c90dc446976a612e3312a97a6ec0069ab0c2099c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/finder/v6.3.0/symfony-finder-v6.3.0.zip", + "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2", + "shasum": "" }, "require": { "php": ">=8.1" @@ -6908,7 +5011,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -6924,44 +5026,16 @@ ], "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v6.2.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-20T17:45:48+00:00" + "time": "2023-04-02T01:25:41+00:00" }, { "name": "symfony/polyfill-ctype", "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/polyfill-ctype/v1.27.0/symfony-polyfill-ctype-v1.27.0.zip", "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -6990,7 +5064,6 @@ "Symfony\\Polyfill\\Ctype\\": "" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -7012,44 +5085,16 @@ "polyfill", "portable" ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-grapheme", "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "511a08c03c1960e08a883f4cffcacd219b758354" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/polyfill-intl-grapheme/v1.27.0/symfony-polyfill-intl-grapheme-v1.27.0.zip", "reference": "511a08c03c1960e08a883f4cffcacd219b758354", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -7075,7 +5120,6 @@ "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -7099,44 +5143,16 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-idn", "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "639084e360537a19f9ee352433b84ce831f3d2da" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da", + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/polyfill-intl-idn/v1.27.0/symfony-polyfill-intl-idn-v1.27.0.zip", "reference": "639084e360537a19f9ee352433b84ce831f3d2da", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1", @@ -7164,7 +5180,6 @@ "Symfony\\Polyfill\\Intl\\Idn\\": "" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -7192,44 +5207,16 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-normalizer", "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/polyfill-intl-normalizer/v1.27.0/symfony-polyfill-intl-normalizer-v1.27.0.zip", "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -7258,7 +5245,6 @@ "Resources/stubs" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -7282,44 +5268,16 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-mbstring", "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/polyfill-mbstring/v1.27.0/symfony-polyfill-mbstring-v1.27.0.zip", "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -7348,7 +5306,6 @@ "Symfony\\Polyfill\\Mbstring\\": "" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -7371,44 +5328,16 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php72", "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "869329b1e9894268a8a61dabb69153029b7a8c97" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/polyfill-php72/v1.27.0/symfony-polyfill-php72-v1.27.0.zip", "reference": "869329b1e9894268a8a61dabb69153029b7a8c97", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -7431,7 +5360,6 @@ "Symfony\\Polyfill\\Php72\\": "" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -7453,44 +5381,16 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php80", "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/polyfill-php80/v1.27.0/symfony-polyfill-php80-v1.27.0.zip", "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -7516,7 +5416,6 @@ "Resources/stubs" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -7542,56 +5441,25 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/property-access", - "version": "v6.2.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/property-access.git", - "reference": "9c267d87dd665d5d33e897290bbb9f64ae905b94" - }, + "version": "v6.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/9c267d87dd665d5d33e897290bbb9f64ae905b94", - "reference": "9c267d87dd665d5d33e897290bbb9f64ae905b94", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/property-access/v6.3.0/symfony-property-access-v6.3.0.zip", + "reference": "db9358571ce63f09c439c2fee6c12e5b090b69ac", + "shasum": "" }, "require": { "php": ">=8.1", - "symfony/deprecation-contracts": "^2.1|^3", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/property-info": "^5.4|^6.0" }, "require-dev": { "symfony/cache": "^5.4|^6.0" }, - "suggest": { - "psr/cache-implementation": "To cache access methods." - }, "type": "library", "autoload": { "psr-4": { @@ -7601,7 +5469,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -7625,47 +5492,19 @@ "injection", "object", "property", - "property path", + "property-path", "reflection" ], - "support": { - "source": "https://github.com/symfony/property-access/tree/v6.2.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-12-23T08:18:26+00:00" + "time": "2023-05-19T08:06:44+00:00" }, { "name": "symfony/property-info", - "version": "v6.2.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/property-info.git", - "reference": "b4cbbbcc8679460cfeb1d5bdcb8127a2e85c376c" - }, + "version": "v6.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/b4cbbbcc8679460cfeb1d5bdcb8127a2e85c376c", - "reference": "b4cbbbcc8679460cfeb1d5bdcb8127a2e85c376c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/property-info/v6.3.0/symfony-property-info-v6.3.0.zip", + "reference": "7f3a03716112269741fe2a809f8f791a371d1fcd", + "shasum": "" }, "require": { "php": ">=8.1", @@ -7684,12 +5523,6 @@ "symfony/dependency-injection": "^5.4|^6.0", "symfony/serializer": "^5.4|^6.0" }, - "suggest": { - "phpdocumentor/reflection-docblock": "To use the PHPDoc", - "psr/cache-implementation": "To cache results", - "symfony/doctrine-bridge": "To use Doctrine metadata", - "symfony/serializer": "To use Serializer metadata" - }, "type": "library", "autoload": { "psr-4": { @@ -7699,7 +5532,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -7723,44 +5555,16 @@ "type", "validator" ], - "support": { - "source": "https://github.com/symfony/property-info/tree/v6.2.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-12-20T16:41:15+00:00" + "time": "2023-05-19T08:06:44+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.2.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "aac98028c69df04ee77eb69b96b86ee51fbf4b75" - }, + "version": "v3.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/aac98028c69df04ee77eb69b96b86ee51fbf4b75", - "reference": "aac98028c69df04ee77eb69b96b86ee51fbf4b75", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/service-contracts/v3.3.0/symfony-service-contracts-v3.3.0.zip", + "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4", + "shasum": "" }, "require": { "php": ">=8.1", @@ -7769,13 +5573,10 @@ "conflict": { "ext-psr": "<1.1|>=2" }, - "suggest": { - "symfony/service-implementation": "" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.3-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -7790,7 +5591,6 @@ "/Test/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -7814,44 +5614,16 @@ "interoperability", "standards" ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.2.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-25T10:21:52+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/string", - "version": "v6.2.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0" - }, + "version": "v6.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0", - "reference": "b2dac0fa27b1ac0f9c0c0b23b43977f12308d0b0", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/string/v6.3.0/symfony-string-v6.3.0.zip", + "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f", + "shasum": "" }, "require": { "php": ">=8.1", @@ -7861,13 +5633,13 @@ "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/translation-contracts": "<2.0" + "symfony/translation-contracts": "<2.5" }, "require-dev": { "symfony/error-handler": "^5.4|^6.0", "symfony/http-client": "^5.4|^6.0", "symfony/intl": "^6.2", - "symfony/translation-contracts": "^2.0|^3.0", + "symfony/translation-contracts": "^2.5|^3.0", "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", @@ -7882,7 +5654,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -7906,55 +5677,29 @@ "utf-8", "utf8" ], - "support": { - "source": "https://github.com/symfony/string/tree/v6.2.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-01T08:38:09+00:00" + "time": "2023-03-21T21:06:29+00:00" }, { "name": "symfony/translation", - "version": "v6.2.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "60556925a703cfbc1581cde3b3f35b0bb0ea904c" - }, + "version": "v6.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/60556925a703cfbc1581cde3b3f35b0bb0ea904c", - "reference": "60556925a703cfbc1581cde3b3f35b0bb0ea904c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/translation/v6.3.0/symfony-translation-v6.3.0.zip", + "reference": "f72b2cba8f79dd9d536f534f76874b58ad37876f", + "shasum": "" }, "require": { "php": ">=8.1", "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^2.3|^3.0" + "symfony/translation-contracts": "^2.5|^3.0" }, "conflict": { "symfony/config": "<5.4", "symfony/console": "<5.4", "symfony/dependency-injection": "<5.4", + "symfony/http-client-contracts": "<2.5", "symfony/http-kernel": "<5.4", + "symfony/service-contracts": "<2.5", "symfony/twig-bundle": "<5.4", "symfony/yaml": "<5.4" }, @@ -7968,20 +5713,14 @@ "symfony/console": "^5.4|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/finder": "^5.4|^6.0", - "symfony/http-client-contracts": "^1.1|^2.0|^3.0", + "symfony/http-client-contracts": "^2.5|^3.0", "symfony/http-kernel": "^5.4|^6.0", "symfony/intl": "^5.4|^6.0", "symfony/polyfill-intl-icu": "^1.21", "symfony/routing": "^5.4|^6.0", - "symfony/service-contracts": "^1.1.2|^2|^3", + "symfony/service-contracts": "^2.5|^3", "symfony/yaml": "^5.4|^6.0" }, - "suggest": { - "nikic/php-parser": "To use PhpAstExtractor", - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, "type": "library", "autoload": { "files": [ @@ -7994,7 +5733,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -8010,55 +5748,24 @@ ], "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/translation/tree/v6.2.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-05T07:00:27+00:00" + "time": "2023-05-19T12:46:45+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.2.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "68cce71402305a015f8c1589bfada1280dc64fe7" - }, + "version": "v3.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/68cce71402305a015f8c1589bfada1280dc64fe7", - "reference": "68cce71402305a015f8c1589bfada1280dc64fe7", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/translation-contracts/v3.3.0/symfony-translation-contracts-v3.3.0.zip", + "reference": "02c24deb352fb0d79db5486c0c79905a85e37e86", + "shasum": "" }, "require": { "php": ">=8.1" }, - "suggest": { - "symfony/translation-implementation": "" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.3-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -8073,7 +5780,6 @@ "/Test/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -8097,44 +5803,16 @@ "interoperability", "standards" ], - "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.2.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-25T10:21:52+00:00" + "time": "2023-05-30T17:17:10+00:00" }, { "name": "symfony/yaml", - "version": "v6.2.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19" - }, + "version": "v6.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19", - "reference": "2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/yaml/v6.3.0/symfony-yaml-v6.3.0.zip", + "reference": "a9a8337aa641ef2aa39c3e028f9107ec391e5927", + "shasum": "" }, "require": { "php": ">=8.1", @@ -8146,9 +5824,6 @@ "require-dev": { "symfony/console": "^5.4|^6.0" }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, "bin": [ "Resources/bin/yaml-lint" ], @@ -8161,7 +5836,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -8177,44 +5851,16 @@ ], "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v6.2.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-10T18:53:53+00:00" + "time": "2023-04-28T13:28:14+00:00" }, { "name": "tangwei/apidocs", - "version": "v2.1.5", - "source": { - "type": "git", - "url": "https://github.com/tw2066/api-docs.git", - "reference": "58e9195b977b59d6253890cc29a313fec6ee6392" - }, + "version": "v2.1.7", "dist": { "type": "zip", - "url": "https://api.github.com/repos/tw2066/api-docs/zipball/58e9195b977b59d6253890cc29a313fec6ee6392", - "reference": "58e9195b977b59d6253890cc29a313fec6ee6392", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/tangwei/apidocs/v2.1.7/tangwei-apidocs-v2.1.7.zip", + "reference": "c7198830ce7262f6e33baf6943485ca671d5ec50", + "shasum": "" }, "require": { "php": ">=8.0", @@ -8243,7 +5889,6 @@ "Hyperf\\ApiDocs\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -8263,31 +5908,16 @@ "php", "swagger" ], - "support": { - "issues": "https://github.com/tw2066/api-docs/issues", - "source": "https://github.com/tw2066/api-docs/tree/v2.1.5" - }, - "time": "2023-01-06T14:06:22+00:00" + "time": "2023-04-05T06:01:01+00:00" }, { "name": "tangwei/dto", - "version": "v2.1.2", - "source": { - "type": "git", - "url": "https://github.com/tw2066/dto.git", - "reference": "d154741a01637f5e5509122f34cbe7c2d55eea4e" - }, + "version": "v2.1.3", "dist": { "type": "zip", - "url": "https://api.github.com/repos/tw2066/dto/zipball/d154741a01637f5e5509122f34cbe7c2d55eea4e", - "reference": "d154741a01637f5e5509122f34cbe7c2d55eea4e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/tangwei/dto/v2.1.3/tangwei-dto-v2.1.3.zip", + "reference": "32c6ffe19287e60e6422e6196244dd73b7dc7467", + "shasum": "" }, "require": { "hyperf/di": "~2.2.0|~3.0.0", @@ -8318,7 +5948,6 @@ "Hyperf\\DTO\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -8337,34 +5966,18 @@ "hyperf dto", "hyperf swagger" ], - "support": { - "issues": "https://github.com/tw2066/dto/issues", - "source": "https://github.com/tw2066/dto/tree/v2.1.2" - }, - "time": "2023-01-14T04:52:24+00:00" + "time": "2023-02-06T08:27:30+00:00" }, { "name": "tangwei/swagger-ui", "version": "v4.12.0", - "source": { - "type": "git", - "url": "https://github.com/tw2066/swagger-ui.git", - "reference": "4efed86966b5324238cb2eddcc8d43c47597182c" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tw2066/swagger-ui/zipball/4efed86966b5324238cb2eddcc8d43c47597182c", + "url": "https://mirrors.cloud.tencent.com/repository/composer/tangwei/swagger-ui/v4.12.0/tangwei-swagger-ui-v4.12.0.zip", "reference": "4efed86966b5324238cb2eddcc8d43c47597182c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "type": "library", - "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], @@ -8385,31 +5998,57 @@ "swagger", "ui" ], - "support": { - "issues": "https://github.com/tw2066/swagger-ui/issues", - "source": "https://github.com/tw2066/swagger-ui/tree/v4.12.0" - }, "time": "2022-06-20T09:03:54+00:00" }, { - "name": "vlucas/phpdotenv", - "version": "v5.4.1", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f" - }, + "name": "thenorthmemory/xml", + "version": "1.1.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/264dce589e7ce37a7ba99cb901eed8249fbec92f", - "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/thenorthmemory/xml/1.1.1/thenorthmemory-xml-1.1.1.zip", + "reference": "6f50c63450a0b098772423f8bdc3c4ad2c4c30bb", + "shasum": "" + }, + "require": { + "ext-libxml": "*", + "ext-simplexml": "*", + "php": ">=7.1.2" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.89 || ^1.0", + "phpunit/phpunit": "^7.5 || ^8.5.16 || ^9.3.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "TheNorthMemory\\Xml\\": "src/" + } + }, + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "James ZHANG", + "homepage": "https://github.com/TheNorthMemory" + } + ], + "description": "A wrapper of the XML parser and builder", + "homepage": "https://github.com/TheNorthMemory/xml", + "keywords": [ + "xml-builder", + "xml-parser" + ], + "time": "2023-01-15T06:01:13+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.5.0", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/vlucas/phpdotenv/v5.5.0/vlucas-phpdotenv-v5.5.0.zip", + "reference": "1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7", + "shasum": "" }, "require": { "ext-pcre": "*", @@ -8423,15 +6062,19 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", "ext-filter": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.21 || ^9.5.10" + "phpunit/phpunit": "^7.5.20 || ^8.5.30 || ^9.5.25" }, "suggest": { "ext-filter": "Required to use the boolean validator." }, "type": "library", "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, "branch-alias": { - "dev-master": "5.4-dev" + "dev-master": "5.5-dev" } }, "autoload": { @@ -8439,7 +6082,6 @@ "Dotenv\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -8461,41 +6103,16 @@ "env", "environment" ], - "support": { - "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.4.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", - "type": "tidelift" - } - ], - "time": "2021-12-12T23:22:04+00:00" + "time": "2022-10-16T01:01:54+00:00" }, { "name": "webmozart/assert", "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "url": "https://mirrors.cloud.tencent.com/repository/composer/webmozart/assert/1.11.0/webmozart-assert-1.11.0.zip", "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-ctype": "*", @@ -8519,7 +6136,6 @@ "Webmozart\\Assert\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -8535,139 +6151,16 @@ "check", "validate" ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" - }, "time": "2022-06-03T18:03:27+00:00" }, - { - "name": "xmo/jwt-auth", - "version": "v0.4.0", - "source": { - "type": "git", - "url": "https://gitee.com/xmo/jwt-auth", - "reference": "523f2c8b4672495918241bbb76ca716deb12274c" - }, - "require": { - "ext-swoole": ">=4.6", - "lcobucci/jwt": "~4.1.0", - "nesbot/carbon": "^1.0 || ^2.0", - "php": ">=7.4" - }, - "suggest": { - "hyperf/cache": "required hyperf/cache ~2.2.0", - "hyperf/command": "required hyperf/command ~2.2.0", - "hyperf/config": "required hyperf/config ~2.2.0", - "hyperf/di": "required hyperf/di ~2.2.0", - "hyperf/utils": "required hyperf/utils ~2.2.0" - }, - "type": "library", - "extra": { - "hyperf": { - "config": "Xmo\\JWTAuth\\ConfigProvider" - } - }, - "autoload": { - "psr-4": { - "Xmo\\JWTAuth\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "xmo", - "email": "root@imoi.cn", - "role": "Developer" - } - ], - "description": "jwt-auth Component", - "keywords": [ - "hyperf", - "php" - ], - "time": "2022-10-07T13:16:08+00:00" - }, - { - "name": "xxtime/flysystem-aliyun-oss", - "version": "1.5.0", - "source": { - "type": "git", - "url": "https://github.com/xxtime/flysystem-aliyun-oss.git", - "reference": "ae873b5919076157b9cfeaf39d2f56d2dbb39ee9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/xxtime/flysystem-aliyun-oss/zipball/ae873b5919076157b9cfeaf39d2f56d2dbb39ee9", - "reference": "ae873b5919076157b9cfeaf39d2f56d2dbb39ee9", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] - }, - "require": { - "aliyuncs/oss-sdk-php": "~2.3", - "league/flysystem": "^1.0.49", - "php": ">=5.5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Xxtime\\Flysystem\\Aliyun\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Joe", - "email": "joe@xxtime.com", - "homepage": "https://github.com/xxtime", - "role": "Developer" - } - ], - "description": "AliYun OSS adapter for flysystem. aliyuncs/oss-sdk-php ~2.3", - "homepage": "https://github.com/xxtime/flysystem-aliyun-oss", - "keywords": [ - "Flysystem", - "aliyun-oss", - "flysystem-aliyun-oss" - ], - "support": { - "email": "joe@xxtime.com", - "issues": "https://github.com/xxtime/flysystem-aliyun-oss/issues", - "source": "https://github.com/xxtime/flysystem-aliyun-oss/tree/1.5.0", - "wiki": "https://github.com/xxtime" - }, - "time": "2019-11-12T07:57:34+00:00" - }, { "name": "yurunsoft/phpmailer-swoole", "version": "v1.0.2", - "source": { - "type": "git", - "url": "https://github.com/Yurunsoft/PHPMailer-Swoole.git", - "reference": "ec09ff66f6e9eb8b94b8574545357dc52e91c0a5" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Yurunsoft/PHPMailer-Swoole/zipball/ec09ff66f6e9eb8b94b8574545357dc52e91c0a5", + "url": "https://mirrors.cloud.tencent.com/repository/composer/yurunsoft/phpmailer-swoole/v1.0.2/yurunsoft-phpmailer-swoole-v1.0.2.zip", "reference": "ec09ff66f6e9eb8b94b8574545357dc52e91c0a5", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.0", @@ -8686,36 +6179,20 @@ "Yurun\\Util\\Swoole\\PHPMailer\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "LGPL-2.1" ], "description": "PHPMailer 支持 Swoole 协程环境", - "support": { - "issues": "https://github.com/Yurunsoft/PHPMailer-Swoole/issues", - "source": "https://github.com/Yurunsoft/PHPMailer-Swoole/tree/master" - }, "time": "2019-10-24T07:46:26+00:00" }, { "name": "zircote/swagger-php", - "version": "4.6.0", - "source": { - "type": "git", - "url": "https://github.com/zircote/swagger-php.git", - "reference": "ee8147745c92dd4404adb531751ce32676b888d4" - }, + "version": "4.7.10", "dist": { "type": "zip", - "url": "https://api.github.com/repos/zircote/swagger-php/zipball/ee8147745c92dd4404adb531751ce32676b888d4", - "reference": "ee8147745c92dd4404adb531751ce32676b888d4", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/zircote/swagger-php/4.7.10/zircote-swagger-php-4.7.10.zip", + "reference": "6d2f0fcc46bf9043877de8656a9ea95331155522", + "shasum": "" }, "require": { "doctrine/annotations": "^1.7 || ^2.0", @@ -8747,7 +6224,6 @@ "OpenApi\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], @@ -8775,42 +6251,27 @@ "rest", "service discovery" ], - "support": { - "issues": "https://github.com/zircote/swagger-php/issues", - "source": "https://github.com/zircote/swagger-php/tree/4.6.0" - }, - "time": "2023-01-13T00:51:01+00:00" + "time": "2023-04-28T00:56:39+00:00" }, { "name": "zoujingli/ip2region", - "version": "v1.0.12", - "source": { - "type": "git", - "url": "https://github.com/zoujingli/ip2region.git", - "reference": "82cebc7a6be46524797454e98d3b165521065c26" - }, + "version": "v2.0.4", "dist": { "type": "zip", - "url": "https://api.github.com/repos/zoujingli/ip2region/zipball/82cebc7a6be46524797454e98d3b165521065c26", - "reference": "82cebc7a6be46524797454e98d3b165521065c26", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/zoujingli/ip2region/v2.0.4/zoujingli-ip2region-v2.0.4.zip", + "reference": "21ed5393a93ea62c277d91ee739b2373d60bf16d", + "shasum": "" }, "require": { - "php": ">=5.3" + "php": ">=5.4" }, "type": "library", "autoload": { "classmap": [ - "Ip2Region.php" + "Ip2Region.php", + "XdbSearcher.php" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], @@ -8818,7 +6279,7 @@ { "name": "Anyon", "email": "zoujingli@qq.com", - "homepage": "http://ctolog.com" + "homepage": "https://thinkadmin.top" } ], "description": "Ip2Region for PHP", @@ -8826,33 +6287,18 @@ "keywords": [ "Ip2Region" ], - "support": { - "issues": "https://github.com/zoujingli/ip2region/issues", - "source": "https://github.com/zoujingli/ip2region/tree/v1.0.12" - }, - "time": "2022-03-03T10:24:30+00:00" + "time": "2023-03-28T02:20:00+00:00" } ], "packages-dev": [ { "name": "composer/pcre", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "4482b6409ca6bfc2af043a5711cd21ac3e7a8dfb" - }, + "version": "3.1.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4482b6409ca6bfc2af043a5711cd21ac3e7a8dfb", - "reference": "4482b6409ca6bfc2af043a5711cd21ac3e7a8dfb", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/composer/pcre/3.1.0/composer-pcre-3.1.0.zip", + "reference": "4bff79ddd77851fe3cdd11616ed3f92841ba5bd2", + "shasum": "" }, "require": { "php": "^7.4 || ^8.0" @@ -8873,7 +6319,6 @@ "Composer\\Pcre\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -8891,45 +6336,16 @@ "regex", "regular expression" ], - "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.0.2" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-11-03T20:24:16+00:00" + "time": "2022-11-17T09:50:14+00:00" }, { "name": "composer/semver", "version": "3.3.2", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", + "url": "https://mirrors.cloud.tencent.com/repository/composer/composer/semver/3.3.2/composer-semver-3.3.2.zip", "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" @@ -8949,7 +6365,6 @@ "Composer\\Semver\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -8977,46 +6392,16 @@ "validation", "versioning" ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.3.2" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], "time": "2022-04-01T19:23:25+00:00" }, { "name": "composer/xdebug-handler", "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ced299686f41dce890debac69273b47ffe98a40c" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", + "url": "https://mirrors.cloud.tencent.com/repository/composer/composer/xdebug-handler/3.0.3/composer-xdebug-handler-3.0.3.zip", "reference": "ced299686f41dce890debac69273b47ffe98a40c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "composer/pcre": "^1 || ^2 || ^3", @@ -9034,7 +6419,6 @@ "Composer\\XdebugHandler\\": "src" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -9049,56 +6433,26 @@ "Xdebug", "performance" ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], "time": "2022-02-25T21:32:43+00:00" }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.14.2", - "source": { - "type": "git", - "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "14f0541651841b63640e7aafad041ad55dc7aa88" - }, + "version": "v3.20.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/14f0541651841b63640e7aafad041ad55dc7aa88", - "reference": "14f0541651841b63640e7aafad041ad55dc7aa88", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.tencent.com/repository/composer/friendsofphp/php-cs-fixer/v3.20.0/friendsofphp-php-cs-fixer-v3.20.0.zip", + "reference": "0e8249e0b15e2bc022fbbd1090ce29d071481e69", + "shasum": "" }, "require": { "composer/semver": "^3.3", "composer/xdebug-handler": "^3.0.3", - "doctrine/annotations": "^1.14.2 || ^2", - "doctrine/lexer": "^2", + "doctrine/annotations": "^2", + "doctrine/lexer": "^2 || ^3", "ext-json": "*", "ext-tokenizer": "*", "php": "^7.4 || ^8.0", - "sebastian/diff": "^4.0", + "sebastian/diff": "^4.0 || ^5.0", "symfony/console": "^5.4 || ^6.0", "symfony/event-dispatcher": "^5.4 || ^6.0", "symfony/filesystem": "^5.4 || ^6.0", @@ -9139,7 +6493,6 @@ "PhpCsFixer\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -9154,37 +6507,22 @@ } ], "description": "A tool to automatically fix PHP code style", - "support": { - "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.14.2" - }, - "funding": [ - { - "url": "https://github.com/keradus", - "type": "github" - } + "keywords": [ + "Static code analysis", + "fixer", + "standards", + "static analysis" ], - "time": "2023-01-29T23:47:01+00:00" + "time": "2023-06-27T20:22:39+00:00" }, { "name": "hamcrest/hamcrest-php", "version": "v2.0.1", - "source": { - "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "url": "https://mirrors.cloud.tencent.com/repository/composer/hamcrest/hamcrest-php/v2.0.1/hamcrest-hamcrest-php-v2.0.1.zip", "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^5.3|^7.0|^8.0" @@ -9209,7 +6547,6 @@ "hamcrest" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -9217,36 +6554,23 @@ "keywords": [ "test" ], - "support": { - "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" - }, "time": "2020-07-09T08:09:16+00:00" }, { "name": "hyperf/devtool", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/devtool.git", - "reference": "715167d5160261c5f87ef82def1298ad6edb19ad" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/devtool/zipball/715167d5160261c5f87ef82def1298ad6edb19ad", - "reference": "715167d5160261c5f87ef82def1298ad6edb19ad", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/devtool/v3.0.18/hyperf-devtool-v3.0.18.zip", + "reference": "6318b261197c333f69e19de2d2ea36ffcb45383b", + "shasum": "" }, "require": { + "hyperf/code-parser": "~3.0.0", "hyperf/command": "~3.0.0", "hyperf/contract": "~3.0.0", "hyperf/di": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0" }, @@ -9264,7 +6588,6 @@ "Hyperf\\Devtool\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -9276,33 +6599,20 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-12-10T13:24:37+00:00" + "time": "2023-04-26T03:02:31+00:00" }, { "name": "hyperf/ide-helper", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/ide-helper.git", - "reference": "14d8a8ee13435a05e1ecf1d2b0e276efbcc82366" - }, + "version": "v3.0.18", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/ide-helper/zipball/14d8a8ee13435a05e1ecf1d2b0e276efbcc82366", - "reference": "14d8a8ee13435a05e1ecf1d2b0e276efbcc82366", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/ide-helper/v3.0.18/hyperf-ide-helper-v3.0.18.zip", + "reference": "2a2a0c72ec45ecd79602eba8f4065d397107481d", + "shasum": "" + }, + "require": { + "hyperf/code-parser": "~3.0.0", + "hyperf/support": "~3.0.0" }, "type": "library", "extra": { @@ -9310,7 +6620,6 @@ "dev-master": "3.0-dev" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -9322,42 +6631,30 @@ "php", "swoole" ], - "support": { - "docs": "https://hyperf.wiki", - "issues": "https://github.com/hyperf/hyperf/issues", - "pull-request": "https://github.com/hyperf/hyperf/pulls", - "source": "https://github.com/hyperf/hyperf" - }, - "time": "2022-05-30T02:16:40+00:00" + "time": "2023-04-25T05:50:06+00:00" }, { "name": "hyperf/testing", - "version": "v3.0.1", - "source": { - "type": "git", - "url": "https://github.com/hyperf/testing.git", - "reference": "b4e9ed466a192e5af72b3d456d11da1d54304c54" - }, + "version": "v3.0.23", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/testing/zipball/b4e9ed466a192e5af72b3d456d11da1d54304c54", - "reference": "b4e9ed466a192e5af72b3d456d11da1d54304c54", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/testing/v3.0.23/hyperf-testing-v3.0.23.zip", + "reference": "e660ba6f6f4c1dd46cc6203feeefd4638454108c", + "shasum": "" }, "require": { + "hyperf/codec": "~3.0.0", + "hyperf/collection": "~3.0.0", "hyperf/contract": "~3.0.0", + "hyperf/coroutine": "~3.0.0", "hyperf/http-message": "~3.0.0", "hyperf/http-server": "~3.0.0", + "hyperf/support": "~3.0.0", "hyperf/utils": "~3.0.0", "php": ">=8.0", "phpunit/phpunit": "^9.5", - "psr/container": "^1.0|^2.0" + "psr/container": "^1.0|^2.0", + "symfony/http-foundation": "^5.4|^6.0" }, "bin": [ "co-phpunit" @@ -9373,7 +6670,6 @@ "Hyperf\\Testing\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -9383,36 +6679,24 @@ "swoole", "testing" ], - "support": { - "source": "https://github.com/hyperf/testing/tree/v3.0.1" - }, - "time": "2023-01-04T11:57:10+00:00" + "time": "2023-06-01T08:26:57+00:00" }, { "name": "hyperf/watcher", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/hyperf/watcher.git", - "reference": "2fa0770171d3e1d7576f3c66a9cbeb479fe1daca" - }, + "version": "v3.0.27", "dist": { "type": "zip", - "url": "https://api.github.com/repos/hyperf/watcher/zipball/2fa0770171d3e1d7576f3c66a9cbeb479fe1daca", - "reference": "2fa0770171d3e1d7576f3c66a9cbeb479fe1daca", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/hyperf/watcher/v3.0.27/hyperf-watcher-v3.0.27.zip", + "reference": "340fdf99419cc586889e61546c3172aada4c553b", + "shasum": "" }, "require": { "ext-posix": "*", + "hyperf/codec": "~3.0.0", "hyperf/command": "~3.0.0", "hyperf/di": "~3.0.0", "hyperf/framework": "~3.0.0", + "hyperf/support": "~3.0.0", "php": ">=8.0" }, "type": "library", @@ -9432,7 +6716,6 @@ "Hyperf\\Watcher\\": "src/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -9441,55 +6724,45 @@ "hyperf", "php" ], - "support": { - "issues": "https://github.com/hyperf/watcher/issues", - "source": "https://github.com/hyperf/watcher/tree/v3.0.0" - }, - "time": "2022-12-27T02:58:03+00:00" + "time": "2023-06-26T23:53:52+00:00" }, { "name": "mockery/mockery", - "version": "1.5.1", - "source": { - "type": "git", - "url": "https://github.com/mockery/mockery.git", - "reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e" - }, + "version": "1.6.2", "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/e92dcc83d5a51851baf5f5591d32cb2b16e3684e", - "reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/mockery/mockery/1.6.2/mockery-mockery-1.6.2.zip", + "reference": "13a7fa2642c76c58fa2806ef7f565344c817a191", + "shasum": "" }, "require": { "hamcrest/hamcrest-php": "^2.0.1", "lib-pcre": ">=7.0", - "php": "^7.3 || ^8.0" + "php": "^7.4 || ^8.0" }, "conflict": { "phpunit/phpunit": "<8.0" }, "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.3" + "phpunit/phpunit": "^8.5 || ^9.3", + "psalm/plugin-phpunit": "^0.18", + "vimeo/psalm": "^5.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-main": "1.6.x-dev" } }, "autoload": { - "psr-0": { - "Mockery": "library/" + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], + "psr-4": { + "Mockery\\": "library/Mockery" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -9519,31 +6792,16 @@ "test double", "testing" ], - "support": { - "issues": "https://github.com/mockery/mockery/issues", - "source": "https://github.com/mockery/mockery/tree/1.5.1" - }, - "time": "2022-09-07T15:32:08+00:00" + "time": "2023-06-07T09:07:52+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614" - }, + "version": "1.11.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", - "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/myclabs/deep-copy/1.11.1/myclabs-deep-copy-1.11.1.zip", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "shasum": "" }, "require": { "php": "^7.1 || ^8.0" @@ -9566,7 +6824,6 @@ "DeepCopy\\": "src/DeepCopy/" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -9578,37 +6835,16 @@ "object", "object graph" ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2022-03-03T13:19:32+00:00" + "time": "2023-03-08T13:26:56+00:00" }, { "name": "phar-io/manifest", "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "url": "https://mirrors.cloud.tencent.com/repository/composer/phar-io/manifest/2.0.3/phar-io-manifest-2.0.3.zip", "reference": "97803eca37d319dfa7826cc2437fc020857acb53", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-dom": "*", @@ -9628,7 +6864,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -9650,31 +6885,16 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" - }, "time": "2021-07-20T11:28:43+00:00" }, { "name": "phar-io/version", "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "url": "https://mirrors.cloud.tencent.com/repository/composer/phar-io/version/3.2.1/phar-io-version-3.2.1.zip", "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.2 || ^8.0" @@ -9685,7 +6905,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -9707,31 +6926,16 @@ } ], "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" - }, "time": "2022-02-21T01:04:05+00:00" }, { "name": "phpstan/phpstan", "version": "0.12.100", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan.git", - "reference": "48236ddf823547081b2b153d1cd2994b784328c3" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/48236ddf823547081b2b153d1cd2994b784328c3", + "url": "https://mirrors.cloud.tencent.com/repository/composer/phpstan/phpstan/0.12.100/phpstan-phpstan-0.12.100.zip", "reference": "48236ddf823547081b2b153d1cd2994b784328c3", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": "^7.1|^8.0" @@ -9754,56 +6958,26 @@ "bootstrap.php" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", - "support": { - "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/0.12.100" - }, - "funding": [ - { - "url": "https://github.com/ondrejmirtes", - "type": "github" - }, - { - "url": "https://github.com/phpstan", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", - "type": "tidelift" - } - ], "time": "2022-11-01T09:52:08+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.24", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed" - }, + "version": "9.2.26", "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2cf940ebc6355a9d430462811b5aaa308b174bed", - "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/phpunit/php-code-coverage/9.2.26/phpunit-php-code-coverage-9.2.26.zip", + "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.14", + "nikic/php-parser": "^4.15", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", @@ -9818,8 +6992,8 @@ "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-pcov": "*", - "ext-xdebug": "*" + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" }, "type": "library", "extra": { @@ -9832,7 +7006,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -9850,37 +7023,16 @@ "testing", "xunit" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.24" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-01-26T08:26:55+00:00" + "time": "2023-03-06T12:58:08+00:00" }, { "name": "phpunit/php-file-iterator", "version": "3.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "url": "https://mirrors.tencent.com/repository/composer/phpunit/php-file-iterator/3.0.6/phpunit-php-file-iterator-3.0.6.zip", "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -9899,7 +7051,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -9916,37 +7067,16 @@ "filesystem", "iterator" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2021-12-02T12:48:52+00:00" }, { "name": "phpunit/php-invoker", "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "url": "https://mirrors.tencent.com/repository/composer/phpunit/php-invoker/3.1.1/phpunit-php-invoker-3.1.1.zip", "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -9969,7 +7099,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -9985,37 +7114,16 @@ "keywords": [ "process" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-09-28T05:58:55+00:00" }, { "name": "phpunit/php-text-template", "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "url": "https://mirrors.cloud.tencent.com/repository/composer/phpunit/php-text-template/2.0.4/phpunit-php-text-template-2.0.4.zip", "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -10034,7 +7142,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10050,37 +7157,16 @@ "keywords": [ "template" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-10-26T05:33:50+00:00" }, { "name": "phpunit/php-timer", "version": "5.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "url": "https://mirrors.cloud.tencent.com/repository/composer/phpunit/php-timer/5.0.3/phpunit-php-timer-5.0.3.zip", "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -10099,7 +7185,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10115,37 +7200,16 @@ "keywords": [ "timer" ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-10-26T13:16:10+00:00" }, { "name": "phpunit/phpunit", - "version": "9.5.28", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "954ca3113a03bf780d22f07bf055d883ee04b65e" - }, + "version": "9.6.9", "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/954ca3113a03bf780d22f07bf055d883ee04b65e", - "reference": "954ca3113a03bf780d22f07bf055d883ee04b65e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/phpunit/phpunit/9.6.9/phpunit-phpunit-9.6.9.zip", + "reference": "a9aceaf20a682aeacf28d582654a1670d8826778", + "shasum": "" }, "require": { "doctrine/instantiator": "^1.3.1 || ^2", @@ -10177,8 +7241,8 @@ "sebastian/version": "^3.0.2" }, "suggest": { - "ext-soap": "*", - "ext-xdebug": "*" + "ext-soap": "To be able to generate mocks based on WSDL files", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" }, "bin": [ "phpunit" @@ -10186,7 +7250,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.5-dev" + "dev-master": "9.6-dev" } }, "autoload": { @@ -10197,7 +7261,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10215,45 +7278,16 @@ "testing", "xunit" ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.28" - }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2023-01-14T12:32:24+00:00" + "time": "2023-06-11T06:13:56+00:00" }, { "name": "sebastian/cli-parser", "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/cli-parser/1.0.1/sebastian-cli-parser-1.0.1.zip", "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -10272,7 +7306,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10285,37 +7318,16 @@ ], "description": "Library for parsing CLI options", "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-09-28T06:08:49+00:00" }, { "name": "sebastian/code-unit", "version": "1.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/code-unit/1.0.8/sebastian-code-unit-1.0.8.zip", "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -10334,7 +7346,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10347,37 +7358,16 @@ ], "description": "Collection of value objects that represent the PHP code units", "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-10-26T13:08:54+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/code-unit-reverse-lookup/2.0.3/sebastian-code-unit-reverse-lookup-2.0.3.zip", "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -10396,7 +7386,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10408,37 +7397,16 @@ ], "description": "Looks up which function or method a line of code belongs to", "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-09-28T05:30:19+00:00" }, { "name": "sebastian/comparator", "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/comparator/4.0.8/sebastian-comparator-4.0.8.zip", "reference": "fa0f136dd2334583309d32b62544682ee972b51a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3", @@ -10459,7 +7427,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10488,37 +7455,16 @@ "compare", "equality" ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2022-09-14T12:41:17+00:00" }, { "name": "sebastian/complexity", "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/complexity/2.0.2/sebastian-complexity-2.0.2.zip", "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "nikic/php-parser": "^4.7", @@ -10538,7 +7484,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10551,37 +7496,16 @@ ], "description": "Library for calculating the complexity of PHP code units", "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-10-26T15:52:27+00:00" }, { "name": "sebastian/diff", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" - }, + "version": "4.0.5", "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/diff/4.0.5/sebastian-diff-4.0.5.zip", + "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "shasum": "" }, "require": { "php": ">=7.3" @@ -10601,7 +7525,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10623,37 +7546,16 @@ "unidiff", "unified diff" ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:10:38+00:00" + "time": "2023-05-07T05:35:17+00:00" }, { "name": "sebastian/environment", - "version": "5.1.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7" - }, + "version": "5.1.5", "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", - "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/environment/5.1.5/sebastian-environment-5.1.5.zip", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "shasum": "" }, "require": { "php": ">=7.3" @@ -10675,7 +7577,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10692,37 +7593,16 @@ "environment", "hhvm" ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-04-03T09:37:03+00:00" + "time": "2023-02-03T06:03:51+00:00" }, { "name": "sebastian/exporter", "version": "4.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/exporter/4.0.5/sebastian-exporter-4.0.5.zip", "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3", @@ -10743,7 +7623,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10775,37 +7654,16 @@ "export", "exporter" ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2022-09-14T06:03:37+00:00" }, { "name": "sebastian/global-state", "version": "5.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/global-state/5.0.5/sebastian-global-state-5.0.5.zip", "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3", @@ -10830,7 +7688,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10845,37 +7702,16 @@ "keywords": [ "global state" ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2022-02-14T08:28:10+00:00" }, { "name": "sebastian/lines-of-code", "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "url": "https://mirrors.tencent.com/repository/composer/sebastian/lines-of-code/1.0.3/sebastian-lines-of-code-1.0.3.zip", "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "nikic/php-parser": "^4.6", @@ -10895,7 +7731,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10908,37 +7743,16 @@ ], "description": "Library for counting the lines of code in PHP source code", "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-11-28T06:42:11+00:00" }, { "name": "sebastian/object-enumerator", "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/object-enumerator/4.0.4/sebastian-object-enumerator-4.0.4.zip", "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3", @@ -10959,7 +7773,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -10971,37 +7784,16 @@ ], "description": "Traverses array structures and object graphs to enumerate all referenced objects", "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-10-26T13:12:34+00:00" }, { "name": "sebastian/object-reflector", "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/object-reflector/2.0.4/sebastian-object-reflector-2.0.4.zip", "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -11020,7 +7812,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -11032,37 +7823,16 @@ ], "description": "Allows reflection of object attributes, including inherited and non-public ones", "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-10-26T13:14:26+00:00" }, { "name": "sebastian/recursion-context", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" - }, + "version": "4.0.5", "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", - "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/recursion-context/4.0.5/sebastian-recursion-context-4.0.5.zip", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "shasum": "" }, "require": { "php": ">=7.3" @@ -11081,7 +7851,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -11100,38 +7869,17 @@ } ], "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:17:30+00:00" + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "time": "2023-02-03T06:07:39+00:00" }, { "name": "sebastian/resource-operations", "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/resource-operations/3.0.3/sebastian-resource-operations-3.0.3.zip", "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -11150,7 +7898,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -11162,37 +7909,16 @@ ], "description": "Provides a list of PHP built-in functions that operate on resources", "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-09-28T06:45:17+00:00" }, { "name": "sebastian/type", - "version": "3.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e" - }, + "version": "3.2.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", - "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/type/3.2.1/sebastian-type-3.2.1.zip", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "shasum": "" }, "require": { "php": ">=7.3" @@ -11211,7 +7937,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -11224,37 +7949,16 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-09-12T14:47:03+00:00" + "time": "2023-02-03T06:13:03+00:00" }, { "name": "sebastian/version", "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "url": "https://mirrors.cloud.tencent.com/repository/composer/sebastian/version/3.0.2/sebastian-version-3.0.2.zip", "reference": "c6c1022351a901512170118436c764e473f6de8c", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.3" @@ -11270,7 +7974,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -11283,40 +7986,18 @@ ], "description": "Library that helps with managing the version number of Git-hosted PHP projects", "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], "time": "2020-09-28T06:39:44+00:00" }, { "name": "swoole/ide-helper", - "version": "4.8.12", - "source": { - "type": "git", - "url": "https://github.com/swoole/ide-helper.git", - "reference": "afe3a09f8c49a6011e2206a03e55e391d97d81b0" - }, + "version": "4.8.13", "dist": { "type": "zip", - "url": "https://api.github.com/repos/swoole/ide-helper/zipball/afe3a09f8c49a6011e2206a03e55e391d97d81b0", - "reference": "afe3a09f8c49a6011e2206a03e55e391d97d81b0", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/swoole/ide-helper/4.8.13/swoole-ide-helper-4.8.13.zip", + "reference": "d100c446b2e3d56430cbcab5dc3fa20a9f35c4ef", + "shasum": "" }, "type": "library", - "notification-url": "https://packagist.org/downloads/", "license": [ "Apache-2.0" ], @@ -11327,48 +8008,24 @@ } ], "description": "IDE help files for Swoole.", - "support": { - "issues": "https://github.com/swoole/ide-helper/issues", - "source": "https://github.com/swoole/ide-helper/tree/4.8.12" - }, - "funding": [ - { - "url": "https://gitee.com/swoole/swoole?donate=true", - "type": "custom" - }, - { - "url": "https://github.com/swoole", - "type": "github" - } - ], - "time": "2022-09-22T16:31:12+00:00" + "time": "2023-03-20T06:46:24+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.2.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "f02d108b5e9fd4a6245aa73a9d2df2ec060c3e68" - }, + "version": "v6.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f02d108b5e9fd4a6245aa73a9d2df2ec060c3e68", - "reference": "f02d108b5e9fd4a6245aa73a9d2df2ec060c3e68", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/event-dispatcher/v6.3.0/symfony-event-dispatcher-v6.3.0.zip", + "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa", + "shasum": "" }, "require": { "php": ">=8.1", - "symfony/event-dispatcher-contracts": "^2|^3" + "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<5.4" + "symfony/dependency-injection": "<5.4", + "symfony/service-contracts": "<2.5" }, "provide": { "psr/event-dispatcher-implementation": "1.0", @@ -11381,13 +8038,9 @@ "symfony/error-handler": "^5.4|^6.0", "symfony/expression-language": "^5.4|^6.0", "symfony/http-foundation": "^5.4|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", + "symfony/service-contracts": "^2.5|^3", "symfony/stopwatch": "^5.4|^6.0" }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, "type": "library", "autoload": { "psr-4": { @@ -11397,7 +8050,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -11413,56 +8065,25 @@ ], "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.2.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-01T08:38:09+00:00" + "time": "2023-04-21T14:41:17+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.1.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "02ff5eea2f453731cfbc6bc215e456b781480448" - }, + "version": "v3.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/02ff5eea2f453731cfbc6bc215e456b781480448", - "reference": "02ff5eea2f453731cfbc6bc215e456b781480448", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/event-dispatcher-contracts/v3.3.0/symfony-event-dispatcher-contracts-v3.3.0.zip", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", + "shasum": "" }, "require": { "php": ">=8.1", "psr/event-dispatcher": "^1" }, - "suggest": { - "symfony/event-dispatcher-implementation": "" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.1-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -11474,7 +8095,6 @@ "Symfony\\Contracts\\EventDispatcher\\": "" } }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -11498,44 +8118,16 @@ "interoperability", "standards" ], - "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.1.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-02-25T11:15:52+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/filesystem", - "version": "v6.2.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "e59e8a4006afd7f5654786a83b4fcb8da98f4593" - }, + "version": "v6.3.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/e59e8a4006afd7f5654786a83b4fcb8da98f4593", - "reference": "e59e8a4006afd7f5654786a83b4fcb8da98f4593", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/filesystem/v6.3.1/symfony-filesystem-v6.3.1.zip", + "reference": "edd36776956f2a6fcf577edb5b05eb0e3bdc52ae", + "shasum": "" }, "require": { "php": ">=8.1", @@ -11551,7 +8143,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -11567,48 +8158,74 @@ ], "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.2.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-20T17:45:48+00:00" + "time": "2023-06-01T08:30:39+00:00" }, { - "name": "symfony/options-resolver", - "version": "v6.2.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "e8324d44f5af99ec2ccec849934a242f64458f86" - }, + "name": "symfony/http-foundation", + "version": "v6.3.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/e8324d44f5af99ec2ccec849934a242f64458f86", - "reference": "e8324d44f5af99ec2ccec849934a242f64458f86", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/http-foundation/v6.3.1/symfony-http-foundation-v6.3.1.zip", + "reference": "e0ad0d153e1c20069250986cd9e9dd1ccebb0d66", + "shasum": "" }, "require": { "php": ">=8.1", - "symfony/deprecation-contracts": "^2.1|^3" + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php83": "^1.27" + }, + "conflict": { + "symfony/cache": "<6.2" + }, + "require-dev": { + "doctrine/dbal": "^2.13.1|^3.0", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", + "symfony/mime": "^5.4|^6.0", + "symfony/rate-limiter": "^5.2|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "time": "2023-06-24T11:51:27+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v6.3.0", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/options-resolver/v6.3.0/symfony-options-resolver-v6.3.0.zip", + "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", "autoload": { @@ -11619,7 +8236,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -11640,44 +8256,16 @@ "configuration", "options" ], - "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.2.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-01T08:38:09+00:00" + "time": "2023-05-12T14:21:09+00:00" }, { "name": "symfony/polyfill-php81", "version": "v1.27.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/707403074c8ea6e2edaf8794b0157a0bfa52157a", + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/polyfill-php81/v1.27.0/symfony-polyfill-php81-v1.27.0.zip", "reference": "707403074c8ea6e2edaf8794b0157a0bfa52157a", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "php": ">=7.1" @@ -11703,7 +8291,6 @@ "Resources/stubs" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -11725,44 +8312,70 @@ "portable", "shim" ], - "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.27.0" + "time": "2022-11-03T14:55:06+00:00" + }, + { + "name": "symfony/polyfill-php83", + "version": "v1.27.0", + "dist": { + "type": "zip", + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/polyfill-php83/v1.27.0/symfony-polyfill-php83-v1.27.0.zip", + "reference": "508c652ba3ccf69f8c97f251534f229791b52a57", + "shasum": "" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" + "require": { + "php": ">=7.1", + "symfony/polyfill-php80": "^1.14" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.27-dev" }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + } + }, + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" ], "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/process", - "version": "v6.2.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "ba6e55359f8f755fe996c58a81e00eaa67a35877" - }, + "version": "v6.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/ba6e55359f8f755fe996c58a81e00eaa67a35877", - "reference": "ba6e55359f8f755fe996c58a81e00eaa67a35877", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/process/v6.3.0/symfony-process-v6.3.0.zip", + "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628", + "shasum": "" }, "require": { "php": ">=8.1" @@ -11776,7 +8389,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -11792,48 +8404,20 @@ ], "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v6.2.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-11-02T09:08:04+00:00" + "time": "2023-05-19T08:06:44+00:00" }, { "name": "symfony/stopwatch", - "version": "v6.2.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "00b6ac156aacffc53487c930e0ab14587a6607f6" - }, + "version": "v6.3.0", "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/00b6ac156aacffc53487c930e0ab14587a6607f6", - "reference": "00b6ac156aacffc53487c930e0ab14587a6607f6", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "url": "https://mirrors.cloud.tencent.com/repository/composer/symfony/stopwatch/v6.3.0/symfony-stopwatch-v6.3.0.zip", + "reference": "fc47f1015ec80927ff64ba9094dfe8b9d48fe9f2", + "shasum": "" }, "require": { "php": ">=8.1", - "symfony/service-contracts": "^1|^2|^3" + "symfony/service-contracts": "^2.5|^3" }, "type": "library", "autoload": { @@ -11844,7 +8428,6 @@ "/Tests/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], @@ -11860,44 +8443,16 @@ ], "description": "Provides a way to profile code", "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/stopwatch/tree/v6.2.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-01T08:36:55+00:00" + "time": "2023-02-16T10:14:28+00:00" }, { "name": "theseer/tokenizer", "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" - }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "url": "https://mirrors.tencent.com/repository/composer/theseer/tokenizer/1.2.1/theseer-tokenizer-1.2.1.zip", "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", - "shasum": "", - "mirrors": [ - { - "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", - "preferred": true - } - ] + "shasum": "" }, "require": { "ext-dom": "*", @@ -11911,7 +8466,6 @@ "src/" ] }, - "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], @@ -11923,16 +8477,6 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.1" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], "time": "2021-07-28T10:34:58+00:00" } ], diff --git a/config/autoload/databases.php b/config/autoload/databases.php index c22cae6..a7a552c 100644 --- a/config/autoload/databases.php +++ b/config/autoload/databases.php @@ -42,8 +42,8 @@ return [ 'gen:model' => [ 'path' => 'app/Model', 'force_casts' => true, - 'inheritance' => 'MineModel', - 'uses' => 'Builder\MineModel', + 'inheritance' => 'BaseModel', + 'uses' => 'Builder\BaseModel', 'with_comments' => true, 'refresh_fillable' => true, 'visitors' => [ diff --git a/config/autoload/dependencies.php b/config/autoload/dependencies.php index b33acb7..81bf307 100644 --- a/config/autoload/dependencies.php +++ b/config/autoload/dependencies.php @@ -10,7 +10,7 @@ declare(strict_types=1); * @license https://github.com/hyperf/hyperf/blob/master/LICENSE */ return [ - Hyperf\Database\Commands\Ast\ModelUpdateVisitor::class => Builder\MineModelVisitor::class, + Hyperf\Database\Commands\Ast\ModelUpdateVisitor::class => Builder\ModelVisitor::class, Hyperf\HttpServer\CoreMiddleware::class => Builder\Middlewares\HttpCoreMiddleware::class, Builder\Interfaces\UserServiceInterface::class => App\System\Service\Dependencies\UserAuthService::class, ]; diff --git a/config/autoload/server.php b/config/autoload/server.php index b425ff0..808444b 100644 --- a/config/autoload/server.php +++ b/config/autoload/server.php @@ -11,7 +11,7 @@ declare(strict_types=1); */ use Hyperf\Server\Server; use Hyperf\Server\Event; -use Builder\MineServer; +use Builder\RunServer; use Swoole\Constant; return [ @@ -24,7 +24,7 @@ return [ 'port' => 9501, 'sock_type' => SWOOLE_SOCK_TCP, 'callbacks' => [ - Event::ON_REQUEST => [MineServer::class, 'onRequest'], + Event::ON_REQUEST => [RunServer::class, 'onRequest'], ], ], [ @@ -63,7 +63,7 @@ return [ Constant::OPTION_PACKAGE_MAX_LENGTH => 4 * 1024 * 1024 ], 'callbacks' => [ - Event::ON_BEFORE_START => [Builder\MineStart::class, 'beforeStart'], + Event::ON_BEFORE_START => [Builder\RunStart::class, 'beforeStart'], Event::ON_WORKER_START => [Hyperf\Framework\Bootstrap\WorkerStartCallback::class, 'onWorkerStart'], Event::ON_PIPE_MESSAGE => [Hyperf\Framework\Bootstrap\PipeMessageCallback::class, 'onPipeMessage'], Event::ON_WORKER_EXIT => [Hyperf\Framework\Bootstrap\WorkerExitCallback::class, 'onWorkerExit'], diff --git a/config/config.php b/config/config.php index 22b65f4..1b73285 100644 --- a/config/config.php +++ b/config/config.php @@ -13,7 +13,7 @@ use Hyperf\Contract\StdoutLoggerInterface; use Psr\Log\LogLevel; return [ - 'app_name' => env('APP_NAME', 'mineAdmin'), + 'app_name' => env('APP_NAME', 'Tkview'), 'app_env' => env('APP_ENV', 'dev'), 'scan_cacheable' => env('SCAN_CACHEABLE', false), StdoutLoggerInterface::class => [ diff --git a/storage/languages/en/mineadmin.php b/storage/languages/en/uiview.php similarity index 100% rename from storage/languages/en/mineadmin.php rename to storage/languages/en/uiview.php diff --git a/storage/languages/zh_CN/setting.php b/storage/languages/zh_CN/setting.php index 7f4ab02..920ff9c 100644 --- a/storage/languages/zh_CN/setting.php +++ b/storage/languages/zh_CN/setting.php @@ -1,13 +1,4 @@ - * @Link https://gitee.com/xmo/MineAdmin - */ declare(strict_types=1); diff --git a/storage/languages/zh_CN/system.php b/storage/languages/zh_CN/system.php index de3ba7b..92c2b1c 100644 --- a/storage/languages/zh_CN/system.php +++ b/storage/languages/zh_CN/system.php @@ -1,16 +1,5 @@ - * @Link https://gitee.com/xmo/MineAdmin - */ - declare(strict_types=1); - return [ 'super_admin' => '超级管理员(创始人)', 'no_permission' => '无权限访问', diff --git a/storage/languages/zh_CN/mineadmin.php b/storage/languages/zh_CN/uiview.php similarity index 100% rename from storage/languages/zh_CN/mineadmin.php rename to storage/languages/zh_CN/uiview.php diff --git a/watch b/watch deleted file mode 100644 index 5f493df..0000000 --- a/watch +++ /dev/null @@ -1,241 +0,0 @@ -#!/usr/bin/env php - false, 'log_level' => SWOOLE_LOG_INFO]); -$hashes = []; -$serve = null; - -echo CONSOLE_COLOR_YELLOW . "🚀 Start @ " . date('Y-m-d H:i:s') . PHP_EOL; -start(); -state(); -Timer::tick(SCAN_INTERVAL, 'watch'); - -function killOldProcess() -{ - // pid存在则关闭存在的进程 - if (file_exists(PID_FILE_PATH) && $pid = @file_get_contents(PID_FILE_PATH)) { - if (!@posix_kill($pid, SIGKILL)) forceKill(); - } else forceKill(); -} - -function forceKill($match = '') -{ - if (!$match) { - $match = @$_ENV['APP_NAME'] . '.Master'; - } - // 适配MacOS - if (PHP_OS == 'Darwin') $match = ENTRY_POINT_FILE; - $command = "ps -ef | grep '$match' | grep -v grep | awk '{print $2}' | xargs kill -9 2>&1"; - // 找不到pid,强杀进程 - exec($command); -} - -function start() -{ - // 杀旧进程 - killOldProcess(); - global $serve; - $serve = new Process('serve', true); - $serve->start(); - if (false === $serve->pid) { - echo swoole_strerror(swoole_errno()) . PHP_EOL; - exit(1); - } - addEvent($serve); -} - -function addEvent($serve) -{ - Event::add($serve->pipe, function () use (&$serve) { - $message = @$serve->read(); - if (!empty($message)) { - $debug = strpos($message, '[DEBUG]') !== false; - $info = strpos($message, '[INFO]') !== false; - $warn = strpos($message, '[WARNING]') !== false; - $error = strpos($message, '[ERROR]') !== false; - if ($debug) { - echo CONSOLE_COLOR_BLUE . $message; - } elseif ($info) { - echo CONSOLE_COLOR_GREEN . $message; - } elseif ($warn) { - echo CONSOLE_COLOR_YELLOW . $message; - } elseif ($error) { - echo CONSOLE_COLOR_RED . $message; - } else echo CONSOLE_COLOR_DEFAULT . $message; - echo CONSOLE_COLOR_DEFAULT; - } - }); -} - -function watch() -{ - global $hashes; - foreach ($hashes as $pathName => $currentHash) { - if (!file_exists($pathName)) { - unset($hashes[$pathName]); - continue; - } - $newHash = fileHash($pathName); - if ($newHash != $currentHash) { - change(); - state(); - break; - } - } -} - -function state() -{ - global $hashes; - $files = phpFiles(WATCH_DIR); - $hashes = array_combine($files, array_map('fileHash', $files)); - $count = count($hashes); - echo CONSOLE_COLOR_YELLOW . "📡 Watching $count files..." . PHP_EOL; -} - -function change() -{ - global $serve; - echo CONSOLE_COLOR_YELLOW . "🔄 Restart @ " . date('Y-m-d H:i:s') . PHP_EOL; - Process::kill($serve->pid); - start(); -} - -function serve(Process $serve) -{ - $opt = getopt('c'); - # if (isset($opt['c'])) echo exec(PHP . ' ' . ENTRY_POINT_FILE . ' di:init-proxy') . '..' . PHP_EOL; - if (isset($opt['c'])) delDir('./runtime/container'); - if(file_exists('./runtime/container')) exec('rm -rf ./runtime/container'); - $serve->exec(PHP, START_COMMAND); -} - -function fileHash(string $pathname): string -{ - $contents = file_get_contents($pathname); - if (false === $contents) { - return 'deleted'; - } - return md5($contents); -} - -function phpFiles(string $dirname): array -{ - $directory = new RecursiveDirectoryIterator($dirname); - $filter = new Filter($directory); - $iterator = new RecursiveIteratorIterator($filter); - return array_map(function ($fileInfo) { - return $fileInfo->getPathname(); - }, iterator_to_array($iterator)); -} - -function delDir($path) -{ - if (is_dir($path)) { - //扫描一个目录内的所有目录和文件并返回数组 - $dirs = scandir($path); - foreach ($dirs as $dir) { - //排除目录中的当前目录(.)和上一级目录(..) - if ($dir != '.' && $dir != '..') { - //如果是目录则递归子目录,继续操作 - $sonDir = $path . '/' . $dir; - if (is_dir($sonDir)) { - //递归删除 - delDir($sonDir); - //目录内的子目录和文件删除后删除空目录 - @rmdir($sonDir); - } else { - //如果是文件直接删除 - @unlink($sonDir); - } - } - } - @rmdir($path); - } -} - -class Filter extends RecursiveFilterIterator -{ - public function accept() - { - if ($this->current()->isDir()) { - if (preg_match('/^\./', $this->current()->getFilename())) { - return false; - } - return !in_array($this->current()->getFilename(), EXCLUDE_DIR); - } - $list = array_map(function (string $item): string { - return "\.$item"; - }, explode(',', WATCH_EXT)); - $list = implode('|', $list); - return preg_match("/($list)$/", $this->current()->getFilename()); - } -} \ No newline at end of file