From 1adc8a51fcb24c9db79e82652de7ff748f6aa4bb Mon Sep 17 00:00:00 2001 From: liapples Date: Wed, 15 Sep 2021 14:48:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E7=BB=93=E6=9E=9C=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/MiniProgramController.php | 28 +++++------ app/Http/Controllers/Api/TestController.php | 46 +++++++++---------- 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/app/Http/Controllers/Api/MiniProgramController.php b/app/Http/Controllers/Api/MiniProgramController.php index 08c037a..b8712e4 100644 --- a/app/Http/Controllers/Api/MiniProgramController.php +++ b/app/Http/Controllers/Api/MiniProgramController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\AdminSetting; use App\Models\Agent; +use App\Models\MiniProgramUploadLog; use EasyWeChat\Factory; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -90,7 +91,7 @@ class MiniProgramController extends Controller $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) { + $server->push(function ($message) use ($appid) { DB::table('mini_program_events') ->insert([ 'type' => 1, @@ -98,22 +99,23 @@ class MiniProgramController extends Controller 'event' => $message['MsgType'] ?? '', 'created_at' => now() ]); - if (isset($message['MsgType'], $message['Event']) && $message['MsgType'] == 'event') { + //审核结果通知 + if (isset($message['MsgType'], $message['Event']) && $message['MsgType'] == 'event') { + $auditArr = [ + 'weapp_audit_success' => 0, //成功 + 'weapp_audit_fail' => 1, //拒绝 + 'weapp_audit_delay' => 4, //审核延后 + ]; + $log = MiniProgramUploadLog::query() + ->where('appid', $appid) + ->orderBy('id', 'desc') + ->first(); + $log->is_success = $auditArr[$message['Event']] ?? -1; + $log->save(); } }); - //试试还是这个? - $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(); } } diff --git a/app/Http/Controllers/Api/TestController.php b/app/Http/Controllers/Api/TestController.php index 340fa67..58a42aa 100644 --- a/app/Http/Controllers/Api/TestController.php +++ b/app/Http/Controllers/Api/TestController.php @@ -3,6 +3,8 @@ namespace App\Http\Controllers\Api; use App\Models\AdminSetting; +use App\Models\AgentProduct; +use App\Models\MiniProgramUploadLog; use EasyWeChat\Factory; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\DB; @@ -17,31 +19,29 @@ class TestController public function index() { $appid = 'wx5bd5789ad8f89524'; - $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'], - ]; + $message = json_decode('{"ToUserName":"gh_f4ab40774bed","FromUserName":"o4seR5d-TVCImgh2aE6UtrQn6LIM","CreateTime":"1631670431","MsgType":"event","Event":"weapp_audit_success","SuccTime":"1631670431"}', true); + DB::table('mini_program_events') + ->insert([ + 'type' => 1, + 'response' => json_encode($message), + 'event' => $message['MsgType'] ?? '', + 'created_at' => now() + ]); - $app = Factory::openPlatform($config); - $refreshToken = $app->getAuthorizer($appid)['authorization_info']['authorizer_refresh_token'] ?? null; - if (!$refreshToken) { - return $this->error('获取refresh_token失败'); + //审核结果通知 + if (isset($message['MsgType'], $message['Event']) && $message['MsgType'] == 'event') { + $auditArr = [ + 'weapp_audit_success' => 0, //成功 + 'weapp_audit_fail' => 1, //拒绝 + 'weapp_audit_delay' => 4, //审核延后 + ]; + $log = MiniProgramUploadLog::query() + ->where('appid', $appid) + ->orderBy('id', 'desc') + ->first(); + $log->is_success = $auditArr[$message['Event']] ?? -1; + $log->save(); } - $miniProgram = $app->miniProgram($appid, $refreshToken); - $domain = $miniProgram['domain']; - - $host = env('APP_URL'); - $param = [ - "action" => "add", - "requestdomain" => [$host], - "wsrequestdomain" => [str_replace('http', 'ws', $host)], - "uploaddomain" => [$host], - "downloaddomain" => [$host], - ]; - return [$domain->modify($param), $domain->setWebviewDomain([env('APP_URL')])]; } /**