Просмотр исходного кода

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

runphp 6 месяцев назад
Родитель
Сommit
96d631d538
1 измененных файлов с 6 добавлено и 4 удалено
  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\Core\Entity\BaseEntity;
 use SixShop\Wechat\ChineseUtil;
 use SixShop\Wechat\ChineseUtil;
 use SixShop\Wechat\Service\MiniApp;
 use SixShop\Wechat\Service\MiniApp;
+use think\facade\Event;
 
 
 /**
 /**
  * @mixin \SixShop\Wechat\Model\ExtensionWechatUserModel
  * @mixin \SixShop\Wechat\Model\ExtensionWechatUserModel
@@ -39,10 +40,11 @@ class ExtensionWechatUserEntity extends BaseEntity
     {
     {
         $timestamp = time();
         $timestamp = time();
         $randomStr = bin2hex(random_bytes(3));
         $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;
         return $user->id;
     }
     }