|
@@ -304,7 +304,81 @@ class Auth
|
|
|
|
|
|
$data = [
|
|
|
'wechat_openid' => $wechat_openid,
|
|
|
- //'avatar' => 'https://meet-1251365327.cos.ap-beijing.myqcloud.com/uploads/20220314/f57ebce8a72b823912904fe76eda0909.png',
|
|
|
+ 'avatar' => config('site.domain_cdnurl').'/avatar.png',
|
|
|
+ 'introcode' => $this->getUinqueNo(8, $introcode),
|
|
|
+ 'nickname' => $this->get_rand_nick_name(),
|
|
|
+ ];
|
|
|
+ $params = array_merge($data, [
|
|
|
+ 'jointime' => $time,
|
|
|
+ 'joinip' => $ip,
|
|
|
+ 'logintime' => $time,
|
|
|
+ 'loginip' => $ip,
|
|
|
+ 'prevtime' => $time,
|
|
|
+ 'status' => 1
|
|
|
+ ]);
|
|
|
+ $params = array_merge($params, $extend);
|
|
|
+
|
|
|
+ //账号注册时需要开启事务,避免出现垃圾数据
|
|
|
+ Db::startTrans();
|
|
|
+ try {
|
|
|
+ $user = User::create($params, true);
|
|
|
+
|
|
|
+ $this->_user = User::get($user->id);
|
|
|
+ $this->_user->username = 'u' . (10000 + $user->id);
|
|
|
+ $this->_user->save();
|
|
|
+
|
|
|
+ //设置Token
|
|
|
+ $this->_token = Random::uuid();
|
|
|
+ Token::set($this->_token, $user->id, $this->keeptime);
|
|
|
+
|
|
|
+ //设置登录状态
|
|
|
+ $this->_logined = true;
|
|
|
+
|
|
|
+ //注册钱包
|
|
|
+ Db::name('user_wallet')->insertGetId(['user_id'=>$user->id]);
|
|
|
+ //注册用户活跃
|
|
|
+ Db::name('user_active')->insertGetId(['user_id'=>$user->id]);
|
|
|
+ //注册用户权限
|
|
|
+ Db::name('user_power')->insertGetId(['user_id'=>$user->id]);
|
|
|
+
|
|
|
+ //邀请用户注册,给邀请人奖励
|
|
|
+ if(isset($extend['intro_uid']) && !empty($extend['intro_uid'])){
|
|
|
+ $intro_gold = config('site.intro_newuser_gift_goldnum') ?: 0;
|
|
|
+ if($intro_gold > 0){
|
|
|
+ $wallet_rs = model('wallet')->lockChangeAccountRemain($extend['intro_uid'],'gold',$intro_gold,63,'邀请'.$this->_user->username);
|
|
|
+ if($wallet_rs['status'] === false){
|
|
|
+ Db::rollback();
|
|
|
+ $this->setError($wallet_rs['msg']);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //注册成功的事件
|
|
|
+ Hook::listen("user_register_successed", $this->_user, $data);
|
|
|
+ Db::commit();
|
|
|
+ } catch (Exception $e) {
|
|
|
+ $this->setError($e->getMessage());
|
|
|
+ Db::rollback();
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ public function ios_register($ios_user_id = '', $extend = [])
|
|
|
+ {
|
|
|
+
|
|
|
+ if ($ios_user_id && User::getByiosuserid($ios_user_id)) {
|
|
|
+ $this->setError('ios_user_id已存在');
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ $ip = request()->ip();
|
|
|
+ $time = time();
|
|
|
+
|
|
|
+ $introcode = User::column("introcode");
|
|
|
+
|
|
|
+ $data = [
|
|
|
+ 'ios_user_id' => $ios_user_id,
|
|
|
'avatar' => config('site.domain_cdnurl').'/avatar.png',
|
|
|
'introcode' => $this->getUinqueNo(8, $introcode),
|
|
|
'nickname' => $this->get_rand_nick_name(),
|