From a06bfc8012e25ee5fe3ec810bff3304c9d091e56 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 17:46:30 +0800 Subject: [PATCH 01/28] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=9F=9F=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Extensions/Grid/MiniProgramUpload.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/Admin/Extensions/Grid/MiniProgramUpload.php b/app/Admin/Extensions/Grid/MiniProgramUpload.php index 20cf969..5252bc5 100644 --- a/app/Admin/Extensions/Grid/MiniProgramUpload.php +++ b/app/Admin/Extensions/Grid/MiniProgramUpload.php @@ -70,10 +70,19 @@ class MiniProgramUpload extends RowAction } $miniProgram = $openPlatform->miniProgram($agent->appid, $refreshToken); - //设置业务域名 + //设置域名 /** @var \EasyWeChat\OpenPlatform\Authorizer\MiniProgram\Domain\Client $domain */ $domain = $miniProgram['domain']; - $res = $domain->setWebviewDomain([env('APP_URL')]); + + $host = env('APP_URL'); + $param = [ + "action" => "add", + "requestdomain" => [$host], + "uploaddomain" => [$host], + "downloaddomain" => [$host], + ]; + $domain->modify($param); //服务器域名,服务器域名多次设置仅第一次成功,这里不校验返回结果正确性 + $res = $domain->setWebviewDomain([$host]); //业务域名 if (!isset($res['errcode'], $res['errmsg']) || $res['errcode'] != 0 || $res['errmsg'] != 'ok') { throw new \Exception('设置业务域名失败!'); } From 23dfa2f4cc2f18f24b88b270858cae2d064831f8 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 17:49:21 +0800 Subject: [PATCH 02/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AgentController.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php index 87f5e32..6786c6f 100644 --- a/app/Admin/Controllers/AgentController.php +++ b/app/Admin/Controllers/AgentController.php @@ -9,6 +9,7 @@ use App\Admin\Extensions\Grid\MiniProgramUpload; use App\Admin\Repositories\Agent; use App\Common\AgentType; use App\Common\UserStatus; +use App\Models\MiniProgramTemplate; use App\Models\Supplier; use Dcat\Admin\Form; use Dcat\Admin\Grid; @@ -47,6 +48,7 @@ class AgentController extends AdminController $grid->column('rate')->editable()->help('分成百分比,如10%,则输入10'); $grid->column('created_at'); + $last_template_id = MiniProgramTemplate::max('template_id'); $grid->column('status', '状态') ->style('min-width:7em;') ->help('新用户入驻时,请先注册小程序。待企业法人认证通过之后,再上传小程序即可') @@ -65,13 +67,13 @@ class AgentController extends AdminController }) ->if(fn() => $this->status == UserStatus::NORMAL) ->display('') - ->then(function ($column) { + ->then(function ($column) use ($last_template_id) { if (empty($this->appid)) { //注册小程序 $column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' '); $column->append((new MiniProgramReg(null, 2))->setKey($this->id)); - } else if (empty($this->miniUpload)) { + } else if (empty($this->miniUpload) || $this->miniUpload->template_id != $last_template_id) { $column->append((new MiniProgramUpload(null, 1))->setKey($this->id)); - } else if ($this->miniUpload->is_success == 0) { + } else if ($this->miniUpload->is_success == 0 && $this->miniUpload->template_id == $last_template_id) { $column->append("已发布(模板:{$this->miniUpload->template_id})"); } else { $column->append((new MiniProgramAuditStatus(null, 1))->setKey($this->id)); From ddd6a1bdc4b797d7d7cf1d95f5f8a50659da3922 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 17:51:17 +0800 Subject: [PATCH 03/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9confirm=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Extensions/Grid/MiniProgramUpload.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Admin/Extensions/Grid/MiniProgramUpload.php b/app/Admin/Extensions/Grid/MiniProgramUpload.php index 5252bc5..6006147 100644 --- a/app/Admin/Extensions/Grid/MiniProgramUpload.php +++ b/app/Admin/Extensions/Grid/MiniProgramUpload.php @@ -142,8 +142,9 @@ class MiniProgramUpload extends RowAction public function confirm() { + $last_template_id = MiniProgramTemplate::max('template_id'); if ($this->action == 1) { - return ["确定要为此代理商上传小程序吗?", '']; + return ["确定要为此代理商上传模板ID为{$last_template_id}的小程序吗?", '']; } else { return ['上传确认', '确定要将此小程序模板上传给所有已审核的代理商吗?']; } From d1c4c696a1bbf62c07b8756a5b22c48fb2c43982 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 17:52:21 +0800 Subject: [PATCH 04/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9confirm=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Extensions/Grid/MiniProgramUpload.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Admin/Extensions/Grid/MiniProgramUpload.php b/app/Admin/Extensions/Grid/MiniProgramUpload.php index 6006147..53ccb19 100644 --- a/app/Admin/Extensions/Grid/MiniProgramUpload.php +++ b/app/Admin/Extensions/Grid/MiniProgramUpload.php @@ -144,7 +144,7 @@ class MiniProgramUpload extends RowAction { $last_template_id = MiniProgramTemplate::max('template_id'); if ($this->action == 1) { - return ["确定要为此代理商上传模板ID为{$last_template_id}的小程序吗?", '']; + return ["确定要上传模板ID为{$last_template_id}的小程序吗?", '']; } else { return ['上传确认', '确定要将此小程序模板上传给所有已审核的代理商吗?']; } From 35ede3d4099d4f860e12ed85040eb6ad711a929d Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 18:00:54 +0800 Subject: [PATCH 05/28] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=9F=9F=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/TestController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Http/Controllers/Api/TestController.php b/app/Http/Controllers/Api/TestController.php index b59f1dc..340fa67 100644 --- a/app/Http/Controllers/Api/TestController.php +++ b/app/Http/Controllers/Api/TestController.php @@ -37,6 +37,7 @@ class TestController $param = [ "action" => "add", "requestdomain" => [$host], + "wsrequestdomain" => [str_replace('http', 'ws', $host)], "uploaddomain" => [$host], "downloaddomain" => [$host], ]; From 9ddf3069442a11ef1ce36aa1ef4df4b7365f12d8 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 18:04:21 +0800 Subject: [PATCH 06/28] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=9F=9F=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Extensions/Grid/MiniProgramUpload.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Admin/Extensions/Grid/MiniProgramUpload.php b/app/Admin/Extensions/Grid/MiniProgramUpload.php index 53ccb19..341363d 100644 --- a/app/Admin/Extensions/Grid/MiniProgramUpload.php +++ b/app/Admin/Extensions/Grid/MiniProgramUpload.php @@ -78,6 +78,7 @@ class MiniProgramUpload extends RowAction $param = [ "action" => "add", "requestdomain" => [$host], + "wsrequestdomain" => [str_replace('http', 'ws', $host)], "uploaddomain" => [$host], "downloaddomain" => [$host], ]; From 89563043d5c734b6123837ab293e09e19c368603 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 18:26:29 +0800 Subject: [PATCH 07/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AgentController.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php index 6786c6f..a81e583 100644 --- a/app/Admin/Controllers/AgentController.php +++ b/app/Admin/Controllers/AgentController.php @@ -68,15 +68,16 @@ class AgentController extends AdminController ->if(fn() => $this->status == UserStatus::NORMAL) ->display('') ->then(function ($column) use ($last_template_id) { + $is_success = $this->miniUpload->is_success; if (empty($this->appid)) { //注册小程序 $column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' '); $column->append((new MiniProgramReg(null, 2))->setKey($this->id)); - } else if (empty($this->miniUpload) || $this->miniUpload->template_id != $last_template_id) { - $column->append((new MiniProgramUpload(null, 1))->setKey($this->id)); - } else if ($this->miniUpload->is_success == 0 && $this->miniUpload->template_id == $last_template_id) { + } else if ($is_success == 0 && $this->miniUpload->template_id == $last_template_id) { $column->append("已发布(模板:{$this->miniUpload->template_id})"); - } else { + } else if (in_array($is_success, [-1, 2, 4])) { //如果状态是-1未检查过,或2审核中,或4审核延后,则显示审核状态按钮 $column->append((new MiniProgramAuditStatus(null, 1))->setKey($this->id)); + } else { + $column->append((new MiniProgramUpload(null, 1))->setKey($this->id)); } }); From fdda213a181747ac071fd575563228ed5790fbd7 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 18:27:36 +0800 Subject: [PATCH 08/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AgentController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php index a81e583..1aca90e 100644 --- a/app/Admin/Controllers/AgentController.php +++ b/app/Admin/Controllers/AgentController.php @@ -68,7 +68,7 @@ class AgentController extends AdminController ->if(fn() => $this->status == UserStatus::NORMAL) ->display('') ->then(function ($column) use ($last_template_id) { - $is_success = $this->miniUpload->is_success; + $is_success = $this->miniUpload->is_success ?? null; if (empty($this->appid)) { //注册小程序 $column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' '); $column->append((new MiniProgramReg(null, 2))->setKey($this->id)); From b673bbd4fa9e9ade7a44b9bbfcdeebe7271e5169 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 18:38:20 +0800 Subject: [PATCH 09/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AgentController.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php index 1aca90e..7fdee27 100644 --- a/app/Admin/Controllers/AgentController.php +++ b/app/Admin/Controllers/AgentController.php @@ -68,13 +68,12 @@ class AgentController extends AdminController ->if(fn() => $this->status == UserStatus::NORMAL) ->display('') ->then(function ($column) use ($last_template_id) { - $is_success = $this->miniUpload->is_success ?? null; if (empty($this->appid)) { //注册小程序 $column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' '); $column->append((new MiniProgramReg(null, 2))->setKey($this->id)); - } else if ($is_success == 0 && $this->miniUpload->template_id == $last_template_id) { + } else if ($this->miniUpload->is_success == 0 && $this->miniUpload->template_id == $last_template_id) { $column->append("已发布(模板:{$this->miniUpload->template_id})"); - } else if (in_array($is_success, [-1, 2, 4])) { //如果状态是-1未检查过,或2审核中,或4审核延后,则显示审核状态按钮 + } else if (in_array($this->miniUpload->is_success, [-1, 2, 4])) { //如果状态是-1未检查过,或2审核中,或4审核延后,则显示审核状态按钮 $column->append((new MiniProgramAuditStatus(null, 1))->setKey($this->id)); } else { $column->append((new MiniProgramUpload(null, 1))->setKey($this->id)); From eec6ca9d284b787178f3d87a3744ed402e32e451 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 18:39:33 +0800 Subject: [PATCH 10/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AgentController.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php index 7fdee27..5a1fa0f 100644 --- a/app/Admin/Controllers/AgentController.php +++ b/app/Admin/Controllers/AgentController.php @@ -68,12 +68,13 @@ class AgentController extends AdminController ->if(fn() => $this->status == UserStatus::NORMAL) ->display('') ->then(function ($column) use ($last_template_id) { + $is_success = !empty($this->miniUpload->is_success) ? $this->miniUpload->is_success : null; if (empty($this->appid)) { //注册小程序 $column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' '); $column->append((new MiniProgramReg(null, 2))->setKey($this->id)); - } else if ($this->miniUpload->is_success == 0 && $this->miniUpload->template_id == $last_template_id) { + } else if ($is_success == 0 && $this->miniUpload->template_id == $last_template_id) { $column->append("已发布(模板:{$this->miniUpload->template_id})"); - } else if (in_array($this->miniUpload->is_success, [-1, 2, 4])) { //如果状态是-1未检查过,或2审核中,或4审核延后,则显示审核状态按钮 + } else if (in_array($is_success, [-1, 2, 4])) { //如果状态是-1未检查过,或2审核中,或4审核延后,则显示审核状态按钮 $column->append((new MiniProgramAuditStatus(null, 1))->setKey($this->id)); } else { $column->append((new MiniProgramUpload(null, 1))->setKey($this->id)); From aea1ff06c6d9c8fa24e848852b2b3abbcd7fc54e Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 18:43:43 +0800 Subject: [PATCH 11/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AgentController.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php index 5a1fa0f..df3f4ae 100644 --- a/app/Admin/Controllers/AgentController.php +++ b/app/Admin/Controllers/AgentController.php @@ -68,12 +68,13 @@ class AgentController extends AdminController ->if(fn() => $this->status == UserStatus::NORMAL) ->display('') ->then(function ($column) use ($last_template_id) { - $is_success = !empty($this->miniUpload->is_success) ? $this->miniUpload->is_success : null; + $is_success = $this->miniUpload->is_success ?? null; + $template_id = $this->miniUpload->template_id ?? null; if (empty($this->appid)) { //注册小程序 $column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' '); $column->append((new MiniProgramReg(null, 2))->setKey($this->id)); - } else if ($is_success == 0 && $this->miniUpload->template_id == $last_template_id) { - $column->append("已发布(模板:{$this->miniUpload->template_id})"); + } else if ($is_success === 0 && $template_id === $last_template_id) { + $column->append("已发布(模板:{$template_id})"); } else if (in_array($is_success, [-1, 2, 4])) { //如果状态是-1未检查过,或2审核中,或4审核延后,则显示审核状态按钮 $column->append((new MiniProgramAuditStatus(null, 1))->setKey($this->id)); } else { From e893cb6cb1fc3a4a449a6a3ea06dfd3a81731a15 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 18:47:31 +0800 Subject: [PATCH 12/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AgentController.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php index df3f4ae..0324ac1 100644 --- a/app/Admin/Controllers/AgentController.php +++ b/app/Admin/Controllers/AgentController.php @@ -70,6 +70,7 @@ class AgentController extends AdminController ->then(function ($column) use ($last_template_id) { $is_success = $this->miniUpload->is_success ?? null; $template_id = $this->miniUpload->template_id ?? null; + if (empty($this->appid)) { //注册小程序 $column->append((new MiniProgramReg(null, 1))->setKey($this->id))->append(' '); $column->append((new MiniProgramReg(null, 2))->setKey($this->id)); @@ -79,6 +80,10 @@ class AgentController extends AdminController $column->append((new MiniProgramAuditStatus(null, 1))->setKey($this->id)); } else { $column->append((new MiniProgramUpload(null, 1))->setKey($this->id)); + $statusArr = [0 => '审核成功', 1 => '审核被拒绝', 2 => '审核中', 3 => '已撤回', 4 => '审核延后']; + if (isset($is_success, $statusArr[$is_success])) { + $column->append('(' . $statusArr[$is_success] . ')'); + } } }); From f576ba1038451efd398c188ecc3f443db9d6d557 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 18:48:55 +0800 Subject: [PATCH 13/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AgentController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Admin/Controllers/AgentController.php b/app/Admin/Controllers/AgentController.php index 0324ac1..cee2dbc 100644 --- a/app/Admin/Controllers/AgentController.php +++ b/app/Admin/Controllers/AgentController.php @@ -82,7 +82,7 @@ class AgentController extends AdminController $column->append((new MiniProgramUpload(null, 1))->setKey($this->id)); $statusArr = [0 => '审核成功', 1 => '审核被拒绝', 2 => '审核中', 3 => '已撤回', 4 => '审核延后']; if (isset($is_success, $statusArr[$is_success])) { - $column->append('(' . $statusArr[$is_success] . ')'); + $column->append('
(' . $statusArr[$is_success] . ')'); } } }); From b73921d15d6d80f1cb24230d00037e0f90902b6d Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 19:22:16 +0800 Subject: [PATCH 14/28] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/LoginController.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/app/Http/Controllers/Api/LoginController.php b/app/Http/Controllers/Api/LoginController.php index e9a80a2..0317571 100644 --- a/app/Http/Controllers/Api/LoginController.php +++ b/app/Http/Controllers/Api/LoginController.php @@ -53,11 +53,7 @@ class LoginController extends Controller ]; $app = Factory::openPlatform($config); - $refreshToken = $app->getAuthorizer($appid)['authorization_info']['authorizer_refresh_token'] ?? null; - if (!$refreshToken) { - return $this->error('获取refresh_token失败'); - } - $app = $app->miniProgram($appid, $refreshToken); + $app = $app->miniProgram($appid); } try { From 38f67e8816102a97a553147828b0b6ded81f7c57 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 19:24:51 +0800 Subject: [PATCH 15/28] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/LoginController.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/LoginController.php b/app/Http/Controllers/Api/LoginController.php index 0317571..e9a80a2 100644 --- a/app/Http/Controllers/Api/LoginController.php +++ b/app/Http/Controllers/Api/LoginController.php @@ -53,7 +53,11 @@ class LoginController extends Controller ]; $app = Factory::openPlatform($config); - $app = $app->miniProgram($appid); + $refreshToken = $app->getAuthorizer($appid)['authorization_info']['authorizer_refresh_token'] ?? null; + if (!$refreshToken) { + return $this->error('获取refresh_token失败'); + } + $app = $app->miniProgram($appid, $refreshToken); } try { From 355540f99d333e55c96a64051741519bcf8e77ca Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 19:41:27 +0800 Subject: [PATCH 16/28] =?UTF-8?q?=E6=A0=B8=E9=94=80=E7=A0=81=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/OrderController.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index 8de8516..2c595d0 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -411,11 +411,16 @@ class OrderController extends Controller //如果有核销码,生成核销二维码 if ($order->verify_code) { + $setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']); $config = [ - 'app_id' => $order->agent->appid, - 'secret' => $order->agent->appsecret, + 'app_id' => $setting['service_appid'], + 'secret' => $setting['service_appsecret'], + 'token' => $setting['service_token'], + 'aes_key' => $setting['service_aeskey'], ]; - $app = Factory::miniProgram($config); + + $app = Factory::openPlatform($config); + $app = $app->miniProgram($order->agent->appid); $response = $app->app_code->getUnlimit($order->verify_code, ['page' => 'pages/verification/index']); From e4da6ba674bb6a1645add1ebc8bc2d5fe7d592bf Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 19:49:31 +0800 Subject: [PATCH 17/28] =?UTF-8?q?=E6=A0=B8=E9=94=80=E7=A0=81=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/OrderController.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index 2c595d0..d341bc9 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -420,6 +420,10 @@ class OrderController extends Controller ]; $app = Factory::openPlatform($config); + $refreshToken = $app->getAuthorizer($order->agent->appid)['authorization_info']['authorizer_refresh_token'] ?? null; + if (!$refreshToken) { + return $this->error('获取refresh_token失败'); + } $app = $app->miniProgram($order->agent->appid); $response = $app->app_code->getUnlimit($order->verify_code, ['page' => 'pages/verification/index']); From 29ddaac63aa8b34ff14a52cf44f58a432534e5b6 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 19:50:32 +0800 Subject: [PATCH 18/28] =?UTF-8?q?=E6=A0=B8=E9=94=80=E7=A0=81=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/OrderController.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index d341bc9..04cf12a 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -421,6 +421,7 @@ class OrderController extends Controller $app = Factory::openPlatform($config); $refreshToken = $app->getAuthorizer($order->agent->appid)['authorization_info']['authorizer_refresh_token'] ?? null; + dd($app, $app->getAuthorizer($order->agent->appid), $refreshToken); if (!$refreshToken) { return $this->error('获取refresh_token失败'); } From 1ae89fe61d24bf8f2fe14ebb6aae22a189904e8a Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 19:51:54 +0800 Subject: [PATCH 19/28] =?UTF-8?q?=E6=A0=B8=E9=94=80=E7=A0=81=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/OrderController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index 04cf12a..7e40f1f 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -421,7 +421,7 @@ class OrderController extends Controller $app = Factory::openPlatform($config); $refreshToken = $app->getAuthorizer($order->agent->appid)['authorization_info']['authorizer_refresh_token'] ?? null; - dd($app, $app->getAuthorizer($order->agent->appid), $refreshToken); + dd($app, $app->getAuthorizer($order->agent->appid), $order->agent->appid); if (!$refreshToken) { return $this->error('获取refresh_token失败'); } From d8a343deef28c5f66409e0c0e386cba23824849c Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 19:53:01 +0800 Subject: [PATCH 20/28] =?UTF-8?q?=E6=A0=B8=E9=94=80=E7=A0=81=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/OrderController.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index 7e40f1f..2c595d0 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -420,11 +420,6 @@ class OrderController extends Controller ]; $app = Factory::openPlatform($config); - $refreshToken = $app->getAuthorizer($order->agent->appid)['authorization_info']['authorizer_refresh_token'] ?? null; - dd($app, $app->getAuthorizer($order->agent->appid), $order->agent->appid); - if (!$refreshToken) { - return $this->error('获取refresh_token失败'); - } $app = $app->miniProgram($order->agent->appid); $response = $app->app_code->getUnlimit($order->verify_code, ['page' => 'pages/verification/index']); From 3fe0a4e51515f30b942cae88b3e873a9a2048311 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 19:53:40 +0800 Subject: [PATCH 21/28] =?UTF-8?q?=E6=A0=B8=E9=94=80=E7=A0=81=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/OrderController.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index 2c595d0..d341bc9 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -420,6 +420,10 @@ class OrderController extends Controller ]; $app = Factory::openPlatform($config); + $refreshToken = $app->getAuthorizer($order->agent->appid)['authorization_info']['authorizer_refresh_token'] ?? null; + if (!$refreshToken) { + return $this->error('获取refresh_token失败'); + } $app = $app->miniProgram($order->agent->appid); $response = $app->app_code->getUnlimit($order->verify_code, ['page' => 'pages/verification/index']); From 9e6c796dedcb84aab68e266573a0fefa8c181f2c Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 19:54:41 +0800 Subject: [PATCH 22/28] =?UTF-8?q?=E6=A0=B8=E9=94=80=E7=A0=81=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/OrderController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/Api/OrderController.php b/app/Http/Controllers/Api/OrderController.php index d341bc9..5a65231 100644 --- a/app/Http/Controllers/Api/OrderController.php +++ b/app/Http/Controllers/Api/OrderController.php @@ -424,7 +424,7 @@ class OrderController extends Controller if (!$refreshToken) { return $this->error('获取refresh_token失败'); } - $app = $app->miniProgram($order->agent->appid); + $app = $app->miniProgram($order->agent->appid, $refreshToken); $response = $app->app_code->getUnlimit($order->verify_code, ['page' => 'pages/verification/index']); From c2203eb76d21b61f3d1c52c423b1875dc5744514 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 20:04:56 +0800 Subject: [PATCH 23/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A7=A3=E5=AF=86?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E5=85=BC=E5=AE=B9=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E5=B9=B3=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/UserController.php | 25 ++++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/Api/UserController.php b/app/Http/Controllers/Api/UserController.php index 0d2251a..a3e6ee5 100644 --- a/app/Http/Controllers/Api/UserController.php +++ b/app/Http/Controllers/Api/UserController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; +use App\Models\AdminSetting; use App\Models\Agent; use App\Models\User; use EasyWeChat\Factory; @@ -36,18 +37,30 @@ class UserController extends Controller ]); $agent = Agent::query()->find($this->agent_id); //代理商数据 - $config = config('wechat.mini_program.default'); - $config = array_merge($config, [ - 'app_id' => $agent->appid, - 'secret' => $agent->appsecret, - ]); $session = Cache::get('session_key_' . $this->user_id); if (!$session) { return $this->error('无效的session,请重新登录'); } - $app = Factory::miniProgram($config); + // 如果有appsecret,使用原来的逻辑,否则使用第三方平台逻辑 + if ($agent['appsecret']) { + $config = config('wechat.mini_program.default'); + $config = array_merge($config, [ + 'app_id' => $agent->appid, + 'secret' => $agent->appsecret, + ]); + $app = Factory::miniProgram($config); + } else { + $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'], + ]; + $app = Factory::miniProgram($config); + } try { $decryptedData = $app->encryptor->decryptData($session, $formData['iv'], $formData['encryptedData']); $user = User::find($this->user_id); From 7396cedc52778b13c0987430af3ec48662d8ec34 Mon Sep 17 00:00:00 2001 From: liapples Date: Tue, 14 Sep 2021 20:15:47 +0800 Subject: [PATCH 24/28] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8E=A5=E6=94=B6?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/MiniProgramController.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/MiniProgramController.php b/app/Http/Controllers/Api/MiniProgramController.php index cd1893e..f8db07b 100644 --- a/app/Http/Controllers/Api/MiniProgramController.php +++ b/app/Http/Controllers/Api/MiniProgramController.php @@ -64,6 +64,7 @@ class MiniProgramController extends Controller public function msgEvent(Request $request) { $appid = $request->route('appid', ''); + DB::table('mini_program_events') ->insert([ 'type' => 1, @@ -82,9 +83,13 @@ class MiniProgramController extends Controller ]; $openPlatform = Factory::openPlatform($config); - $server = $openPlatform->server; + $refreshToken = $openPlatform->getAuthorizer($appid)['authorization_info']['authorizer_refresh_token'] ?? null; + if (!$refreshToken) { + return $this->error('获取refresh_token失败'); + } + $server = $openPlatform->miniProgram($appid, $refreshToken)->server; - //接收事件 + //接收事件 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/audit_event.html $server->push(function ($message) { if (isset($message['MsgType'], $message['Event']) && $message['MsgType'] == 'event') { From ac5a784bf5f3dbafc0faca12fd860070c1c74c8a Mon Sep 17 00:00:00 2001 From: liapples Date: Wed, 15 Sep 2021 00:11:42 +0800 Subject: [PATCH 25/28] =?UTF-8?q?=E5=A2=9E=E5=8A=A0$message=E8=AE=B0?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/MiniProgramController.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/Http/Controllers/Api/MiniProgramController.php b/app/Http/Controllers/Api/MiniProgramController.php index f8db07b..5335d0f 100644 --- a/app/Http/Controllers/Api/MiniProgramController.php +++ b/app/Http/Controllers/Api/MiniProgramController.php @@ -91,6 +91,13 @@ class MiniProgramController extends Controller //接收事件 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/audit_event.html $server->push(function ($message) { + DB::table('mini_program_events') + ->insert([ + 'type' => 1, + 'response' => json_encode($message), + 'event' => $message['MsgType'] ?? '', + 'created_at' => now() + ]); if (isset($message['MsgType'], $message['Event']) && $message['MsgType'] == 'event') { } From 67c3093311bd8954758d225709fa4998e5dbf7bb Mon Sep 17 00:00:00 2001 From: liapples Date: Wed, 15 Sep 2021 00:44:24 +0800 Subject: [PATCH 26/28] setKey --- app/Admin/Controllers/MiniProgramTemplateController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Admin/Controllers/MiniProgramTemplateController.php b/app/Admin/Controllers/MiniProgramTemplateController.php index 79a622e..1d13201 100644 --- a/app/Admin/Controllers/MiniProgramTemplateController.php +++ b/app/Admin/Controllers/MiniProgramTemplateController.php @@ -40,8 +40,8 @@ class MiniProgramTemplateController extends AdminController $grid->column('op') ->if(fn() => true) ->then(function ($column) { -// $column->append((new MiniProgramUpload(null, 2))->setKey($this->id))->append(' '); - $column->append(new MiniProgramDelTemp)->append(' '); +// $column->append((new MiniProgramUpload(null, 2))->setKey($this->template_id))->append(' '); + $column->append((new MiniProgramDelTemp)->setKey($this->template_id))->append(' '); }); }); } From c238fbe16d3f8872e2577e4617ac191ccaae3950 Mon Sep 17 00:00:00 2001 From: liapples Date: Wed, 15 Sep 2021 00:52:55 +0800 Subject: [PATCH 27/28] =?UTF-8?q?=E4=BF=AE=E6=94=B9help?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Forms/Setting.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Admin/Forms/Setting.php b/app/Admin/Forms/Setting.php index 4d349f4..93951bf 100644 --- a/app/Admin/Forms/Setting.php +++ b/app/Admin/Forms/Setting.php @@ -38,7 +38,7 @@ class Setting extends Form $this->text('service_appsecret', '小程序第三方平台APP_SECRET'); $this->text('service_token', '消息校验Token')->help('跟小程序管理后台的一致,请勿随意更改'); $this->text('service_aeskey', '消息加解密Key')->help('跟小程序管理后台的一致,请勿随意更改'); - $this->text('service_component_phone', '联系电话')->help('主要用于当注册小程序失败时,腾讯可能会通过此电话反馈问题'); + $this->text('service_component_phone', '联系电话')->help('为代理商注册小程序时,腾讯下发注册认证信息时,代理商会看到此电话'); }); } From 7824ee0ab89facee33b845b6de44a7afa6a1bc24 Mon Sep 17 00:00:00 2001 From: liapples Date: Wed, 15 Sep 2021 09:38:18 +0800 Subject: [PATCH 28/28] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=9A=84server?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Api/MiniProgramController.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/Http/Controllers/Api/MiniProgramController.php b/app/Http/Controllers/Api/MiniProgramController.php index 5335d0f..08c037a 100644 --- a/app/Http/Controllers/Api/MiniProgramController.php +++ b/app/Http/Controllers/Api/MiniProgramController.php @@ -103,6 +103,17 @@ class MiniProgramController extends Controller } }); + //试试还是这个? + $openPlatform->server->push(function ($message) { + DB::table('mini_program_events') + ->insert([ + 'type' => 3, + 'response' => json_encode($message), + 'event' => $message['MsgType'] ?? '', + 'created_at' => now() + ]); + }); + return $server->serve(); } }