Selaa lähdekoodia

feat(wechat): 微信创建用户时触发 beforeCreateUser事件

runphp 6 kuukautta sitten
vanhempi
sitoutus
96d631d538
1 muutettua tiedostoa jossa 6 lisäystä ja 4 poistoa
  1. 6 4
      src/Entity/ExtensionWechatUserEntity.php

+ 6 - 4
src/Entity/ExtensionWechatUserEntity.php

@@ -7,6 +7,7 @@ use app\model\User;
 use SixShop\Core\Entity\BaseEntity;
 use SixShop\Wechat\ChineseUtil;
 use SixShop\Wechat\Service\MiniApp;
+use think\facade\Event;
 
 /**
  * @mixin \SixShop\Wechat\Model\ExtensionWechatUserModel
@@ -39,10 +40,11 @@ class ExtensionWechatUserEntity extends BaseEntity
     {
         $timestamp = time();
         $randomStr = bin2hex(random_bytes(3));
-        $user = User::create([
-            'username' => "wx_{$timestamp}_{$randomStr}",
-            'nickname' => ChineseUtil::randomChineseName(),
-        ]);
+        $user = new User();
+        $user->username = "wx_{$timestamp}_{$randomStr}";
+        $user->nickname = ChineseUtil::randomChineseName();
+        Event::trigger('beforeCreateUser', [$user, 'wechat' ]);
+        $user->save();
         return $user->id;
     }