mirror of
https://gitee.com/dromara/RuoYi-Cloud-Plus.git
synced 2025-09-06 04:18:07 +00:00
update 更新小程序登录 单独的结构体
This commit is contained in:
@@ -3,6 +3,7 @@ package com.ruoyi.system.api;
|
||||
import com.ruoyi.common.core.exception.user.UserException;
|
||||
import com.ruoyi.system.api.domain.SysUser;
|
||||
import com.ruoyi.system.api.model.LoginUser;
|
||||
import com.ruoyi.system.api.model.XcxLoginUser;
|
||||
|
||||
/**
|
||||
* 用户服务
|
||||
@@ -33,7 +34,7 @@ public interface RemoteUserService {
|
||||
* @param openid openid
|
||||
* @return 结果
|
||||
*/
|
||||
LoginUser getUserInfoByOpenid(String openid) throws UserException;
|
||||
XcxLoginUser getUserInfoByOpenid(String openid) throws UserException;
|
||||
|
||||
/**
|
||||
* 注册用户信息
|
||||
|
@@ -0,0 +1,24 @@
|
||||
package com.ruoyi.system.api.model;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 小程序登录用户身份权限
|
||||
*
|
||||
* @author Lion Li
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@NoArgsConstructor
|
||||
public class XcxLoginUser extends LoginUser {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* openid
|
||||
*/
|
||||
private String openid;
|
||||
|
||||
}
|
@@ -19,6 +19,7 @@ import com.ruoyi.system.api.RemoteUserService;
|
||||
import com.ruoyi.system.api.domain.SysLogininfor;
|
||||
import com.ruoyi.system.api.domain.SysUser;
|
||||
import com.ruoyi.system.api.model.LoginUser;
|
||||
import com.ruoyi.system.api.model.XcxLoginUser;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -117,8 +118,7 @@ public class SysLoginService {
|
||||
// xcxCode 为 小程序调用 wx.login 授权后获取
|
||||
// todo 自行实现 校验 appid + appsrcret + xcxCode 调用登录凭证校验接口 获取 session_key 与 openid
|
||||
String openid = "";
|
||||
LoginUser userInfo = remoteUserService.getUserInfoByOpenid(openid);
|
||||
|
||||
XcxLoginUser userInfo = remoteUserService.getUserInfoByOpenid(openid);
|
||||
// 生成token
|
||||
LoginHelper.loginByDevice(userInfo, DeviceType.XCX);
|
||||
|
||||
|
@@ -10,6 +10,7 @@ import com.ruoyi.system.api.RemoteUserService;
|
||||
import com.ruoyi.system.api.domain.SysUser;
|
||||
import com.ruoyi.system.api.model.LoginUser;
|
||||
import com.ruoyi.system.api.model.RoleDTO;
|
||||
import com.ruoyi.system.api.model.XcxLoginUser;
|
||||
import com.ruoyi.system.service.ISysConfigService;
|
||||
import com.ruoyi.system.service.ISysPermissionService;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
@@ -66,7 +67,7 @@ public class RemoteUserServiceImpl implements RemoteUserService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public LoginUser getUserInfoByOpenid(String openid) throws UserException {
|
||||
public XcxLoginUser getUserInfoByOpenid(String openid) throws UserException {
|
||||
// todo 自行实现 userService.selectUserByOpenid(openid);
|
||||
SysUser sysUser = new SysUser();
|
||||
if (ObjectUtil.isNull(sysUser)) {
|
||||
@@ -79,7 +80,12 @@ public class RemoteUserServiceImpl implements RemoteUserService {
|
||||
// todo 用户已被停用 业务逻辑自行实现
|
||||
}
|
||||
// 此处可根据登录用户的数据不同 自行创建 loginUser
|
||||
return buildLoginUser(sysUser);
|
||||
XcxLoginUser loginUser = new XcxLoginUser();
|
||||
loginUser.setUserId(sysUser.getUserId());
|
||||
loginUser.setUsername(sysUser.getUserName());
|
||||
loginUser.setUserType(sysUser.getUserType());
|
||||
loginUser.setOpenid(openid);
|
||||
return loginUser;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user