From e73d87d1e887f29fc6a0f00121eb0281a93b51c5 Mon Sep 17 00:00:00 2001 From: lion <120344285@qq.com> Date: Thu, 30 Jul 2026 11:18:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E4=BA=8C=E7=BB=B4=E7=A0=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Admin/CourseController.php | 26 +++++++++--- wechat_qrcode_diag.php | 41 +++++++++++++++---- 2 files changed, 53 insertions(+), 14 deletions(-) diff --git a/app/Http/Controllers/Admin/CourseController.php b/app/Http/Controllers/Admin/CourseController.php index 8d8a6c1..304aa0f 100755 --- a/app/Http/Controllers/Admin/CourseController.php +++ b/app/Http/Controllers/Admin/CourseController.php @@ -434,13 +434,27 @@ class CourseController extends BaseController if ($validator->fails()) { return $this->fail([ResponseCode::ERROR_PARAMETER, implode(',', $validator->errors()->all())]); } - // generate=1 时才调用微信生成;默认仅返回已有文件,避免弹窗打开即 500 - $generate = !empty($all['generate']); - $url = (new Course())->getCourseQrcode($all['id'], $generate); - if ($generate && empty($url)) { - return $this->fail([ResponseCode::ERROR_BUSINESS, '二维码生成失败,请检查微信配置或缓存后重试']); + try { + // generate=1 时才调用微信生成;默认仅返回已有文件,避免弹窗打开即 500 + $generate = !empty($all['generate']); + $url = (new Course())->getCourseQrcode($all['id'], $generate); + if ($generate && empty($url)) { + return $this->fail([ResponseCode::ERROR_BUSINESS, '二维码生成失败,请检查微信配置或缓存后重试']); + } + return $this->success($url ?: ''); + } catch (\Throwable $e) { + \Log::error('courses/qrcode failed', [ + 'id' => $all['id'] ?? null, + 'generate' => $all['generate'] ?? null, + 'message' => $e->getMessage(), + 'file' => $e->getFile(), + 'line' => $e->getLine(), + ]); + return $this->fail([ + ResponseCode::ERROR_BUSINESS, + '二维码生成失败: ' . $e->getMessage(), + ]); } - return $this->success($url ?: ''); } /** diff --git a/wechat_qrcode_diag.php b/wechat_qrcode_diag.php index 90e93ca..381738a 100644 --- a/wechat_qrcode_diag.php +++ b/wechat_qrcode_diag.php @@ -1,23 +1,33 @@ getNumberOfParameters()); + $put('has_resolveMiniProgramQrcode=' . (method_exists(App\Models\Course::class, 'resolveMiniProgramQrcode') ? 'yes' : 'no')); + $appends = (new ReflectionClass(App\Models\Course::class))->getDefaultProperties()['appends'] ?? []; + $put('qrcode_in_appends=' . (in_array('qrcode', $appends, true) ? 'yes' : 'no')); + $ctrl = file_get_contents(__DIR__ . '/app/Http/Controllers/Admin/CourseController.php'); + $put('controller_has_generate_flag=' . (strpos($ctrl, "generate") !== false && strpos($ctrl, 'getCourseQrcode') !== false ? 'yes' : 'no')); + $put('controller_has_try_catch_qrcode=' . (strpos($ctrl, 'courses/qrcode failed') !== false ? 'yes' : 'no')); +} catch (Throwable $e) { + $put('deploy_check_FAIL: ' . $e->getMessage()); +} + $put(''); $put('--- course model generate ---'); try {