From 6368c37741de49dbfbfa99e1b17357d13be7ce88 Mon Sep 17 00:00:00 2001 From: wikiboss Date: Mon, 19 Oct 2026 11:41:20 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=94=AF=E4=BB=98):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=94=AF=E4=BB=98=E9=A2=84=E4=B8=8B=E5=8D=95?= =?UTF-8?q?=E8=8E=B7=E5=8F=96openid=E6=97=B6=E6=9C=AA=E6=8C=89=E6=9C=80?= =?UTF-8?q?=E6=96=B0=E6=8E=88=E6=9D=83=E5=80=92=E5=BA=8F=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E5=AF=BC=E8=87=B4appid=E5=92=8Copenid=E4=B8=8D=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E7=9A=84=E7=BC=BA=E9=99=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- addons/shopro/controller/Pay.php | 2 +- tests/UserOauthPayOpenidTest.php | 41 ++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 tests/UserOauthPayOpenidTest.php diff --git a/addons/shopro/controller/Pay.php b/addons/shopro/controller/Pay.php index e75e280..91051a0 100644 --- a/addons/shopro/controller/Pay.php +++ b/addons/shopro/controller/Pay.php @@ -137,7 +137,7 @@ class Pay extends Base 'user_id' => $order->user_id, 'provider' => 'Wechat', 'platform' => $platform - ])->find(); + ])->order('id', 'desc')->find(); $order_data['openid'] = $oauth ? $oauth->openid : ''; } diff --git a/tests/UserOauthPayOpenidTest.php b/tests/UserOauthPayOpenidTest.php new file mode 100644 index 0000000..516ea1b --- /dev/null +++ b/tests/UserOauthPayOpenidTest.php @@ -0,0 +1,41 @@ + $userId, + 'provider' => 'Wechat', + 'platform' => $platform +])->order('id', 'desc')->find(); + +echo "【测试】查询用户 {$userId} 的最新授权记录:\n"; +if (!$oauth) { + echo "FAIL: 未找到用户授权记录\n"; + exit(1); +} + +echo "ID: {$oauth->id}, Openid: {$oauth->openid}\n"; + +// 验证 openid 是否为当前小程序的有效 openid(以 oGsUG 开头) +if (strpos($oauth->openid, 'oGsUG') !== 0) { + echo "FAIL: 获取到的不是当前小程序的有效 openid (期望以 oGsUG 开头)\n"; + exit(1); +} + +echo "PASS: 成功获取到当前小程序匹配的有效 openid\n"; +exit(0);