|
@@ -809,72 +809,4 @@ class Auth
|
|
|
return $this->_error ? __($this->_error) : '';
|
|
|
}
|
|
|
|
|
|
- public function openid_register($wechat_openid = '', $extend = [])
|
|
|
- {
|
|
|
- if ($wechat_openid && User::getByOpenid($wechat_openid)) {
|
|
|
- $this->setError('openid已存在');
|
|
|
- return false;
|
|
|
- }
|
|
|
-
|
|
|
- $ip = request()->ip();
|
|
|
- $time = time();
|
|
|
-
|
|
|
- $introcode = User::column("invite_no");
|
|
|
-
|
|
|
- $data = [
|
|
|
- 'openid' => $wechat_openid,
|
|
|
- 'gender' => isset($extend['gender']) ? $extend['gender'] : 1,
|
|
|
- 'avatar' => isset($extend["avatar"]) ? $extend["avatar"] : '/assets/dc0f37f043e1e9f5240ed87e37f18740.png',
|
|
|
- 'invite_no' => $this->getUinqueNo(6, $introcode),
|
|
|
- 'nickname' => get_rand_nick_name(),
|
|
|
- ];
|
|
|
- $params = array_merge($data, [
|
|
|
- 'salt' => Random::alnum(),
|
|
|
- 'jointime' => $time,
|
|
|
- 'joinip' => $ip,
|
|
|
- 'logintime' => $time,
|
|
|
- 'loginip' => $ip,
|
|
|
- 'prevtime' => $time,
|
|
|
- 'status' => 'normal'
|
|
|
- ]);
|
|
|
- $params = array_merge($params, $extend);
|
|
|
-
|
|
|
- //账号注册时需要开启事务,避免出现垃圾数据
|
|
|
- Db::startTrans();
|
|
|
- try {
|
|
|
- $user = User::create($params, true);
|
|
|
-
|
|
|
- $this->_user = User::get($user->id);
|
|
|
- $this->_user->u_id = $this->getUinqueId(8, [$user->id]);
|
|
|
- $this->_user->save();
|
|
|
-
|
|
|
- //设置Token
|
|
|
- $this->_token = Random::uuid();
|
|
|
- Token::set($this->_token, $user->id, $this->keeptime);
|
|
|
-
|
|
|
- //设置登录状态
|
|
|
- $this->_logined = true;
|
|
|
- //初始化权限
|
|
|
- $userPowerWhere['user_id'] = $user->id;
|
|
|
- $userPowerData = Db::name('user_power')->where($userPowerWhere)->find();
|
|
|
- if (empty($userPowerData)) {
|
|
|
- $powerData = ['user_id' => $user->id];
|
|
|
- Db::name('user_power')->insertGetId($powerData);
|
|
|
- }
|
|
|
- //注册到钱包
|
|
|
- $wallet_data = [
|
|
|
- 'user_id' => $user->id,
|
|
|
- ];
|
|
|
- Db::name('user_wallet')->insertGetId($wallet_data);
|
|
|
- //注册成功的事件
|
|
|
- Hook::listen("user_register_successed", $this->_user, $data);
|
|
|
- \app\common\model\NewBagHave::insert(["user_id" => $user->id, "createtime" => time()]);
|
|
|
- Db::commit();
|
|
|
- } catch (Exception $e) {echo '<pre>';var_dump($e->getLine());exit;
|
|
|
- $this->setError($e->getMessage());
|
|
|
- Db::rollback();
|
|
|
- return false;
|
|
|
- }
|
|
|
- return true;
|
|
|
- }
|
|
|
}
|