mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 08:13:44 +08:00 
			
		
		
		
	update 优化 登录流程代码注释
This commit is contained in:
		@@ -6,6 +6,8 @@ import cn.dev33.satoken.stp.StpUtil;
 | 
			
		||||
import cn.hutool.core.bean.BeanUtil;
 | 
			
		||||
import cn.hutool.core.util.ObjectUtil;
 | 
			
		||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
			
		||||
import lombok.RequiredArgsConstructor;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.dromara.common.core.constant.Constants;
 | 
			
		||||
import org.dromara.common.core.constant.GlobalConstants;
 | 
			
		||||
import org.dromara.common.core.constant.TenantConstants;
 | 
			
		||||
@@ -32,9 +34,6 @@ import org.dromara.system.domain.vo.SysUserVo;
 | 
			
		||||
import org.dromara.system.mapper.SysUserMapper;
 | 
			
		||||
import org.dromara.system.service.ISysPermissionService;
 | 
			
		||||
import org.dromara.system.service.ISysTenantService;
 | 
			
		||||
import lombok.RequiredArgsConstructor;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.dromara.common.core.utils.*;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Value;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
 | 
			
		||||
@@ -82,9 +81,10 @@ public class SysLoginService {
 | 
			
		||||
        // 校验租户
 | 
			
		||||
        checkTenant(tenantId);
 | 
			
		||||
 | 
			
		||||
        // 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可
 | 
			
		||||
        SysUserVo user = loadUserByUsername(tenantId, username);
 | 
			
		||||
        checkLogin(LoginType.PASSWORD, tenantId, username, () -> !BCrypt.checkpw(password, user.getPassword()));
 | 
			
		||||
        // 此处可根据登录用户的数据不同 自行创建 loginUser
 | 
			
		||||
        // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
 | 
			
		||||
        LoginUser loginUser = buildLoginUser(user);
 | 
			
		||||
        // 生成token
 | 
			
		||||
        LoginHelper.loginByDevice(loginUser, DeviceType.PC);
 | 
			
		||||
@@ -101,7 +101,7 @@ public class SysLoginService {
 | 
			
		||||
        SysUserVo user = loadUserByPhonenumber(tenantId, phonenumber);
 | 
			
		||||
 | 
			
		||||
        checkLogin(LoginType.SMS, tenantId, user.getUserName(), () -> !validateSmsCode(tenantId, phonenumber, smsCode));
 | 
			
		||||
        // 此处可根据登录用户的数据不同 自行创建 loginUser
 | 
			
		||||
        // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
 | 
			
		||||
        LoginUser loginUser = buildLoginUser(user);
 | 
			
		||||
        // 生成token
 | 
			
		||||
        LoginHelper.loginByDevice(loginUser, DeviceType.APP);
 | 
			
		||||
@@ -114,11 +114,11 @@ public class SysLoginService {
 | 
			
		||||
    public String emailLogin(String tenantId, String email, String emailCode) {
 | 
			
		||||
        // 校验租户
 | 
			
		||||
        checkTenant(tenantId);
 | 
			
		||||
        // 通过手机号查找用户
 | 
			
		||||
        // 通过邮箱查找用户
 | 
			
		||||
        SysUserVo user = loadUserByEmail(tenantId, email);
 | 
			
		||||
 | 
			
		||||
        checkLogin(LoginType.EMAIL, tenantId, user.getUserName(), () -> !validateEmailCode(tenantId, email, emailCode));
 | 
			
		||||
        // 此处可根据登录用户的数据不同 自行创建 loginUser
 | 
			
		||||
        // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
 | 
			
		||||
        LoginUser loginUser = buildLoginUser(user);
 | 
			
		||||
        // 生成token
 | 
			
		||||
        LoginHelper.loginByDevice(loginUser, DeviceType.APP);
 | 
			
		||||
@@ -134,11 +134,12 @@ public class SysLoginService {
 | 
			
		||||
        // todo 以下自行实现
 | 
			
		||||
        // 校验 appid + appsrcret + xcxCode 调用登录凭证校验接口 获取 session_key 与 openid
 | 
			
		||||
        String openid = "";
 | 
			
		||||
        // 框架登录不限制从什么表查询 只要最终构建出 LoginUser 即可
 | 
			
		||||
        SysUserVo user = loadUserByOpenid(openid);
 | 
			
		||||
        // 校验租户
 | 
			
		||||
        checkTenant(user.getTenantId());
 | 
			
		||||
 | 
			
		||||
        // 此处可根据登录用户的数据不同 自行创建 loginUser
 | 
			
		||||
        // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了
 | 
			
		||||
        XcxLoginUser loginUser = new XcxLoginUser();
 | 
			
		||||
        loginUser.setTenantId(user.getTenantId());
 | 
			
		||||
        loginUser.setUserId(user.getUserId());
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user