diff --git a/MySQL_change.sql b/MySQL_change.sql
index c50c5fa..ecb2559 100644
--- a/MySQL_change.sql
+++ b/MySQL_change.sql
@@ -289,7 +289,7 @@ ALTER TABLE `agents`
CHANGE COLUMN `mchid` `mchid` VARCHAR(32) NULL COMMENT '微信支付mch_id' COLLATE 'utf8_general_ci' AFTER `appsecret`,
CHANGE COLUMN `mchkey` `mchkey` CHAR(32) NULL COMMENT '微信支付key' COLLATE 'utf8_general_ci' AFTER `mchid`;
-CREATE TABLE `mini_program_template_lists` (
+CREATE TABLE `mini_program_templates` (
`template_id` INT(10) NOT NULL,
`user_version` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '版本号' COLLATE 'utf8_general_ci',
`user_desc` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '描述' COLLATE 'utf8_general_ci',
@@ -309,6 +309,7 @@ CREATE TABLE `mini_program_upload_logs` (
`agent_id` INT(10) NOT NULL COMMENT '代理商ID',
`appid` VARCHAR(50) NOT NULL COMMENT '代理商APPID' COLLATE 'utf8_general_ci',
`template_id` INT(10) NOT NULL COMMENT '小程序template_id',
+ `qrcode` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '小程序上传后获取到的二维码' COLLATE 'utf8_general_ci',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`) USING BTREE,
INDEX `agent_id` (`agent_id`) USING BTREE
@@ -316,3 +317,17 @@ CREATE TABLE `mini_program_upload_logs` (
COMMENT='注册小程序日志'
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
+
+# 9:29 2021/9/13
+ALTER TABLE `agents`
+ ADD COLUMN `credit_codes` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '统一社会信用代码' AFTER `company_name`,
+ ADD COLUMN `legal_persona_name` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '法人姓名' AFTER `contact_phone`,
+ ADD COLUMN `legal_persona_wechat` VARCHAR(100) NOT NULL DEFAULT '' COMMENT '法人微信号' AFTER `legal_persona_name`;
+
+# 15:34 2021/9/13
+ALTER TABLE `auth_event`
+ ADD COLUMN `appid` VARCHAR(50) NULL DEFAULT NULL AFTER `id`;
+
+# 17:02 2021/9/13
+ALTER TABLE `user_money_logs`
+ CHANGE COLUMN `money` `money` DECIMAL(20,2) NOT NULL COMMENT '变动金额,正数=平台收入,负数=平台支出' AFTER `agent_id`;
diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php
index 9b4c8cf..03103a9 100644
--- a/app/Admin/Controllers/AgentController.php
+++ b/app/Admin/Controllers/AgentController.php
@@ -3,7 +3,8 @@
namespace App\Admin\Controllers;
use App\Admin\Extensions\Grid\AuditAgent;
-use App\Admin\Extensions\Grid\UploadMiniProgram;
+use App\Admin\Extensions\Grid\MiniProgramReg;
+use App\Admin\Extensions\Grid\MiniProgramUpload;
use App\Admin\Repositories\Agent;
use App\Common\AgentType;
use App\Common\UserStatus;
@@ -46,6 +47,14 @@ class AgentController extends AdminController
$grid->column('created_at');
$grid->column('status', '状态')
+ ->help('新用户入驻时,请先注册小程序。待企业法人认证通过之后,再上传小程序即可')
+ ->using(UserStatus::array())
+ ->dot([
+ UserStatus::NORMAL => 'success',
+ UserStatus::UNAUDITED => '',
+ UserStatus::REFUSE => 'danger',
+ UserStatus::DISABLED => 'warning',
+ ], 'primary')
->if(fn() => $this->status == UserStatus::UNAUDITED)
->display('')
->then(function ($column) {
@@ -55,16 +64,13 @@ class AgentController extends AdminController
->if(fn() => $this->status == UserStatus::NORMAL)
->display('')
->then(function ($column) {
- $column->append((new UploadMiniProgram())->setKey($this->id));
- })
- ->else()
- ->using(UserStatus::array())
- ->dot([
- UserStatus::NORMAL => 'success',
- UserStatus::UNAUDITED => '',
- UserStatus::REFUSE => 'danger',
- UserStatus::DISABLED => 'warning',
- ], 'primary');
+ if (empty($this->appid)) { //注册小程序
+ $column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' ');
+ $column->append((new MiniProgramReg(null, 2))->setKey($this->id));
+ } else {
+ $column->append((new MiniProgramUpload(null, 1))->setKey($this->id));
+ }
+ });
$grid->filter(function ($filter) {
$filter->panel();
@@ -92,17 +98,20 @@ class AgentController extends AdminController
$show->field('username');
$show->field('name');
$show->field('appid');
- $show->field('appsecret');
- $show->field('mchid');
- $show->field('mchkey');
+// $show->field('appsecret');
+// $show->field('mchid');
+// $show->field('mchkey');
$show->field('status')->using(UserStatus::array());
$show->field('type')->using(AgentType::array());
$show->field('company_name');
+ $show->field('credit_codes');
$show->field('logo')->image('', 80, 80);
$show->field('address');
$show->field('license_pic')->image('', 80, 80);
$show->field('director');
$show->field('contact_phone');
+ $show->field('legal_persona_name');
+ $show->field('legal_persona_wechat');
$show->field('rate');
$show->field('agentInfo.about', '关于我们')
->unescape()
@@ -145,10 +154,10 @@ class AgentController extends AdminController
$form->text('password')->customFormat(fn() => '');
}
$form->text('name')->required();
- $form->text('appid')->required();
- $form->text('appsecret')->required();
- $form->text('mchid')->required();
- $form->text('mchkey')->required();
+ $form->text('appid')->help('无需填写,注册小程序后会自动生成');
+// $form->text('appsecret')->help('无需填写,注册小程序后会自动生成');
+// $form->text('mchid')->required();
+// $form->text('mchkey')->required();
$form->select('status')
->default(UserStatus::NORMAL)
->options(UserStatus::array())
@@ -157,13 +166,16 @@ class AgentController extends AdminController
->options(AgentType::array())
->default(AgentType::OPERATOR)
->required();
- $form->text('company_name');
+ $form->text('company_name')->required()->help('请正确填写,保持跟营业执照上的完全一致,如:海南易游天下供应链有限公司');
+ $form->text('credit_codes')->required()->help('请正确填写,保持跟营业执照上的完全一致,如:91440300577652919M');
$form->distpicker(['province_id', 'city_id', 'area_id'], '请选择区域')->required();
$form->image('logo')->removable(false)->uniqueName();
$form->text('address');
$form->image('license_pic')->removable(false)->uniqueName();
$form->text('director');
$form->text('contact_phone');
+ $form->text('legal_persona_name')->required()->maxLength(20)->help('很重要,注册小程序时需要用到,用于实名认证');
+ $form->text('legal_persona_wechat')->required()->maxLength(100)->help('很重要,用于接收实名认证信息,不能是手机号或QQ号,微信号请前往微信“我的”页面查看');
$form->number('rate')->min(0)->max(100)->help('分成百分比,如10%,则输入10');
$form->editor('agentInfo.about', '关于我们');// 隐藏菜单用:->options(['menubar' => false]);
$form->editor('agentInfo.reg_protocol', '注册协议');
@@ -187,8 +199,9 @@ class AgentController extends AdminController
}
//过滤null字段
+ $allow_null = ['avatar', 'remember_token', 'appid', 'appsecret', 'mchid', 'mchkey'];
foreach($form->input() as $k => $v) {
- if (is_null($v)) {
+ if (is_null($v) && !in_array($k, $allow_null)) {
$form->$k = '';
} else if (is_array($v)) {
foreach ($v as $k2 => &$v2) {
diff --git a/app/Admin/Controllers/MiniProgramDraftController.php b/app/Admin/Controllers/MiniProgramDraftController.php
index e0c920e..7c8f2c9 100644
--- a/app/Admin/Controllers/MiniProgramDraftController.php
+++ b/app/Admin/Controllers/MiniProgramDraftController.php
@@ -6,7 +6,7 @@ use Dcat\Admin\Grid;
use Dcat\Admin\Http\Controllers\AdminController;
/**
- * 小程序草稿箱
+ * 小程序草稿箱(此类已弃用,更新模板列表时自动获取草稿,并自动创建模板)
* Class MiniProgramController
* @package App\Admin\Controllers
*/
@@ -28,8 +28,6 @@ class MiniProgramDraftController extends AdminController
$grid->column('source_miniprogram_appid');
$grid->column('developer');
$grid->column('create_time')->display(fn($v) => date('Y-m-d H:i:s', $v));
-
- $grid->column('op');
});
}
}
diff --git a/app/Admin/Controllers/MiniProgramListController.php b/app/Admin/Controllers/MiniProgramListController.php
index 0a42a2b..bc1499a 100644
--- a/app/Admin/Controllers/MiniProgramListController.php
+++ b/app/Admin/Controllers/MiniProgramListController.php
@@ -19,6 +19,7 @@ class MiniProgramListController extends AdminController
return Grid::make(new MiniProgramList, function (Grid $grid) {
$grid->disableCreateButton();
$grid->disableRowSelector();
+ $grid->disableActions();
$grid->column('authorizer_appid');
});
diff --git a/app/Admin/Controllers/MiniProgramTemplateController.php b/app/Admin/Controllers/MiniProgramTemplateController.php
index dc0dbd9..79a622e 100644
--- a/app/Admin/Controllers/MiniProgramTemplateController.php
+++ b/app/Admin/Controllers/MiniProgramTemplateController.php
@@ -1,7 +1,9 @@
disableCreateButton();
$grid->disableRowSelector();
- $grid->disableViewButton();
- $grid->disableEditButton();
+ $grid->disableActions();
- $grid->disableDeleteButton();
+ $grid->model()->orderBy('template_id', 'desc');
- $grid->tools(new PullTemplateList);
+ $grid->tools(new MiniProgramPull);
$grid->column('template_id');
- $grid->column('template_type')->using([0 => '普通模板', 1 => '标准模板']);
+// $grid->column('template_type')->using([0 => '普通模板', 1 => '标准模板']);
$grid->column('user_version');
$grid->column('user_desc');
$grid->column('source_miniprogram');
$grid->column('source_miniprogram_appid');
$grid->column('developer');
$grid->column('create_time')->display(fn($v) => date('Y-m-d H:i:s', $v));
+
+ $grid->column('op')
+ ->if(fn() => true)
+ ->then(function ($column) {
+// $column->append((new MiniProgramUpload(null, 2))->setKey($this->id))->append(' ');
+ $column->append(new MiniProgramDelTemp)->append(' ');
+ });
});
}
}
diff --git a/app/Admin/Extensions/Grid/MiniProgramDelTemp.php b/app/Admin/Extensions/Grid/MiniProgramDelTemp.php
new file mode 100644
index 0000000..01b3f87
--- /dev/null
+++ b/app/Admin/Extensions/Grid/MiniProgramDelTemp.php
@@ -0,0 +1,83 @@
+appendHtmlAttribute('class', 'btn btn-sm btn-danger');
+ $this->defaultHtmlAttribute('href', 'javascript:;');
+
+ return "formatHtmlAttributes()}>{$this->title}";
+ }
+
+ /**
+ * Handle the action request.
+ *
+ * @param Request $request
+ *
+ * @return Response
+ */
+ public function handle(Request $request)
+ {
+ $id = $this->getKey(); //待删除的ID
+
+ //最大ID不允许删除,因为草稿箱已经记录创建模板,即使是更新列表也不再创建模板,删除之后就没有可用模板了
+ if ($id == MiniProgramTemplate::query()->max('template_id')) {
+ return $this->response()->error('第一个模板用于注册及创建小程序,不允许删除');
+ }
+
+ DB::beginTransaction();
+ try {
+ //删除腾讯服务器上的
+ $setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']);
+ $config = [
+ 'app_id' => $setting['service_appid'],
+ 'secret' => $setting['service_appsecret'],
+ 'token' => $setting['service_token'],
+ 'aes_key' => $setting['service_aeskey'],
+ ];
+
+ $openPlatform = Factory::openPlatform($config);
+ if (empty($openPlatform['code_template'])) {
+ throw new \Exception('获取code_template失败');
+ }
+ $codeTemplate = $openPlatform['code_template'];
+ $res = $codeTemplate->delete($id);
+
+ if (!isset($res['errcode'], $res['errmsg']) || $res['errcode'] != 0 || $res['errmsg'] != 'ok') {
+ throw new \Exception(isset($res['errmsg']) ? join(',', $res) : '删除失败,原因未知');
+ }
+
+ //删除数据库记录
+ MiniProgramTemplate::where('template_id', $id)->delete();
+
+ DB::commit();
+ return $this->response()->success('删除成功')->refresh();
+ } catch (\Exception $e) {
+ DB::rollBack();
+ return $this->response()->error($e->getMessage());
+ }
+ }
+
+ /**
+ * @return string|array|void
+ */
+ public function confirm()
+ {
+ return ['确定要删除此模板吗?', ''];
+ }
+}
diff --git a/app/Admin/Extensions/Grid/MiniProgramPull.php b/app/Admin/Extensions/Grid/MiniProgramPull.php
new file mode 100644
index 0000000..f26ada9
--- /dev/null
+++ b/app/Admin/Extensions/Grid/MiniProgramPull.php
@@ -0,0 +1,89 @@
+appendHtmlAttribute('class', 'btn btn-primary');
+ $this->defaultHtmlAttribute('href', 'javascript:;');
+
+ return "formatHtmlAttributes()}>{$this->title}";
+ }
+
+ /**
+ * 更新逻辑:
+ * 1、先获取草稿箱,并保存到数据库;
+ * 2、如果草稿未创建过模板,通过草稿创建模板;
+ * 3、将模板列表保存至数据库;
+ */
+ public function handle(Request $request)
+ {
+ try {
+ $setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']);
+ $config = [
+ 'app_id' => $setting['service_appid'],
+ 'secret' => $setting['service_appsecret'],
+ 'token' => $setting['service_token'],
+ 'aes_key' => $setting['service_aeskey'],
+ ];
+
+ $openPlatform = Factory::openPlatform($config);
+
+ if (empty($openPlatform['code_template'])) {
+ return $this->response()->error('获取code_template失败');
+ }
+ $codeTemplate = $openPlatform['code_template'];
+
+ //草稿列表
+ $list = $codeTemplate->getDrafts();
+ if (empty($list['draft_list'])) {
+ return $this->response()->error('获取草稿箱失败或草稿箱为空');
+ }
+ MiniProgramDraft::insertOrIgnore($list['draft_list']);
+ MiniProgramDraft::whereNotIn('draft_id', array_column($list['draft_list'], 'draft_id'))->delete(); //删除不存在的数据
+
+ //从草稿创建模板
+ $ids = MiniProgramDraft::query()->where('is_create_template', 0)->pluck('draft_id');
+ foreach ($ids as $draft_id) {
+ $res = $codeTemplate->createFromDraft($draft_id, 1); //第二个参数,0:普通模板;1:标准模板
+ if (!isset($res['errcode'], $res['errmsg']) || $res['errcode'] != 0 || $res['errmsg'] != 'ok') {
+ return $this->response()->error("草稿ID $draft_id 创建模板失败");
+ } else {
+ MiniProgramDraft::where('draft_id', $draft_id)->update(['is_create_template' => 1]);
+ }
+ }
+
+ //模板列表
+ $list = $codeTemplate->list();
+ if (empty($list['template_list'])) {
+ return $this->response()->error('获取模板失败或模板为空');
+ }
+ MiniProgramTemplate::insertOrIgnore($list['template_list']);
+ MiniProgramTemplate::whereNotIn('template_id', array_column($list['template_list'], 'template_id'))->delete(); //删除不存在的数据
+
+ return $this->response()->success("更新列表成功")->refresh();
+ } catch (\Exception $e) {
+ return $this->response()->error($e->getMessage());
+ }
+ }
+
+ public function confirm()
+ {
+ return ['此操作将数据与腾讯服务器数据同步,是否继续?', ''];
+ }
+}
diff --git a/app/Admin/Extensions/Grid/MiniProgramReg.php b/app/Admin/Extensions/Grid/MiniProgramReg.php
new file mode 100644
index 0000000..8eba14a
--- /dev/null
+++ b/app/Admin/Extensions/Grid/MiniProgramReg.php
@@ -0,0 +1,160 @@
+action = $action; //$action:1=注册小程序;2=上传小程序
+ $this->title = $action == 1 ? '注册小程序' : '查询状态';
+ }
+
+ protected function html()
+ {
+ $class = $this->action == 1 ? 'btn btn-sm btn-success' : 'btn btn-sm';
+ $this->appendHtmlAttribute('class', $class);
+ $this->defaultHtmlAttribute('href', 'javascript:;');
+
+ return "formatHtmlAttributes()}>{$this->title}";
+ }
+
+ public function handle(Request $request)
+ {
+ return $request->action == 1 ? $this->register() : $this->search();
+ }
+
+ private function register()
+ {
+ $agent = Agent::find($this->getKey());
+
+ $setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey', 'service_component_phone']);
+ $config = [
+ 'app_id' => $setting['service_appid'],
+ 'secret' => $setting['service_appsecret'],
+ 'token' => $setting['service_token'],
+ 'aes_key' => $setting['service_aeskey'],
+ ];
+
+ $openPlatform = Factory::openPlatform($config);
+ if (empty($openPlatform['component'])) {
+ return $this->response()->error('获取component失败,请检查配置信息是否正确');
+ }
+ $component = $openPlatform['component'];
+
+ $res = $component->registerMiniProgram([
+ 'name' => $agent->company_name, // 企业名
+ 'code' => $agent->credit_codes, // 企业代码
+ 'code_type' => 1, // 企业代码类型(1:统一社会信用代码, 2:组织机构代码,3:营业执照注册号)
+ 'legal_persona_wechat' => $agent->legal_persona_wechat, // 法人微信
+ 'legal_persona_name' => $agent->legal_persona_name, // 法人姓名
+ 'component_phone' => $setting['service_component_phone'], //第三方联系电话
+ ]);
+
+ $errorArr = $this->regErrorCode();
+
+ if (!isset($res['errcode'], $res['errmsg'])) {
+ return $this->response()->error('注册错误,原因未知');
+ } else if ($res['errcode'] != 0 && isset($errorArr[$res['errcode']])) {
+ return $this->response()->error($errorArr[$res['errcode']]);
+ } else if ($res['errcode'] != 0 || $res['errmsg'] != 'ok') {
+ return $this->response()->error(join(',', $res));
+ }
+
+ return $this->response()->success('注册小程序成功')->refresh();
+ }
+
+ private function search()
+ {
+ $agent = Agent::find($this->getKey());
+ if (!empty($agent->appid)) {
+ return $this->response()->error("该代理商已经注册过小程序并分配了APPID:" . $agent->appid);
+ }
+
+ try {
+ $setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']);
+ $config = [
+ 'app_id' => $setting['service_appid'],
+ 'secret' => $setting['service_appsecret'],
+ 'token' => $setting['service_token'],
+ 'aes_key' => $setting['service_aeskey'],
+ ];
+
+ $openPlatform = Factory::openPlatform($config);
+ if (empty($openPlatform['component'])) {
+ return $this->response()->error('获取component失败,请检查配置信息是否正确');
+ }
+ /** @var Client $component */
+ $component = $openPlatform['component'];
+ $res = $component->getRegistrationStatus($agent->company_name, $agent->legal_persona_wechat, $agent->legal_persona_name);
+
+ $errorArr = $this->searchErrorCode();
+
+ if (isset($res['errcode'], $res['errmsg']) && $res['errcode'] == 0 && $res['errmsg'] == 'ok') {
+ return $this->response()->success("成功")->refresh();
+ } else if (isset($res['errcode'], $errorArr[$res['errcode']])) {
+ throw new \Exception($errorArr[$res['errcode']]);
+ } else {
+ throw new \Exception(join(',', $res));
+ }
+ } catch (\Exception $e) {
+ return $this->response()->error($e->getMessage());
+ }
+ }
+
+ public function confirm()
+ {
+ return ["确定要{$this->title}吗?", ''];
+ }
+
+ public function parameters()
+ {
+ return ['action' => $this->action];
+ }
+
+ private function regErrorCode(): array
+ {
+ return [
+ -1 => '非法 action 参数',
+ 89249 => '该主体已有任务执行中,距上次任务 24小时 后再试',
+ 89247 => '腾讯服务器内部错误',
+ 86004 => '无效微信号',
+ 61070 => '法人姓名与微信号不一致',
+ 89248 => '企业代码类型无效,请选择正确类型填写',
+ 89250 => '未找到该任务',
+ 89251 => '待法人人脸核身校验',
+ 89252 => '法人&企业信息一致性校验中',
+ 89253 => '缺少参数',
+ 89254 => '第三方权限集不全,请补充权限集后重试',
+ 89255 => 'code参数无效,请检查code长度以及内容是否正确 ;注意code_type的值不同需要传的code长度不一样',
+ ];
+ }
+
+ private function searchErrorCode(): array
+ {
+ return [
+ -1 => '非法请求',
+ 89247 => '内部错误',
+ 89250 => '未找到该企业的注册任务',
+ 89251 => '模板消息已下发,待法人人脸核身校验',
+ 89252 => '法人&企业信息一致性校验中',
+ 89253 => '缺少参数',
+ ];
+ }
+}
diff --git a/app/Admin/Extensions/Grid/MiniProgramUpload.php b/app/Admin/Extensions/Grid/MiniProgramUpload.php
new file mode 100644
index 0000000..80bd3ff
--- /dev/null
+++ b/app/Admin/Extensions/Grid/MiniProgramUpload.php
@@ -0,0 +1,136 @@
+action = $action; //$action:1=为指定代理商上传小程序;2=批量上传小程序(一键分发小程序给所有代理商)
+ $this->title = $action == 1 ? '上传小程序' : '为所有代理商上传';
+ }
+
+ protected function html()
+ {
+ $class = 'btn btn-sm btn-primary';
+ $this->appendHtmlAttribute('class', $class);
+ $this->defaultHtmlAttribute('href', 'javascript:;');
+
+ return "formatHtmlAttributes()}>{$this->title}";
+ }
+
+ public function handle(Request $request)
+ {
+ return $this->action == 1 ? $this->uploadOne() : $this->uploadAll();
+ }
+
+ //注:uploadOne在代理商列表页使用
+ private function uploadOne()
+ {
+ $template = MiniProgramTemplate::orderBy('template_id', 'desc')->first();
+ /*if (MiniProgramUploadLog::query()->where(['agent_id' => $this->getKey(), 'template_id' => $template->template_id])->exists()) {
+ return $this->response()->error("该代理商已经上传过模板ID为 {$template->template_id} 的小程序,无需重复上传");
+ }*/
+
+ $agent = Agent::find($this->getKey());
+ if (empty($agent->appid)) {
+ return $this->response()->error('该代理商未注册过小程序,请先注册');
+ }
+
+ try {
+ $setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']);
+ $config = [
+ 'app_id' => $setting['service_appid'],
+ 'secret' => $setting['service_appsecret'],
+ 'token' => $setting['service_token'],
+ 'aes_key' => $setting['service_aeskey'],
+ ];
+
+ $openPlatform = Factory::openPlatform($config);
+ $refreshToken = $openPlatform->getAuthorizer($agent->appid)['authorization_info']['authorizer_refresh_token'] ?? null;
+ if (!$refreshToken) {
+ return $this->response()->error('获取refresh_token失败');
+ }
+ /** @var Client $code */
+ $code = $openPlatform->miniProgram($agent->appid, $refreshToken)['code'] ?? null;
+ if (!$code) {
+ return $this->response()->error('获取code失败');
+ }
+
+ $templateId = $template->template_id;
+ $extJson = json_encode(['extAppid' => $agent->appid]);
+ $version = $template->user_version;
+ $description = $agent->company_name;
+
+ //提交上传
+ $commit = $code->commit($templateId, $extJson, $version, $description);
+
+ //获取体验二维码并保存
+ $qrcode = $code->getQrCode(storage_path("app/public/{$agent->id}-{$agent->appid}.jpg"));
+ Storage::put("public/mini_program_qrcode/{$agent->id}-{$agent->appid}.jpg", $qrcode);
+
+ if (!isset($commit['errcode'], $commit['errmsg']) || $commit['errcode'] != 0 || $commit['errmsg'] != 'ok') {
+ throw new \Exception(isset($commit['errmsg']) ? $commit['errmsg'] : join(',', $commit));
+ }
+
+ //提交审核,文档:https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/submit_audit.html
+ $res = $code->submitAudit([]);
+
+ if (isset($res['errcode'], $res['errmsg']) && $res['errcode'] == 0 && $res['errmsg'] == 'ok') {
+ //保存上传记录
+ MiniProgramUploadLog::insert([
+ 'agent_id' => $agent->id,
+ 'appid' => $agent->appid,
+ 'template_id' => $templateId,
+ 'qrcode' => "mini_program_qrcode/{$agent->id}-{$agent->appid}.jpg",
+ 'audit_id' => $res['auditid'],
+ 'created_at' => now(),
+ ]);
+ return $this->response()->success("上传成功,并已提交审核")->refresh();
+ } else {
+ throw new \Exception($res['errmsg'] ?? join(',', $res));
+ }
+ } catch (\Exception $e) {
+ return $this->response()->error($e->getMessage());
+ }
+ }
+
+ //注:uploadAll在小程序模板列表页使用
+ private function uploadAll()
+ {
+
+ }
+
+ public function confirm()
+ {
+ if ($this->action == 1) {
+ return ["确定要为此代理商上传小程序吗?", ''];
+ } else {
+ return ['上传确认', '确定要将此小程序模板上传给所有已审核的代理商吗?'];
+ }
+ }
+
+ public function parameters()
+ {
+ return ['action' => $this->action];
+ }
+
+
+}
diff --git a/app/Admin/Extensions/Grid/PullTemplateList.php b/app/Admin/Extensions/Grid/PullTemplateList.php
deleted file mode 100644
index 2364c4d..0000000
--- a/app/Admin/Extensions/Grid/PullTemplateList.php
+++ /dev/null
@@ -1,56 +0,0 @@
-appendHtmlAttribute('class', 'btn btn-primary');
- $this->defaultHtmlAttribute('href', 'javascript:;');
-
- return "formatHtmlAttributes()}>{$this->title}";
- }
-
- public function handle(Request $request)
- {
- try {
- $setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']);
- $config = [
- 'app_id' => $setting['service_appid'],
- 'secret' => $setting['service_appsecret'],
- 'token' => $setting['service_token'],
- 'aes_key' => $setting['service_aeskey'],
- ];
-
- $openPlatform = Factory::openPlatform($config);
- $codeTemplate = $openPlatform['code_template'];
- $list = $codeTemplate->list();
-
- MiniProgramTemplateList::insertOrIgnore($list['template_list']);
- //删除不存在的数据
- MiniProgramTemplateList::whereNotIn('template_id', array_column($list['template_list'], 'template_id'))->delete();
-
- return $this->response()->success("操作成功")->refresh();
- } catch (\Exception $e) {
- return $this->response()->error($e->getMessage());
- }
- }
-
- public function confirm()
- {
- return ['此操作将数据与腾讯服务器数据同步,是否继续?', ''];
- }
-}
diff --git a/app/Admin/Extensions/Grid/UploadMiniProgram.php b/app/Admin/Extensions/Grid/UploadMiniProgram.php
deleted file mode 100644
index 95116f0..0000000
--- a/app/Admin/Extensions/Grid/UploadMiniProgram.php
+++ /dev/null
@@ -1,89 +0,0 @@
-appendHtmlAttribute('class', 'btn btn-sm btn-primary');
- $this->defaultHtmlAttribute('href', 'javascript:;');
-
- return "formatHtmlAttributes()}>{$this->title}";
- }
-
- public function handle(Request $request)
- {
- $template = MiniProgramTemplateList::orderBy('template_id', 'desc')->first();
- if (MiniProgramUploadLog::query()->where(['agent_id' => $this->getKey(), 'template_id' => $template->template_id])->exists()) {
- return $this->response()->error('该代理商已经上传过小程序,无需重复上传');
- }
-
- $agent = Agent::find($this->getKey());
- if (empty($agent->appid)) {
- return $this->response()->error('该代理商未注册过小程序,请先注册');
- }
-
- try {
- $setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']);
- $config = [
- 'app_id' => $setting['service_appid'],
- 'secret' => $setting['service_appsecret'],
- 'token' => $setting['service_token'],
- 'aes_key' => $setting['service_aeskey'],
- ];
-
- $openPlatform = \EasyWeChat\Factory::openPlatform($config);
- $refreshToken = $openPlatform->getAuthorizer($agent->appid)['authorization_info']['authorizer_refresh_token'] ?? null;
- if (!$refreshToken) {
- return $this->response()->error('获取refresh_token失败');
- }
- $code = $openPlatform->miniProgram($agent->appid, $refreshToken)['code'];
-
- $templateId = $template->template_id;
- $extJson = json_encode(['extAppid' => $agent->appid]);
- $version = $template->user_version;
- $description = $agent->company_name;
-
- $commit = $code->commit($templateId, $extJson, $version, $description);
-// $qrcode = $code->getQrCode();
-
- if (isset($commit['errcode'], $commit['errmsg']) && $commit['errcode'] == 0 && $commit['errmsg'] == 'ok') {
- MiniProgramUploadLog::insert([
- 'agent_id' => $agent->id,
- 'appid' => $agent->appid,
- 'template_id' => $templateId,
- ]);
- return $this->response()->success("上传成功")->refresh();
- } else {
- throw new \Exception(join(',', $commit));
- }
- } catch (\Exception $e) {
- return $this->response()->error($e->getMessage());
- }
- }
-
- public function confirm()
- {
- return ['确定要上传小程序吗?', ''];
- }
-}
diff --git a/app/Admin/Forms/Setting.php b/app/Admin/Forms/Setting.php
index 0207b21..4d349f4 100644
--- a/app/Admin/Forms/Setting.php
+++ b/app/Admin/Forms/Setting.php
@@ -36,9 +36,9 @@ class Setting extends Form
})->tab('小程序服务商配置', function () {
$this->text('service_appid', '小程序第三方平台APPID');
$this->text('service_appsecret', '小程序第三方平台APP_SECRET');
- $this->text('service_binding_appid', '绑定小程序APPID');
$this->text('service_token', '消息校验Token')->help('跟小程序管理后台的一致,请勿随意更改');
$this->text('service_aeskey', '消息加解密Key')->help('跟小程序管理后台的一致,请勿随意更改');
+ $this->text('service_component_phone', '联系电话')->help('主要用于当注册小程序失败时,腾讯可能会通过此电话反馈问题');
});
}
diff --git a/app/Admin/Repositories/MiniProgramDraft.php b/app/Admin/Repositories/MiniProgramDraft.php
index 7c5b6c0..19a09bd 100644
--- a/app/Admin/Repositories/MiniProgramDraft.php
+++ b/app/Admin/Repositories/MiniProgramDraft.php
@@ -1,60 +1,21 @@
$setting['service_appid'],
- 'secret' => $setting['service_appsecret'],
- 'token' => $setting['service_token'],
- 'aes_key' => $setting['service_aeskey'],
- ];
-
- $cache_key = 'mini_program:draft_list';
- if ($data['subjects'] = Cache::get($cache_key)) {
- $data['total'] = count($data['subjects']);
- } else {
- $openPlatform = Factory::openPlatform($config);
- $codeTemplate = $openPlatform['code_template'];
-
- if (empty($codeTemplate) || (!$list = $codeTemplate->getDrafts())) {
- $data['total'] = 0;
- $data['subjects'] = [];
- } else {
- $data['total'] = count($list['draft_list']);
- $data['subjects'] = $list['draft_list'] ?? [];
- Cache::put($cache_key, $list['draft_list'], 180);
- }
- }
-
- return $model->makePaginator(
- $data['total'] ?? 0, // 传入总记录数
- $data['subjects'] ?? [] // 传入数据二维数组
- );
+ parent::__construct();
+ $this->setKeyName('draft_id');
}
}
diff --git a/app/Admin/Repositories/MiniProgramTemplateList.php b/app/Admin/Repositories/MiniProgramTemplateList.php
index 83141ab..cd86ee4 100644
--- a/app/Admin/Repositories/MiniProgramTemplateList.php
+++ b/app/Admin/Repositories/MiniProgramTemplateList.php
@@ -1,7 +1,7 @@
name = $input['name'];
$model->company_name = $input['company_name'];
+ $model->credit_codes = $input['credit_codes'];
$model->address = $input['address'];
$model->director = $input['director'];
$model->contact_phone = $input['contact_phone'];
$model->logo = $input['logo'];
$model->avatar = $input['avatar'];
$model->license_pic = $input['license_pic'];
+ $model->legal_persona_name = $input['legal_persona_name'];
+ $model->legal_persona_wechat = $input['legal_persona_wechat'];
$model->status = UserStatus::UNAUDITED;
$model->agentInfo->about = $input['agentInfo']['about'];
@@ -49,12 +52,15 @@ class AgentInfo extends Form
$this->text('name')->required();
$this->text('company_name')->required();
+ $this->text('credit_codes')->required();
$this->text('address')->required();
$this->text('director')->required();
$this->text('contact_phone')->required();
$this->image('logo')->required();
$this->image('avatar');
$this->image('license_pic')->required();
+ $this->text('legal_persona_name')->required();
+ $this->text('legal_persona_wechat')->required();
$this->editor('agentInfo.about')->required();
$this->editor('agentInfo.reg_protocol')->required();
diff --git a/app/AdminSettled/Controllers/AgentController.php b/app/AdminSettled/Controllers/AgentController.php
index a88210e..06a2bbf 100644
--- a/app/AdminSettled/Controllers/AgentController.php
+++ b/app/AdminSettled/Controllers/AgentController.php
@@ -69,13 +69,16 @@ class AgentController extends AdminController
->options(AgentType::array())
->default(AgentType::OPERATOR)
->required();
- $form->text('company_name')->required();
+ $form->text('company_name')->required()->help('请正确填写,保持跟营业执照上的完全一致,如:海南易游天下供应链有限公司');
+ $form->text('credit_codes')->required()->help('请正确填写,保持跟营业执照上的完全一致,如:91440300577652919M');
$form->distpicker(['province_id', 'city_id', 'area_id'], '请选择区域')->required();
$form->image('logo')->required()->removable(false)->uniqueName();
$form->text('address')->required();
$form->image('license_pic')->required()->removable(false)->uniqueName();
$form->text('director')->required();
$form->text('contact_phone')->required()->maxLength(13);
+ $form->text('legal_persona_name')->required()->maxLength(20)->help('很重要,注册小程序时需要用到,用于实名认证');
+ $form->text('legal_persona_wechat')->required()->maxLength(100)->help('很重要,用于接收实名认证信息,不能是手机号或QQ号,微信号请前往微信“我的”页面查看');
})->saving(function (Form $form) {
if ($form->isEditing()) {
return $form->response()->error('服务器出错了~~');
@@ -86,6 +89,11 @@ class AgentController extends AdminController
return $form->response()->error($form->username . ' 的账号已经存在');
}
+ //判断公司名称是否唯一
+ if ($form->repository()->model()->where(['company_name' => $form->company_name, 'credit_codes' => $form->credit_codes])->exists()) {
+ return $form->response()->error("公司名称 {$form->company_name} 已经存在");
+ }
+
//如果是供应商版旅行社,也不能存在相同的供应商账号,因为后台审核之后需要再次插入相同的供应商账号
if ($form->type == AgentType::SUPPLIER && Supplier::where('username', $form->username)->exists()) {
return $form->response()->error($form->username . ' 的账号已经存在');
diff --git a/app/Http/Controllers/Api/MiniProgramController.php b/app/Http/Controllers/Api/MiniProgramController.php
index 956678d..efc45dd 100644
--- a/app/Http/Controllers/Api/MiniProgramController.php
+++ b/app/Http/Controllers/Api/MiniProgramController.php
@@ -3,8 +3,8 @@
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\AdminSetting;
+use App\Models\Agent;
use EasyWeChat\Factory;
-use EasyWeChat\OpenPlatform\Server\Guard;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
@@ -18,6 +18,8 @@ class MiniProgramController extends Controller
// 第三方平台授权事件通知
public function authEvent(Request $request)
{
+ DB::table('mini_program_events')->insert(['response' => json_encode($request->all()), 'created_at' => now()]);
+
$setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']);
$config = [ // 第三方平台信息
'app_id' => $setting['service_appid'],
@@ -29,30 +31,50 @@ class MiniProgramController extends Controller
$openPlatform = Factory::openPlatform($config);
$server = $openPlatform->server;
- // 处理授权成功事件
+ // 处理授权成功事件:Guard::EVENT_AUTHORIZED
+ // 处理授权更新事件:Guard::EVENT_UPDATE_AUTHORIZED
+ // 处理授权取消事件:Guard::EVENT_UNAUTHORIZED
$server->push(function ($message) {
- DB::table('auth_event')->insert([
- ['response' => json_encode($message)]
+ DB::table('mini_program_events')->insert([
+ 'response' => json_encode($message),
+ 'event' => $message['InfoType'] ?? '',
+ 'created_at' => now()
]);
- }, Guard::EVENT_AUTHORIZED);
- // 处理授权更新事件
- $server->push(function ($message) {
- DB::table('auth_event')->insert([
- ['response' => json_encode($message)]
- ]);
- }, Guard::EVENT_UPDATE_AUTHORIZED);
+ if (isset($message['InfoType'], $message['status'], $message['msg'], $message['info']) && $message['status'] == 0 && $message['msg'] == 'OK') {
+ //注册成功授权通知
+ if ($message['InfoType'] == 'notify_third_fasteregister') {
+ Agent::where(['company_name' => $message['info']['name'], 'credit_codes' => $message['info']['code']])
+ ->update(['appid' => $message['appid']]);
+ }
+ }
+ });
+
+ return $server->serve();
+ }
+
+ public function msgEvent(Request $request)
+ {
+ $appid = $request->route('appid');
+ DB::table('mini_program_events')->insert(['appid' => $appid, 'response' => json_encode($request->all()), 'created_at' => now()]);
- // 处理授权取消事件
+ $setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']);
+ $config = [
+ 'app_id' => $setting['service_appid'],
+ 'secret' => $setting['service_appsecret'],
+ 'token' => $setting['service_token'],
+ 'aes_key' => $setting['service_aeskey'],
+ ];
+
+ $openPlatform = Factory::openPlatform($config);
+ $server = $openPlatform->server;
+
+ //接收事件
$server->push(function ($message) {
- DB::table('auth_event')->insert([
- ['response' => json_encode($message)]
- ]);
- }, Guard::EVENT_UNAUTHORIZED);
+ if (isset($message['Event'])) {
- DB::table('auth_event')->insert([
- ['response' => json_encode($request->all())]
- ]);
+ }
+ });
return $server->serve();
}
diff --git a/app/Http/Controllers/Api/TestController.php b/app/Http/Controllers/Api/TestController.php
index c88659e..9287a04 100644
--- a/app/Http/Controllers/Api/TestController.php
+++ b/app/Http/Controllers/Api/TestController.php
@@ -2,6 +2,7 @@
namespace App\Http\Controllers\Api;
+use App\Models\Agent;
use App\Models\Order;
use App\Models\OrderProductItem;
use App\Models\Product;
diff --git a/app/Models/MiniProgramDraft.php b/app/Models/MiniProgramDraft.php
new file mode 100644
index 0000000..9333ece
--- /dev/null
+++ b/app/Models/MiniProgramDraft.php
@@ -0,0 +1,17 @@
+timestamps = false;
+ }
+}
diff --git a/app/Models/MiniProgramTemplate.php b/app/Models/MiniProgramTemplate.php
new file mode 100644
index 0000000..6a809c7
--- /dev/null
+++ b/app/Models/MiniProgramTemplate.php
@@ -0,0 +1,17 @@
+timestamps = false;
+ }
+}
diff --git a/app/Models/MiniProgramTemplateList.php b/app/Models/MiniProgramTemplateList.php
deleted file mode 100644
index e3aaaf0..0000000
--- a/app/Models/MiniProgramTemplateList.php
+++ /dev/null
@@ -1,11 +0,0 @@
-=5.4.0",
- "psr/http-message": "~1.0",
- "ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
+ "php": "^7.2.5 || ^8.0",
+ "psr/http-factory": "^1.0",
+ "psr/http-message": "^1.0",
+ "ralouphie/getallheaders": "^3.0"
},
"provide": {
+ "psr/http-factory-implementation": "1.0",
"psr/http-message-implementation": "1.0"
},
"require-dev": {
- "ext-zlib": "*",
- "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10"
+ "bamarni/composer-bin-plugin": "^1.4.1",
+ "http-interop/http-factory-tests": "^0.9",
+ "phpunit/phpunit": "^8.5.8 || ^9.3.10"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
@@ -1462,16 +1545,13 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.7-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
"psr-4": {
"GuzzleHttp\\Psr7\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1486,6 +1566,11 @@
{
"name": "Tobias Schultze",
"homepage": "https://github.com/Tobion"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://sagikazarmark.hu"
}
],
"description": "PSR-7 message implementation that also provides common utility methods",
@@ -1501,9 +1586,9 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/1.8.2"
+ "source": "https://github.com/guzzle/psr7/tree/2.0.0"
},
- "time": "2021-04-26T09:17:50+00:00"
+ "time": "2021-06-30T20:03:07+00:00"
},
{
"name": "hamcrest/hamcrest-php",
@@ -1564,16 +1649,16 @@
},
{
"name": "laravel/framework",
- "version": "v8.50.0",
+ "version": "v8.60.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "d892dbacbe3859cf9303ccda98ac8d782141d5ae"
+ "reference": "44f16a31a1d4ac8a51605550d7796e2273984a48"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/d892dbacbe3859cf9303ccda98ac8d782141d5ae",
- "reference": "d892dbacbe3859cf9303ccda98ac8d782141d5ae",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/44f16a31a1d4ac8a51605550d7796e2273984a48",
+ "reference": "44f16a31a1d4ac8a51605550d7796e2273984a48",
"shasum": "",
"mirrors": [
{
@@ -1652,7 +1737,7 @@
"illuminate/view": "self.version"
},
"require-dev": {
- "aws/aws-sdk-php": "^3.155",
+ "aws/aws-sdk-php": "^3.189.0",
"doctrine/dbal": "^2.6|^3.0",
"filp/whoops": "^2.8",
"guzzlehttp/guzzle": "^6.5.5|^7.0.1",
@@ -1665,7 +1750,7 @@
"symfony/cache": "^5.1.4"
},
"suggest": {
- "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).",
+ "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.189.0).",
"brianium/paratest": "Required to run tests in parallel (^6.0).",
"doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).",
"ext-ftp": "Required to use the Flysystem FTP driver.",
@@ -1734,7 +1819,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2021-07-13T12:41:53+00:00"
+ "time": "2021-09-08T13:37:21+00:00"
},
{
"name": "laravel/tinker",
@@ -1812,16 +1897,16 @@
},
{
"name": "league/commonmark",
- "version": "1.6.6",
+ "version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "c4228d11e30d7493c6836d20872f9582d8ba6dcf"
+ "reference": "2df87709f44b0dd733df86aef0830dce9b1f0f13"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c4228d11e30d7493c6836d20872f9582d8ba6dcf",
- "reference": "c4228d11e30d7493c6836d20872f9582d8ba6dcf",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2df87709f44b0dd733df86aef0830dce9b1f0f13",
+ "reference": "2df87709f44b0dd733df86aef0830dce9b1f0f13",
"shasum": "",
"mirrors": [
{
@@ -1832,28 +1917,37 @@
},
"require": {
"ext-mbstring": "*",
- "php": "^7.1 || ^8.0"
- },
- "conflict": {
- "scrutinizer/ocular": "1.7.*"
+ "league/config": "^1.1.1",
+ "php": "^7.4 || ^8.0",
+ "psr/event-dispatcher": "^1.0",
+ "symfony/polyfill-php80": "^1.15"
},
"require-dev": {
- "cebe/markdown": "~1.0",
- "commonmark/commonmark.js": "0.29.2",
- "erusev/parsedown": "~1.0",
+ "cebe/markdown": "^1.0",
+ "commonmark/cmark": "0.30.0",
+ "commonmark/commonmark.js": "0.30.0",
+ "composer/package-versions-deprecated": "^1.8",
+ "erusev/parsedown": "^1.0",
"ext-json": "*",
"github/gfm": "0.29.0",
- "michelf/php-markdown": "~1.4",
- "mikehaertl/php-shellcommand": "^1.4",
- "phpstan/phpstan": "^0.12.90",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2",
- "scrutinizer/ocular": "^1.5",
- "symfony/finder": "^4.2"
+ "michelf/php-markdown": "^1.4",
+ "phpstan/phpstan": "^0.12.88",
+ "phpunit/phpunit": "^9.5.5",
+ "scrutinizer/ocular": "^1.8.1",
+ "symfony/finder": "^5.3",
+ "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0",
+ "unleashedtech/php-coding-standard": "^3.1",
+ "vimeo/psalm": "^4.7.3"
+ },
+ "suggest": {
+ "symfony/yaml": "v2.3+ required if using the Front Matter extension"
},
- "bin": [
- "bin/commonmark"
- ],
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.1-dev"
+ }
+ },
"autoload": {
"psr-4": {
"League\\CommonMark\\": "src"
@@ -1871,7 +1965,7 @@
"role": "Lead Developer"
}
],
- "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)",
+ "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)",
"homepage": "https://commonmark.thephpleague.com",
"keywords": [
"commonmark",
@@ -1885,6 +1979,7 @@
],
"support": {
"docs": "https://commonmark.thephpleague.com/",
+ "forum": "https://github.com/thephpleague/commonmark/discussions",
"issues": "https://github.com/thephpleague/commonmark/issues",
"rss": "https://github.com/thephpleague/commonmark/releases.atom",
"source": "https://github.com/thephpleague/commonmark"
@@ -1915,20 +2010,108 @@
"type": "tidelift"
}
],
- "time": "2021-07-17T17:13:23+00:00"
+ "time": "2021-08-14T14:06:04+00:00"
+ },
+ {
+ "name": "league/config",
+ "version": "v1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/config.git",
+ "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/config/zipball/a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e",
+ "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e",
+ "shasum": "",
+ "mirrors": [
+ {
+ "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+ "preferred": true
+ }
+ ]
+ },
+ "require": {
+ "dflydev/dot-access-data": "^3.0.1",
+ "nette/schema": "^1.2",
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^0.12.90",
+ "phpunit/phpunit": "^9.5.5",
+ "scrutinizer/ocular": "^1.8.1",
+ "unleashedtech/php-coding-standard": "^3.1",
+ "vimeo/psalm": "^4.7.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.2-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "League\\Config\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "https://www.colinodell.com",
+ "role": "Lead Developer"
+ }
+ ],
+ "description": "Define configuration arrays with strict schemas and access values with dot notation",
+ "homepage": "https://config.thephpleague.com",
+ "keywords": [
+ "array",
+ "config",
+ "configuration",
+ "dot",
+ "dot-access",
+ "nested",
+ "schema"
+ ],
+ "support": {
+ "docs": "https://config.thephpleague.com/",
+ "issues": "https://github.com/thephpleague/config/issues",
+ "rss": "https://github.com/thephpleague/config/releases.atom",
+ "source": "https://github.com/thephpleague/config"
+ },
+ "funding": [
+ {
+ "url": "https://www.colinodell.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.paypal.me/colinpodell/10.00",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/colinodell",
+ "type": "github"
+ }
+ ],
+ "time": "2021-08-14T12:15:32+00:00"
},
{
"name": "league/flysystem",
- "version": "1.1.4",
+ "version": "1.1.5",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32"
+ "reference": "18634df356bfd4119fe3d6156bdb990c414c14ea"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32",
- "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/18634df356bfd4119fe3d6156bdb990c414c14ea",
+ "reference": "18634df356bfd4119fe3d6156bdb990c414c14ea",
"shasum": "",
"mirrors": [
{
@@ -2007,7 +2190,7 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/1.1.4"
+ "source": "https://github.com/thephpleague/flysystem/tree/1.1.5"
},
"funding": [
{
@@ -2015,7 +2198,7 @@
"type": "other"
}
],
- "time": "2021-06-23T21:56:05+00:00"
+ "time": "2021-08-17T13:49:42+00:00"
},
{
"name": "league/mime-type-detection",
@@ -2159,16 +2342,16 @@
},
{
"name": "monolog/monolog",
- "version": "2.3.1",
+ "version": "2.3.2",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "9738e495f288eec0b187e310b7cdbbb285777dbe"
+ "reference": "71312564759a7db5b789296369c1a264efc43aad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/9738e495f288eec0b187e310b7cdbbb285777dbe",
- "reference": "9738e495f288eec0b187e310b7cdbbb285777dbe",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/71312564759a7db5b789296369c1a264efc43aad",
+ "reference": "71312564759a7db5b789296369c1a264efc43aad",
"shasum": "",
"mirrors": [
{
@@ -2245,7 +2428,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/2.3.1"
+ "source": "https://github.com/Seldaek/monolog/tree/2.3.2"
},
"funding": [
{
@@ -2257,20 +2440,20 @@
"type": "tidelift"
}
],
- "time": "2021-07-14T11:56:39+00:00"
+ "time": "2021-07-23T07:42:52+00:00"
},
{
"name": "nesbot/carbon",
- "version": "2.50.0",
+ "version": "2.53.1",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "f47f17d17602b2243414a44ad53d9f8b9ada5fdb"
+ "reference": "f4655858a784988f880c1b8c7feabbf02dfdf045"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f47f17d17602b2243414a44ad53d9f8b9ada5fdb",
- "reference": "f47f17d17602b2243414a44ad53d9f8b9ada5fdb",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f4655858a784988f880c1b8c7feabbf02dfdf045",
+ "reference": "f4655858a784988f880c1b8c7feabbf02dfdf045",
"shasum": "",
"mirrors": [
{
@@ -2283,11 +2466,12 @@
"ext-json": "*",
"php": "^7.1.8 || ^8.0",
"symfony/polyfill-mbstring": "^1.0",
+ "symfony/polyfill-php80": "^1.16",
"symfony/translation": "^3.4 || ^4.0 || ^5.0"
},
"require-dev": {
"doctrine/orm": "^2.7",
- "friendsofphp/php-cs-fixer": "^2.14 || ^3.0",
+ "friendsofphp/php-cs-fixer": "^3.0",
"kylekatarnls/multi-tester": "^2.0",
"phpmd/phpmd": "^2.9",
"phpstan/extension-installer": "^1.0",
@@ -2301,8 +2485,8 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.x-dev",
- "dev-3.x": "3.x-dev"
+ "dev-3.x": "3.x-dev",
+ "dev-master": "2.x-dev"
},
"laravel": {
"providers": [
@@ -2356,20 +2540,179 @@
"type": "tidelift"
}
],
- "time": "2021-06-28T22:38:45+00:00"
+ "time": "2021-09-06T09:29:23+00:00"
+ },
+ {
+ "name": "nette/schema",
+ "version": "v1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nette/schema.git",
+ "reference": "f5ed39fc96358f922cedfd1e516f0dadf5d2be0d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nette/schema/zipball/f5ed39fc96358f922cedfd1e516f0dadf5d2be0d",
+ "reference": "f5ed39fc96358f922cedfd1e516f0dadf5d2be0d",
+ "shasum": "",
+ "mirrors": [
+ {
+ "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+ "preferred": true
+ }
+ ]
+ },
+ "require": {
+ "nette/utils": "^3.1.4 || ^4.0",
+ "php": ">=7.1 <8.1"
+ },
+ "require-dev": {
+ "nette/tester": "^2.3 || ^2.4",
+ "phpstan/phpstan-nette": "^0.12",
+ "tracy/tracy": "^2.7"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause",
+ "GPL-2.0-only",
+ "GPL-3.0-only"
+ ],
+ "authors": [
+ {
+ "name": "David Grudl",
+ "homepage": "https://davidgrudl.com"
+ },
+ {
+ "name": "Nette Community",
+ "homepage": "https://nette.org/contributors"
+ }
+ ],
+ "description": "📐 Nette Schema: validating data structures against a given Schema.",
+ "homepage": "https://nette.org",
+ "keywords": [
+ "config",
+ "nette"
+ ],
+ "support": {
+ "issues": "https://github.com/nette/schema/issues",
+ "source": "https://github.com/nette/schema/tree/v1.2.1"
+ },
+ "time": "2021-03-04T17:51:11+00:00"
+ },
+ {
+ "name": "nette/utils",
+ "version": "v3.2.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nette/utils.git",
+ "reference": "5c36cc1ba9bb6abb8a9e425cf054e0c3fd5b9822"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nette/utils/zipball/5c36cc1ba9bb6abb8a9e425cf054e0c3fd5b9822",
+ "reference": "5c36cc1ba9bb6abb8a9e425cf054e0c3fd5b9822",
+ "shasum": "",
+ "mirrors": [
+ {
+ "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+ "preferred": true
+ }
+ ]
+ },
+ "require": {
+ "php": ">=7.2 <8.1"
+ },
+ "conflict": {
+ "nette/di": "<3.0.6"
+ },
+ "require-dev": {
+ "nette/tester": "~2.0",
+ "phpstan/phpstan": "^0.12",
+ "tracy/tracy": "^2.3"
+ },
+ "suggest": {
+ "ext-gd": "to use Image",
+ "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()",
+ "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()",
+ "ext-json": "to use Nette\\Utils\\Json",
+ "ext-mbstring": "to use Strings::lower() etc...",
+ "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()",
+ "ext-xml": "to use Strings::length() etc. when mbstring is not available"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause",
+ "GPL-2.0-only",
+ "GPL-3.0-only"
+ ],
+ "authors": [
+ {
+ "name": "David Grudl",
+ "homepage": "https://davidgrudl.com"
+ },
+ {
+ "name": "Nette Community",
+ "homepage": "https://nette.org/contributors"
+ }
+ ],
+ "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.",
+ "homepage": "https://nette.org",
+ "keywords": [
+ "array",
+ "core",
+ "datetime",
+ "images",
+ "json",
+ "nette",
+ "paginator",
+ "password",
+ "slugify",
+ "string",
+ "unicode",
+ "utf-8",
+ "utility",
+ "validation"
+ ],
+ "support": {
+ "issues": "https://github.com/nette/utils/issues",
+ "source": "https://github.com/nette/utils/tree/v3.2.3"
+ },
+ "time": "2021-08-16T21:05:00+00:00"
},
{
"name": "nikic/php-parser",
- "version": "v4.11.0",
+ "version": "v4.12.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "fe14cf3672a149364fb66dfe11bf6549af899f94"
+ "reference": "6608f01670c3cc5079e18c1dab1104e002579143"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/fe14cf3672a149364fb66dfe11bf6549af899f94",
- "reference": "fe14cf3672a149364fb66dfe11bf6549af899f94",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6608f01670c3cc5079e18c1dab1104e002579143",
+ "reference": "6608f01670c3cc5079e18c1dab1104e002579143",
"shasum": "",
"mirrors": [
{
@@ -2416,9 +2759,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.11.0"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.12.0"
},
- "time": "2021-07-03T13:36:55+00:00"
+ "time": "2021-07-21T10:44:31+00:00"
},
{
"name": "opis/closure",
@@ -2493,16 +2836,16 @@
},
{
"name": "overtrue/socialite",
- "version": "3.2.3",
+ "version": "3.2.4",
"source": {
"type": "git",
"url": "https://github.com/overtrue/socialite.git",
- "reference": "e331d3e2eb7040a53c674590dfa475b3ae141d32"
+ "reference": "7605f4370a92ea4811cc5016d4709ef3d545f51c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/overtrue/socialite/zipball/e331d3e2eb7040a53c674590dfa475b3ae141d32",
- "reference": "e331d3e2eb7040a53c674590dfa475b3ae141d32",
+ "url": "https://api.github.com/repos/overtrue/socialite/zipball/7605f4370a92ea4811cc5016d4709ef3d545f51c",
+ "reference": "7605f4370a92ea4811cc5016d4709ef3d545f51c",
"shasum": "",
"mirrors": [
{
@@ -2552,7 +2895,7 @@
],
"support": {
"issues": "https://github.com/overtrue/socialite/issues",
- "source": "https://github.com/overtrue/socialite/tree/3.2.3"
+ "source": "https://github.com/overtrue/socialite/tree/3.2.4"
},
"funding": [
{
@@ -2560,20 +2903,20 @@
"type": "patreon"
}
],
- "time": "2021-05-27T05:04:00+00:00"
+ "time": "2021-08-31T07:32:54+00:00"
},
{
"name": "overtrue/wechat",
- "version": "5.7.1",
+ "version": "5.7.2",
"source": {
"type": "git",
"url": "https://github.com/w7corp/easywechat.git",
- "reference": "af06e58784aaaeaadc35f984e7e38ef05197bb31"
+ "reference": "d57d2104fe705511374ae3627b0d9b7a761d87b9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/w7corp/easywechat/zipball/af06e58784aaaeaadc35f984e7e38ef05197bb31",
- "reference": "af06e58784aaaeaadc35f984e7e38ef05197bb31",
+ "url": "https://api.github.com/repos/w7corp/easywechat/zipball/d57d2104fe705511374ae3627b0d9b7a761d87b9",
+ "reference": "d57d2104fe705511374ae3627b0d9b7a761d87b9",
"shasum": "",
"mirrors": [
{
@@ -2650,7 +2993,7 @@
],
"support": {
"issues": "https://github.com/w7corp/easywechat/issues",
- "source": "https://github.com/w7corp/easywechat/tree/5.7.1"
+ "source": "https://github.com/w7corp/easywechat/tree/5.7.2"
},
"funding": [
{
@@ -2666,20 +3009,20 @@
"type": "patreon"
}
],
- "time": "2021-07-20T06:15:59+00:00"
+ "time": "2021-09-06T10:39:11+00:00"
},
{
"name": "phpoption/phpoption",
- "version": "1.7.5",
+ "version": "1.8.0",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/php-option.git",
- "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525"
+ "reference": "5455cb38aed4523f99977c4a12ef19da4bfe2a28"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525",
- "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525",
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/5455cb38aed4523f99977c4a12ef19da4bfe2a28",
+ "reference": "5455cb38aed4523f99977c4a12ef19da4bfe2a28",
"shasum": "",
"mirrors": [
{
@@ -2689,16 +3032,16 @@
]
},
"require": {
- "php": "^5.5.9 || ^7.0 || ^8.0"
+ "php": "^7.0 || ^8.0"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4.1",
- "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0"
+ "phpunit/phpunit": "^6.5.14 || ^7.0.20 || ^8.5.19 || ^9.5.8"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.7-dev"
+ "dev-master": "1.8-dev"
}
},
"autoload": {
@@ -2717,7 +3060,7 @@
},
{
"name": "Graham Campbell",
- "email": "graham@alt-three.com"
+ "email": "hello@gjcampbell.co.uk"
}
],
"description": "Option Type for PHP",
@@ -2729,7 +3072,7 @@
],
"support": {
"issues": "https://github.com/schmittjoh/php-option/issues",
- "source": "https://github.com/schmittjoh/php-option/tree/1.7.5"
+ "source": "https://github.com/schmittjoh/php-option/tree/1.8.0"
},
"funding": [
{
@@ -2741,7 +3084,7 @@
"type": "tidelift"
}
],
- "time": "2020-07-20T17:29:33+00:00"
+ "time": "2021-08-28T21:27:29+00:00"
},
{
"name": "pimple/pimple",
@@ -3025,6 +3368,67 @@
},
"time": "2020-06-29T06:28:15+00:00"
},
+ {
+ "name": "psr/http-factory",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/http-factory.git",
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
+ },
+ "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
+ }
+ ]
+ },
+ "require": {
+ "php": ">=7.0.0",
+ "psr/http-message": "^1.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interfaces for PSR-7 HTTP message factories",
+ "keywords": [
+ "factory",
+ "http",
+ "message",
+ "psr",
+ "psr-17",
+ "psr-7",
+ "request",
+ "response"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/http-factory/tree/master"
+ },
+ "time": "2019-04-30T12:38:16+00:00"
+ },
{
"name": "psr/http-message",
"version": "1.0.1",
@@ -3330,16 +3734,16 @@
},
{
"name": "ramsey/collection",
- "version": "1.1.3",
+ "version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/ramsey/collection.git",
- "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1"
+ "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1",
- "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1",
+ "url": "https://api.github.com/repos/ramsey/collection/zipball/eaca1dc1054ddd10cbd83c1461907bee6fb528fa",
+ "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa",
"shasum": "",
"mirrors": [
{
@@ -3349,7 +3753,8 @@
]
},
"require": {
- "php": "^7.2 || ^8"
+ "php": "^7.3 || ^8",
+ "symfony/polyfill-php81": "^1.23"
},
"require-dev": {
"captainhook/captainhook": "^5.3",
@@ -3359,6 +3764,7 @@
"hamcrest/hamcrest-php": "^2",
"jangregor/phpstan-prophecy": "^0.8",
"mockery/mockery": "^1.3",
+ "phpspec/prophecy-phpunit": "^2.0",
"phpstan/extension-installer": "^1",
"phpstan/phpstan": "^0.12.32",
"phpstan/phpstan-mockery": "^0.12.5",
@@ -3386,7 +3792,7 @@
"homepage": "https://benramsey.com"
}
],
- "description": "A PHP 7.2+ library for representing and manipulating collections.",
+ "description": "A PHP library for representing and manipulating collections.",
"keywords": [
"array",
"collection",
@@ -3397,7 +3803,7 @@
],
"support": {
"issues": "https://github.com/ramsey/collection/issues",
- "source": "https://github.com/ramsey/collection/tree/1.1.3"
+ "source": "https://github.com/ramsey/collection/tree/1.2.1"
},
"funding": [
{
@@ -3409,20 +3815,20 @@
"type": "tidelift"
}
],
- "time": "2021-01-21T17:40:04+00:00"
+ "time": "2021-08-06T03:41:06+00:00"
},
{
"name": "ramsey/uuid",
- "version": "4.1.1",
+ "version": "4.2.1",
"source": {
"type": "git",
"url": "https://github.com/ramsey/uuid.git",
- "reference": "cd4032040a750077205918c86049aa0f43d22947"
+ "reference": "fe665a03df4f056aa65af552a96e1976df8c8dae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947",
- "reference": "cd4032040a750077205918c86049aa0f43d22947",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/fe665a03df4f056aa65af552a96e1976df8c8dae",
+ "reference": "fe665a03df4f056aa65af552a96e1976df8c8dae",
"shasum": "",
"mirrors": [
{
@@ -3442,26 +3848,26 @@
"rhumsaa/uuid": "self.version"
},
"require-dev": {
- "codeception/aspect-mock": "^3",
- "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0",
+ "captainhook/captainhook": "^5.10",
+ "captainhook/plugin-composer": "^5.3",
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
"doctrine/annotations": "^1.8",
- "goaop/framework": "^2",
+ "ergebnis/composer-normalize": "^2.15",
"mockery/mockery": "^1.3",
"moontoast/math": "^1.1",
"paragonie/random-lib": "^2",
+ "php-mock/php-mock": "^2.2",
"php-mock/php-mock-mockery": "^1.3",
- "php-mock/php-mock-phpunit": "^2.5",
"php-parallel-lint/php-parallel-lint": "^1.1",
- "phpbench/phpbench": "^0.17.1",
+ "phpbench/phpbench": "^1.0",
"phpstan/extension-installer": "^1.0",
"phpstan/phpstan": "^0.12",
"phpstan/phpstan-mockery": "^0.12",
"phpstan/phpstan-phpunit": "^0.12",
- "phpunit/phpunit": "^8.5",
- "psy/psysh": "^0.10.0",
- "slevomat/coding-standard": "^6.0",
+ "phpunit/phpunit": "^8.5 || ^9",
+ "slevomat/coding-standard": "^7.0",
"squizlabs/php_codesniffer": "^3.5",
- "vimeo/psalm": "3.9.4"
+ "vimeo/psalm": "^4.9"
},
"suggest": {
"ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.",
@@ -3474,7 +3880,10 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.x-dev"
+ "dev-main": "4.x-dev"
+ },
+ "captainhook": {
+ "force-install": true
}
},
"autoload": {
@@ -3490,7 +3899,6 @@
"MIT"
],
"description": "A PHP library for generating and working with universally unique identifiers (UUIDs).",
- "homepage": "https://github.com/ramsey/uuid",
"keywords": [
"guid",
"identifier",
@@ -3498,16 +3906,19 @@
],
"support": {
"issues": "https://github.com/ramsey/uuid/issues",
- "rss": "https://github.com/ramsey/uuid/releases.atom",
- "source": "https://github.com/ramsey/uuid"
+ "source": "https://github.com/ramsey/uuid/tree/4.2.1"
},
"funding": [
{
"url": "https://github.com/ramsey",
"type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid",
+ "type": "tidelift"
}
],
- "time": "2020-08-18T17:17:46+00:00"
+ "time": "2021-08-11T01:06:55+00:00"
},
{
"name": "spatie/eloquent-sortable",
@@ -3798,16 +4209,16 @@
},
{
"name": "symfony/cache",
- "version": "v5.3.3",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "82962a497f090e95e3b357c21bf6f54991c9b1a5"
+ "reference": "864867b13bd67347497ce956f4b253f8fe18b80c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/82962a497f090e95e3b357c21bf6f54991c9b1a5",
- "reference": "82962a497f090e95e3b357c21bf6f54991c9b1a5",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/864867b13bd67347497ce956f4b253f8fe18b80c",
+ "reference": "864867b13bd67347497ce956f4b253f8fe18b80c",
"shasum": "",
"mirrors": [
{
@@ -3819,10 +4230,11 @@
"require": {
"php": ">=7.2.5",
"psr/cache": "^1.0|^2.0",
- "psr/log": "^1.1",
+ "psr/log": "^1.1|^2|^3",
"symfony/cache-contracts": "^1.1.7|^2",
"symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-php80": "^1.15",
+ "symfony/polyfill-php73": "^1.9",
+ "symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.1|^2",
"symfony/var-exporter": "^4.4|^5.0"
},
@@ -3880,7 +4292,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v5.3.3"
+ "source": "https://github.com/symfony/cache/tree/v5.3.7"
},
"funding": [
{
@@ -3896,7 +4308,7 @@
"type": "tidelift"
}
],
- "time": "2021-06-24T08:13:00+00:00"
+ "time": "2021-08-29T15:08:21+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -3985,16 +4397,16 @@
},
{
"name": "symfony/console",
- "version": "v5.3.2",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "649730483885ff2ca99ca0560ef0e5f6b03f2ac1"
+ "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/649730483885ff2ca99ca0560ef0e5f6b03f2ac1",
- "reference": "649730483885ff2ca99ca0560ef0e5f6b03f2ac1",
+ "url": "https://api.github.com/repos/symfony/console/zipball/8b1008344647462ae6ec57559da166c2bfa5e16a",
+ "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a",
"shasum": "",
"mirrors": [
{
@@ -4008,11 +4420,12 @@
"symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-mbstring": "~1.0",
"symfony/polyfill-php73": "^1.8",
- "symfony/polyfill-php80": "^1.15",
+ "symfony/polyfill-php80": "^1.16",
"symfony/service-contracts": "^1.1|^2",
"symfony/string": "^5.1"
},
"conflict": {
+ "psr/log": ">=3",
"symfony/dependency-injection": "<4.4",
"symfony/dotenv": "<5.1",
"symfony/event-dispatcher": "<4.4",
@@ -4020,10 +4433,10 @@
"symfony/process": "<4.4"
},
"provide": {
- "psr/log-implementation": "1.0"
+ "psr/log-implementation": "1.0|2.0"
},
"require-dev": {
- "psr/log": "~1.0",
+ "psr/log": "^1|^2",
"symfony/config": "^4.4|^5.0",
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/event-dispatcher": "^4.4|^5.0",
@@ -4069,7 +4482,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.3.2"
+ "source": "https://github.com/symfony/console/tree/v5.3.7"
},
"funding": [
{
@@ -4085,20 +4498,20 @@
"type": "tidelift"
}
],
- "time": "2021-06-12T09:42:48+00:00"
+ "time": "2021-08-25T20:02:16+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v5.3.0",
+ "version": "v5.3.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "fcd0b29a7a0b1bb5bfbedc6231583d77fea04814"
+ "reference": "7fb120adc7f600a59027775b224c13a33530dd90"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/fcd0b29a7a0b1bb5bfbedc6231583d77fea04814",
- "reference": "fcd0b29a7a0b1bb5bfbedc6231583d77fea04814",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/7fb120adc7f600a59027775b224c13a33530dd90",
+ "reference": "7fb120adc7f600a59027775b224c13a33530dd90",
"shasum": "",
"mirrors": [
{
@@ -4108,7 +4521,8 @@
]
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=7.2.5",
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
"autoload": {
@@ -4140,7 +4554,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v5.3.0"
+ "source": "https://github.com/symfony/css-selector/tree/v5.3.4"
},
"funding": [
{
@@ -4156,7 +4570,7 @@
"type": "tidelift"
}
],
- "time": "2021-05-26T17:40:38+00:00"
+ "time": "2021-07-21T12:38:00+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -4233,16 +4647,16 @@
},
{
"name": "symfony/error-handler",
- "version": "v5.3.3",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "43323e79c80719e8a4674e33484bca98270d223f"
+ "reference": "3bc60d0fba00ae8d1eaa9eb5ab11a2bbdd1fc321"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/43323e79c80719e8a4674e33484bca98270d223f",
- "reference": "43323e79c80719e8a4674e33484bca98270d223f",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/3bc60d0fba00ae8d1eaa9eb5ab11a2bbdd1fc321",
+ "reference": "3bc60d0fba00ae8d1eaa9eb5ab11a2bbdd1fc321",
"shasum": "",
"mirrors": [
{
@@ -4253,8 +4667,7 @@
},
"require": {
"php": ">=7.2.5",
- "psr/log": "^1.0",
- "symfony/polyfill-php80": "^1.15",
+ "psr/log": "^1|^2|^3",
"symfony/var-dumper": "^4.4|^5.0"
},
"require-dev": {
@@ -4288,7 +4701,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v5.3.3"
+ "source": "https://github.com/symfony/error-handler/tree/v5.3.7"
},
"funding": [
{
@@ -4304,20 +4717,20 @@
"type": "tidelift"
}
],
- "time": "2021-06-24T08:13:00+00:00"
+ "time": "2021-08-28T15:07:08+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.3.0",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "67a5f354afa8e2f231081b3fa11a5912f933c3ce"
+ "reference": "ce7b20d69c66a20939d8952b617506a44d102130"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/67a5f354afa8e2f231081b3fa11a5912f933c3ce",
- "reference": "67a5f354afa8e2f231081b3fa11a5912f933c3ce",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ce7b20d69c66a20939d8952b617506a44d102130",
+ "reference": "ce7b20d69c66a20939d8952b617506a44d102130",
"shasum": "",
"mirrors": [
{
@@ -4330,7 +4743,7 @@
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
"symfony/event-dispatcher-contracts": "^2",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"symfony/dependency-injection": "<4.4"
@@ -4340,7 +4753,7 @@
"symfony/event-dispatcher-implementation": "2.0"
},
"require-dev": {
- "psr/log": "~1.0",
+ "psr/log": "^1|^2|^3",
"symfony/config": "^4.4|^5.0",
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/error-handler": "^4.4|^5.0",
@@ -4379,7 +4792,7 @@
"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/v5.3.0"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.7"
},
"funding": [
{
@@ -4395,7 +4808,7 @@
"type": "tidelift"
}
],
- "time": "2021-05-26T17:43:10+00:00"
+ "time": "2021-08-04T21:20:46+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -4484,16 +4897,16 @@
},
{
"name": "symfony/finder",
- "version": "v5.3.0",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6"
+ "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6",
- "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/a10000ada1e600d109a6c7632e9ac42e8bf2fb93",
+ "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93",
"shasum": "",
"mirrors": [
{
@@ -4503,7 +4916,8 @@
]
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=7.2.5",
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
"autoload": {
@@ -4531,7 +4945,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v5.3.0"
+ "source": "https://github.com/symfony/finder/tree/v5.3.7"
},
"funding": [
{
@@ -4547,7 +4961,7 @@
"type": "tidelift"
}
],
- "time": "2021-05-26T12:52:38+00:00"
+ "time": "2021-08-04T21:20:46+00:00"
},
{
"name": "symfony/http-client-contracts",
@@ -4635,16 +5049,16 @@
},
{
"name": "symfony/http-foundation",
- "version": "v5.3.3",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "0e45ab1574caa0460d9190871a8ce47539e40ccf"
+ "reference": "e36c8e5502b4f3f0190c675f1c1f1248a64f04e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0e45ab1574caa0460d9190871a8ce47539e40ccf",
- "reference": "0e45ab1574caa0460d9190871a8ce47539e40ccf",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e36c8e5502b4f3f0190c675f1c1f1248a64f04e5",
+ "reference": "e36c8e5502b4f3f0190c675f1c1f1248a64f04e5",
"shasum": "",
"mirrors": [
{
@@ -4657,7 +5071,7 @@
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"require-dev": {
"predis/predis": "~1.0",
@@ -4694,7 +5108,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.3.3"
+ "source": "https://github.com/symfony/http-foundation/tree/v5.3.7"
},
"funding": [
{
@@ -4710,20 +5124,20 @@
"type": "tidelift"
}
],
- "time": "2021-06-27T09:19:40+00:00"
+ "time": "2021-08-27T11:20:35+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v5.3.3",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8"
+ "reference": "a3a78e37935a527b50376c22ac1cec35b57fe787"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8",
- "reference": "90ad9f4b21ddcb8ebe9faadfcca54929ad23f9f8",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/a3a78e37935a527b50376c22ac1cec35b57fe787",
+ "reference": "a3a78e37935a527b50376c22ac1cec35b57fe787",
"shasum": "",
"mirrors": [
{
@@ -4734,15 +5148,15 @@
},
"require": {
"php": ">=7.2.5",
- "psr/log": "~1.0",
+ "psr/log": "^1|^2",
"symfony/deprecation-contracts": "^2.1",
"symfony/error-handler": "^4.4|^5.0",
"symfony/event-dispatcher": "^5.0",
"symfony/http-client-contracts": "^1.1|^2",
- "symfony/http-foundation": "^5.3",
+ "symfony/http-foundation": "^5.3.7",
"symfony/polyfill-ctype": "^1.8",
"symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"symfony/browser-kit": "<4.4",
@@ -4761,7 +5175,7 @@
"twig/twig": "<2.13"
},
"provide": {
- "psr/log-implementation": "1.0"
+ "psr/log-implementation": "1.0|2.0"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
@@ -4812,7 +5226,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v5.3.3"
+ "source": "https://github.com/symfony/http-kernel/tree/v5.3.7"
},
"funding": [
{
@@ -4828,20 +5242,20 @@
"type": "tidelift"
}
],
- "time": "2021-06-30T08:27:49+00:00"
+ "time": "2021-08-30T12:37:19+00:00"
},
{
"name": "symfony/mime",
- "version": "v5.3.2",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "47dd7912152b82d0d4c8d9040dbc93d6232d472a"
+ "reference": "ae887cb3b044658676129f5e97aeb7e9eb69c2d8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/47dd7912152b82d0d4c8d9040dbc93d6232d472a",
- "reference": "47dd7912152b82d0d4c8d9040dbc93d6232d472a",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/ae887cb3b044658676129f5e97aeb7e9eb69c2d8",
+ "reference": "ae887cb3b044658676129f5e97aeb7e9eb69c2d8",
"shasum": "",
"mirrors": [
{
@@ -4855,7 +5269,7 @@
"symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"egulias/email-validator": "~3.0.0",
@@ -4901,7 +5315,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v5.3.2"
+ "source": "https://github.com/symfony/mime/tree/v5.3.7"
},
"funding": [
{
@@ -4917,7 +5331,7 @@
"type": "tidelift"
}
],
- "time": "2021-06-09T10:58:01+00:00"
+ "time": "2021-08-20T11:40:01+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -5092,16 +5506,16 @@
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.23.0",
+ "version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab"
+ "reference": "16880ba9c5ebe3642d1995ab866db29270b36535"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/24b72c6baa32c746a4d0840147c9715e42bb68ab",
- "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535",
+ "reference": "16880ba9c5ebe3642d1995ab866db29270b36535",
"shasum": "",
"mirrors": [
{
@@ -5159,7 +5573,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1"
},
"funding": [
{
@@ -5175,7 +5589,7 @@
"type": "tidelift"
}
],
- "time": "2021-05-27T09:17:38+00:00"
+ "time": "2021-05-27T12:26:48+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
@@ -5362,16 +5776,16 @@
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.23.0",
+ "version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1"
+ "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2df51500adbaebdc4c38dea4c89a2e131c45c8a1",
- "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6",
+ "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6",
"shasum": "",
"mirrors": [
{
@@ -5428,7 +5842,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1"
},
"funding": [
{
@@ -5444,7 +5858,7 @@
"type": "tidelift"
}
],
- "time": "2021-05-27T09:27:20+00:00"
+ "time": "2021-05-27T12:26:48+00:00"
},
{
"name": "symfony/polyfill-php72",
@@ -5615,16 +6029,16 @@
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.23.0",
+ "version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0"
+ "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/eca0bf41ed421bed1b57c4958bab16aa86b757d0",
- "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be",
+ "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be",
"shasum": "",
"mirrors": [
{
@@ -5684,7 +6098,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1"
},
"funding": [
{
@@ -5700,20 +6114,105 @@
"type": "tidelift"
}
],
- "time": "2021-02-19T12:13:01+00:00"
+ "time": "2021-07-28T13:41:28+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php81",
+ "version": "v1.23.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php81.git",
+ "reference": "e66119f3de95efc359483f810c4c3e6436279436"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436",
+ "reference": "e66119f3de95efc359483f810c4c3e6436279436",
+ "shasum": "",
+ "mirrors": [
+ {
+ "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
+ "preferred": true
+ }
+ ]
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Php81\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ],
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.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": "2021-05-21T13:25:03+00:00"
},
{
"name": "symfony/process",
- "version": "v5.3.2",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "714b47f9196de61a196d86c4bad5f09201b307df"
+ "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/714b47f9196de61a196d86c4bad5f09201b307df",
- "reference": "714b47f9196de61a196d86c4bad5f09201b307df",
+ "url": "https://api.github.com/repos/symfony/process/zipball/38f26c7d6ed535217ea393e05634cb0b244a1967",
+ "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967",
"shasum": "",
"mirrors": [
{
@@ -5724,7 +6223,7 @@
},
"require": {
"php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
"autoload": {
@@ -5752,7 +6251,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v5.3.2"
+ "source": "https://github.com/symfony/process/tree/v5.3.7"
},
"funding": [
{
@@ -5768,20 +6267,20 @@
"type": "tidelift"
}
],
- "time": "2021-06-12T10:15:01+00:00"
+ "time": "2021-08-04T21:20:46+00:00"
},
{
"name": "symfony/psr-http-message-bridge",
- "version": "v2.1.0",
+ "version": "v2.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/psr-http-message-bridge.git",
- "reference": "81db2d4ae86e9f0049828d9343a72b9523884e5d"
+ "reference": "c9012994c4b4fb23e7c57dd86b763a417a04feba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/81db2d4ae86e9f0049828d9343a72b9523884e5d",
- "reference": "81db2d4ae86e9f0049828d9343a72b9523884e5d",
+ "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/c9012994c4b4fb23e7c57dd86b763a417a04feba",
+ "reference": "c9012994c4b4fb23e7c57dd86b763a417a04feba",
"shasum": "",
"mirrors": [
{
@@ -5797,7 +6296,7 @@
},
"require-dev": {
"nyholm/psr7": "^1.1",
- "psr/log": "^1.1",
+ "psr/log": "^1.1 || ^2 || ^3",
"symfony/browser-kit": "^4.4 || ^5.0",
"symfony/config": "^4.4 || ^5.0",
"symfony/event-dispatcher": "^4.4 || ^5.0",
@@ -5846,7 +6345,7 @@
],
"support": {
"issues": "https://github.com/symfony/psr-http-message-bridge/issues",
- "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.0"
+ "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.1"
},
"funding": [
{
@@ -5862,20 +6361,20 @@
"type": "tidelift"
}
],
- "time": "2021-02-17T10:35:25+00:00"
+ "time": "2021-07-27T17:25:39+00:00"
},
{
"name": "symfony/routing",
- "version": "v5.3.0",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "368e81376a8e049c37cb80ae87dbfbf411279199"
+ "reference": "be865017746fe869007d94220ad3f5297951811b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/368e81376a8e049c37cb80ae87dbfbf411279199",
- "reference": "368e81376a8e049c37cb80ae87dbfbf411279199",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/be865017746fe869007d94220ad3f5297951811b",
+ "reference": "be865017746fe869007d94220ad3f5297951811b",
"shasum": "",
"mirrors": [
{
@@ -5887,7 +6386,7 @@
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"doctrine/annotations": "<1.12",
@@ -5897,7 +6396,7 @@
},
"require-dev": {
"doctrine/annotations": "^1.12",
- "psr/log": "~1.0",
+ "psr/log": "^1|^2|^3",
"symfony/config": "^5.3",
"symfony/dependency-injection": "^4.4|^5.0",
"symfony/expression-language": "^4.4|^5.0",
@@ -5942,7 +6441,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v5.3.0"
+ "source": "https://github.com/symfony/routing/tree/v5.3.7"
},
"funding": [
{
@@ -5958,7 +6457,7 @@
"type": "tidelift"
}
],
- "time": "2021-05-26T17:43:10+00:00"
+ "time": "2021-08-04T21:42:42+00:00"
},
{
"name": "symfony/service-contracts",
@@ -6047,16 +6546,16 @@
},
{
"name": "symfony/string",
- "version": "v5.3.3",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1"
+ "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1",
- "reference": "bd53358e3eccec6a670b5f33ab680d8dbe1d4ae1",
+ "url": "https://api.github.com/repos/symfony/string/zipball/8d224396e28d30f81969f083a58763b8b9ceb0a5",
+ "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5",
"shasum": "",
"mirrors": [
{
@@ -6116,7 +6615,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.3.3"
+ "source": "https://github.com/symfony/string/tree/v5.3.7"
},
"funding": [
{
@@ -6132,20 +6631,20 @@
"type": "tidelift"
}
],
- "time": "2021-06-27T11:44:38+00:00"
+ "time": "2021-08-26T08:00:08+00:00"
},
{
"name": "symfony/translation",
- "version": "v5.3.3",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "380b8c9e944d0e364b25f28e8e555241eb49c01c"
+ "reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/380b8c9e944d0e364b25f28e8e555241eb49c01c",
- "reference": "380b8c9e944d0e364b25f28e8e555241eb49c01c",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6",
+ "reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6",
"shasum": "",
"mirrors": [
{
@@ -6158,7 +6657,7 @@
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.15",
+ "symfony/polyfill-php80": "^1.16",
"symfony/translation-contracts": "^2.3"
},
"conflict": {
@@ -6172,7 +6671,7 @@
"symfony/translation-implementation": "2.3"
},
"require-dev": {
- "psr/log": "~1.0",
+ "psr/log": "^1|^2|^3",
"symfony/config": "^4.4|^5.0",
"symfony/console": "^4.4|^5.0",
"symfony/dependency-injection": "^5.0",
@@ -6217,7 +6716,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v5.3.3"
+ "source": "https://github.com/symfony/translation/tree/v5.3.7"
},
"funding": [
{
@@ -6233,7 +6732,7 @@
"type": "tidelift"
}
],
- "time": "2021-06-27T12:22:47+00:00"
+ "time": "2021-08-26T08:22:53+00:00"
},
{
"name": "symfony/translation-contracts",
@@ -6321,16 +6820,16 @@
},
{
"name": "symfony/var-dumper",
- "version": "v5.3.3",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "46aa709affb9ad3355bd7a810f9662d71025c384"
+ "reference": "3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/46aa709affb9ad3355bd7a810f9662d71025c384",
- "reference": "46aa709affb9ad3355bd7a810f9662d71025c384",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f",
+ "reference": "3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f",
"shasum": "",
"mirrors": [
{
@@ -6342,7 +6841,7 @@
"require": {
"php": ">=7.2.5",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"conflict": {
"phpunit/phpunit": "<5.4.3",
@@ -6395,7 +6894,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v5.3.3"
+ "source": "https://github.com/symfony/var-dumper/tree/v5.3.7"
},
"funding": [
{
@@ -6411,20 +6910,20 @@
"type": "tidelift"
}
],
- "time": "2021-06-24T08:13:00+00:00"
+ "time": "2021-08-04T23:19:25+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v5.3.3",
+ "version": "v5.3.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "903c2c0babd6267de5bcb2995e8fc1efb5f01f1f"
+ "reference": "2ded877ab0574d8b646f4eb3f716f8ed7ee7f392"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/903c2c0babd6267de5bcb2995e8fc1efb5f01f1f",
- "reference": "903c2c0babd6267de5bcb2995e8fc1efb5f01f1f",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/2ded877ab0574d8b646f4eb3f716f8ed7ee7f392",
+ "reference": "2ded877ab0574d8b646f4eb3f716f8ed7ee7f392",
"shasum": "",
"mirrors": [
{
@@ -6435,7 +6934,7 @@
},
"require": {
"php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.15"
+ "symfony/polyfill-php80": "^1.16"
},
"require-dev": {
"symfony/var-dumper": "^4.4.9|^5.0.9"
@@ -6474,7 +6973,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v5.3.3"
+ "source": "https://github.com/symfony/var-exporter/tree/v5.3.7"
},
"funding": [
{
@@ -6490,20 +6989,20 @@
"type": "tidelift"
}
],
- "time": "2021-06-27T09:16:08+00:00"
+ "time": "2021-08-04T22:42:42+00:00"
},
{
"name": "tencentcloud/tencentcloud-sdk-php",
- "version": "3.0.467",
+ "version": "3.0.476",
"source": {
"type": "git",
"url": "https://github.com/TencentCloud/tencentcloud-sdk-php.git",
- "reference": "11f0a41777f97cdc4226a9d1b0dea78eead42a24"
+ "reference": "b79f44608e8080b8c09ea3a6c3e8d532c1971d35"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TencentCloud/tencentcloud-sdk-php/zipball/11f0a41777f97cdc4226a9d1b0dea78eead42a24",
- "reference": "11f0a41777f97cdc4226a9d1b0dea78eead42a24",
+ "url": "https://api.github.com/repos/TencentCloud/tencentcloud-sdk-php/zipball/b79f44608e8080b8c09ea3a6c3e8d532c1971d35",
+ "reference": "b79f44608e8080b8c09ea3a6c3e8d532c1971d35",
"shasum": "",
"mirrors": [
{
@@ -6514,7 +7013,6 @@
},
"require": {
"guzzlehttp/guzzle": "^6.3 || ^7.0",
- "guzzlehttp/psr7": "^1.8",
"php": ">=5.6.0"
},
"type": "library",
@@ -6542,9 +7040,9 @@
"homepage": "https://github.com/TencentCloud/tencentcloud-sdk-php",
"support": {
"issues": "https://github.com/TencentCloud/tencentcloud-sdk-php/issues",
- "source": "https://github.com/TencentCloud/tencentcloud-sdk-php/tree/3.0.467"
+ "source": "https://github.com/TencentCloud/tencentcloud-sdk-php/tree/3.0.476"
},
- "time": "2021-08-30T01:17:41+00:00"
+ "time": "2021-09-10T01:07:38+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
@@ -6985,16 +7483,16 @@
},
{
"name": "facade/ignition",
- "version": "2.11.0",
+ "version": "2.12.1",
"source": {
"type": "git",
"url": "https://github.com/facade/ignition.git",
- "reference": "dc6818335f50ccf0b90284784718ea9a82604286"
+ "reference": "567b0a4ab04367603e61729b0ca133fb7b4819db"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/facade/ignition/zipball/dc6818335f50ccf0b90284784718ea9a82604286",
- "reference": "dc6818335f50ccf0b90284784718ea9a82604286",
+ "url": "https://api.github.com/repos/facade/ignition/zipball/567b0a4ab04367603e61729b0ca133fb7b4819db",
+ "reference": "567b0a4ab04367603e61729b0ca133fb7b4819db",
"shasum": "",
"mirrors": [
{
@@ -7063,7 +7561,7 @@
"issues": "https://github.com/facade/ignition/issues",
"source": "https://github.com/facade/ignition"
},
- "time": "2021-07-12T15:55:51+00:00"
+ "time": "2021-09-10T07:19:07+00:00"
},
{
"name": "facade/ignition-contracts",
@@ -7126,16 +7624,16 @@
},
{
"name": "fakerphp/faker",
- "version": "v1.15.0",
+ "version": "v1.16.0",
"source": {
"type": "git",
"url": "https://github.com/FakerPHP/Faker.git",
- "reference": "89c6201c74db25fa759ff16e78a4d8f32547770e"
+ "reference": "271d384d216e5e5c468a6b28feedf95d49f83b35"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/89c6201c74db25fa759ff16e78a4d8f32547770e",
- "reference": "89c6201c74db25fa759ff16e78a4d8f32547770e",
+ "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/271d384d216e5e5c468a6b28feedf95d49f83b35",
+ "reference": "271d384d216e5e5c468a6b28feedf95d49f83b35",
"shasum": "",
"mirrors": [
{
@@ -7146,7 +7644,7 @@
},
"require": {
"php": "^7.1 || ^8.0",
- "psr/container": "^1.0",
+ "psr/container": "^1.0 || ^2.0",
"symfony/deprecation-contracts": "^2.2"
},
"conflict": {
@@ -7166,7 +7664,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "v1.15-dev"
+ "dev-main": "v1.16-dev"
}
},
"autoload": {
@@ -7191,22 +7689,22 @@
],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
- "source": "https://github.com/FakerPHP/Faker/tree/v1.15.0"
+ "source": "https://github.com/FakerPHP/Faker/tree/v1.16.0"
},
- "time": "2021-07-06T20:39:40+00:00"
+ "time": "2021-09-06T14:53:37+00:00"
},
{
"name": "filp/whoops",
- "version": "2.14.0",
+ "version": "2.14.1",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
- "reference": "fdf92f03e150ed84d5967a833ae93abffac0315b"
+ "reference": "15ead64e9828f0fc90932114429c4f7923570cb1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/fdf92f03e150ed84d5967a833ae93abffac0315b",
- "reference": "fdf92f03e150ed84d5967a833ae93abffac0315b",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/15ead64e9828f0fc90932114429c4f7923570cb1",
+ "reference": "15ead64e9828f0fc90932114429c4f7923570cb1",
"shasum": "",
"mirrors": [
{
@@ -7262,7 +7760,7 @@
],
"support": {
"issues": "https://github.com/filp/whoops/issues",
- "source": "https://github.com/filp/whoops/tree/2.14.0"
+ "source": "https://github.com/filp/whoops/tree/2.14.1"
},
"funding": [
{
@@ -7270,20 +7768,20 @@
"type": "github"
}
],
- "time": "2021-07-13T12:00:00+00:00"
+ "time": "2021-08-29T12:00:00+00:00"
},
{
"name": "laravel/sail",
- "version": "v1.8.6",
+ "version": "v1.10.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/sail.git",
- "reference": "51ecfe0f048f8f8e6c5617e02a1f67ca22817c98"
+ "reference": "267fafeaf0e0311952316ae0f3c765abc7516469"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/sail/zipball/51ecfe0f048f8f8e6c5617e02a1f67ca22817c98",
- "reference": "51ecfe0f048f8f8e6c5617e02a1f67ca22817c98",
+ "url": "https://api.github.com/repos/laravel/sail/zipball/267fafeaf0e0311952316ae0f3c765abc7516469",
+ "reference": "267fafeaf0e0311952316ae0f3c765abc7516469",
"shasum": "",
"mirrors": [
{
@@ -7336,7 +7834,7 @@
"issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail"
},
- "time": "2021-07-15T07:35:41+00:00"
+ "time": "2021-08-23T13:43:27+00:00"
},
{
"name": "myclabs/deep-copy",
@@ -7404,16 +7902,16 @@
},
{
"name": "nunomaduro/collision",
- "version": "v5.5.0",
+ "version": "v5.9.0",
"source": {
"type": "git",
"url": "https://github.com/nunomaduro/collision.git",
- "reference": "b5cb36122f1c142c3c3ee20a0ae778439ef0244b"
+ "reference": "63456f5c3e8c4bc52bd573e5c85674d64d84fd43"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/collision/zipball/b5cb36122f1c142c3c3ee20a0ae778439ef0244b",
- "reference": "b5cb36122f1c142c3c3ee20a0ae778439ef0244b",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/63456f5c3e8c4bc52bd573e5c85674d64d84fd43",
+ "reference": "63456f5c3e8c4bc52bd573e5c85674d64d84fd43",
"shasum": "",
"mirrors": [
{
@@ -7431,12 +7929,12 @@
"require-dev": {
"brianium/paratest": "^6.1",
"fideloper/proxy": "^4.4.1",
- "friendsofphp/php-cs-fixer": "^2.17.3",
+ "friendsofphp/php-cs-fixer": "^3.0",
"fruitcake/laravel-cors": "^2.0.3",
- "laravel/framework": "^9.0",
+ "laravel/framework": "^8.0 || ^9.0",
"nunomaduro/larastan": "^0.6.2",
"nunomaduro/mock-final-classes": "^1.0",
- "orchestra/testbench": "^7.0",
+ "orchestra/testbench": "^6.0 || ^7.0",
"phpstan/phpstan": "^0.12.64",
"phpunit/phpunit": "^9.5.0"
},
@@ -7494,20 +7992,20 @@
"type": "patreon"
}
],
- "time": "2021-06-22T20:47:22+00:00"
+ "time": "2021-08-26T15:32:09+00:00"
},
{
"name": "phar-io/manifest",
- "version": "2.0.1",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
- "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133"
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
- "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
"shasum": "",
"mirrors": [
{
@@ -7558,9 +8056,9 @@
"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/master"
+ "source": "https://github.com/phar-io/manifest/tree/2.0.3"
},
- "time": "2020-06-27T14:33:11+00:00"
+ "time": "2021-07-20T11:28:43+00:00"
},
{
"name": "phar-io/version",
@@ -7797,16 +8295,16 @@
},
{
"name": "phpspec/prophecy",
- "version": "1.13.0",
+ "version": "1.14.0",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
- "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea"
+ "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea",
- "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
+ "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e",
"shasum": "",
"mirrors": [
{
@@ -7817,19 +8315,19 @@
},
"require": {
"doctrine/instantiator": "^1.2",
- "php": "^7.2 || ~8.0, <8.1",
+ "php": "^7.2 || ~8.0, <8.2",
"phpdocumentor/reflection-docblock": "^5.2",
"sebastian/comparator": "^3.0 || ^4.0",
"sebastian/recursion-context": "^3.0 || ^4.0"
},
"require-dev": {
- "phpspec/phpspec": "^6.0",
+ "phpspec/phpspec": "^6.0 || ^7.0",
"phpunit/phpunit": "^8.0 || ^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.11.x-dev"
+ "dev-master": "1.x-dev"
}
},
"autoload": {
@@ -7864,9 +8362,9 @@
],
"support": {
"issues": "https://github.com/phpspec/prophecy/issues",
- "source": "https://github.com/phpspec/prophecy/tree/1.13.0"
+ "source": "https://github.com/phpspec/prophecy/tree/1.14.0"
},
- "time": "2021-03-17T13:42:18+00:00"
+ "time": "2021-09-10T09:02:12+00:00"
},
{
"name": "phpunit/php-code-coverage",
@@ -8218,16 +8716,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.5.7",
+ "version": "9.5.9",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "d0dc8b6999c937616df4fb046792004b33fd31c5"
+ "reference": "ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d0dc8b6999c937616df4fb046792004b33fd31c5",
- "reference": "d0dc8b6999c937616df4fb046792004b33fd31c5",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b",
+ "reference": "ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b",
"shasum": "",
"mirrors": [
{
@@ -8245,7 +8743,7 @@
"ext-xml": "*",
"ext-xmlwriter": "*",
"myclabs/deep-copy": "^1.10.1",
- "phar-io/manifest": "^2.0.1",
+ "phar-io/manifest": "^2.0.3",
"phar-io/version": "^3.0.2",
"php": ">=7.3",
"phpspec/prophecy": "^1.12.1",
@@ -8311,7 +8809,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.7"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.9"
},
"funding": [
{
@@ -8323,7 +8821,7 @@
"type": "github"
}
],
- "time": "2021-07-19T06:14:47+00:00"
+ "time": "2021-08-31T06:47:40+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -9262,6 +9760,7 @@
"type": "github"
}
],
+ "abandoned": true,
"time": "2020-09-28T06:45:17+00:00"
},
{
@@ -9387,16 +9886,16 @@
},
{
"name": "theseer/tokenizer",
- "version": "1.2.0",
+ "version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "75a63c33a8577608444246075ea0af0d052e452a"
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a",
- "reference": "75a63c33a8577608444246075ea0af0d052e452a",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
"shasum": "",
"mirrors": [
{
@@ -9431,7 +9930,7 @@
"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/master"
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
},
"funding": [
{
@@ -9439,7 +9938,7 @@
"type": "github"
}
],
- "time": "2020-07-12T23:59:07+00:00"
+ "time": "2021-07-28T10:34:58+00:00"
}
],
"aliases": [],
diff --git a/resources/lang/zh_CN/agent.php b/resources/lang/zh_CN/agent.php
index d48df6f..d2ded3c 100644
--- a/resources/lang/zh_CN/agent.php
+++ b/resources/lang/zh_CN/agent.php
@@ -16,10 +16,13 @@ return [
'status' => '状态',
'type' => '代理商类型',
'company_name' => '公司名称',
+ 'credit_codes' => '统一社会信用代码',
'logo' => 'LOGO',
'address' => '公司地址',
'license_pic' => '营业执照',
'director' => '负责人',
+ 'legal_persona_name' => '法人姓名',
+ 'legal_persona_wechat' => '法人微信号',
'contact_phone' => '联系电话',
'rate' => '抽成比例',
'agentInfo' => trans('agent-info.fields'),