Quellcode durchsuchen

feat(wechat): 新增微信用户信息获取功能

- 在 WechatUserHook 中增加对 UserInfoResponseEvent 事件的监听
- 实现从 ExtensionWechatUserModel 查询微信 openid 的逻辑
- 将微信 openid 注入到用户信息响应中
- 添加必要的依赖类引入和代码格式调整
runphp vor 3 Monaten
Ursprung
Commit
18a7cd99ad
1 geänderte Dateien mit 12 neuen und 0 gelöschten Zeilen
  1. 12 0
      src/Hook/WechatUserHook.php

+ 12 - 0
src/Hook/WechatUserHook.php

@@ -1,8 +1,10 @@
 <?php
 declare(strict_types=1);
+
 namespace SixShop\Wechat\Hook;
 
 use app\api\event\UserDeletedEvent;
+use app\event\UserInfoResponseEvent;
 use SixShop\Core\Attribute\Hook;
 use SixShop\Wechat\Model\ExtensionWechatUserModel;
 
@@ -18,4 +20,14 @@ class WechatUserHook
         }
         $user->delete();
     }
+
+    #[Hook(UserInfoResponseEvent::class)]
+    public function getWechatUserInfo(UserInfoResponseEvent $event): void
+    {
+        $user = ExtensionWechatUserModel::where('user_id', $event->userID)->findOrEmpty();
+        if ($user->isEmpty()) {
+            return;
+        }
+        $event->userInfo['wechat_openid'] = $user->openid;
+    }
 }