wanghousheng 11 months ago
parent a6279d5c06
commit 7d5dce8e5e
  1. 12
      app/api/service/passport/Login.php

@ -56,14 +56,14 @@ class Login extends BaseService
{ {
// 数据验证 // 数据验证
$this->validate($data); $this->validate($data);
//新增小程序登录 //绑定openid
if (!empty($data['ucode'])) { if (!empty($data['ucode'])) {
// 推荐人ID // 推荐人ID
$refereeId = 0; $refereeId = 0;
if (!empty($data['refereeId'])) { if (!empty($data['refereeId'])) {
$refereeId = intval($data['refereeId']); $refereeId = intval($data['refereeId']);
} }
return $this->loginMinWx($data['ucode'], $refereeId); return $this->loginMinWx($data['ucode'], $refereeId, $data['mobile']);
} }
// 自动登录注册 // 自动登录注册
$this->register($data); $this->register($data);
@ -72,8 +72,8 @@ class Login extends BaseService
// 记录登录态 // 记录登录态
return $this->setSession(); return $this->setSession();
} }
private function loginMinWx($code, $refereeId): bool private function loginMinWx($code, $refereeId, $mobile): bool
{ {
// 获取微信小程序登录态(session) // 获取微信小程序登录态(session)
$wxSession = PartyService::getMpWxSession($code); $wxSession = PartyService::getMpWxSession($code);
@ -91,11 +91,11 @@ class Login extends BaseService
// 用户信息不存在 => 注册新用户 或者 跳转到绑定手机号页 // 用户信息不存在 => 注册新用户 或者 跳转到绑定手机号页
$setting = SettingModel::getItem(SettingEnum::REGISTER); $setting = SettingModel::getItem(SettingEnum::REGISTER);
// 后台设置了需强制绑定手机号, 返回前端isBindMobile, 跳转到手机号验证页 // 后台设置了需强制绑定手机号, 返回前端isBindMobile, 跳转到手机号验证页
if ($setting['isForceBindMpweixin']) { if ($setting['isForceBindMpweixin'] && !$mobile) {
throwError('当前用户未绑定手机号', null, ['isBindMobile' => true]); throwError('当前用户未绑定手机号', null, ['isBindMobile' => true]);
} }
// 用户不存在: 创建一个新用户 // 用户不存在: 创建一个新用户
$this->createUser('', true, [], (int)$refereeId); $this->createUser($mobile, true, [], (int)$refereeId);
// 保存第三方用户信息 // 保存第三方用户信息
$this->createUserOauth($this->getUserId(), true); $this->createUserOauth($this->getUserId(), true);
// 记录登录态 // 记录登录态

Loading…
Cancel
Save