From 0b007e7fe9ef41fbaa13507d2520a5e8e4faeb3c Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期五, 21 六月 2024 20:15:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java | 78 +++++++++++++++++++++++++++++++++++++--
1 files changed, 74 insertions(+), 4 deletions(-)
diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
index 139ee8b..19d9c4e 100644
--- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
+++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
@@ -4,6 +4,9 @@
import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServletRequest;
+
+import com.ruoyi.common.core.constant.Constants;
+import com.ruoyi.system.api.domain.AppMiniLoginVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.ruoyi.common.core.constant.CacheConstants;
@@ -32,7 +35,8 @@
protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND;
- private final static long expireTime = CacheConstants.EXPIRATION;
+
+ private final static long EXPIRE_TIME = CacheConstants.EXPIRATION;
private final static String ACCESS_TOKEN = CacheConstants.LOGIN_TOKEN_KEY;
@@ -61,7 +65,73 @@
// 接口返回信息
Map<String, Object> rspMap = new HashMap<String, Object>();
rspMap.put("access_token", JwtUtils.createToken(claimsMap));
- rspMap.put("expires_in", expireTime);
+ rspMap.put("expires_in", EXPIRE_TIME);
+ return rspMap;
+ }
+
+ public Map<String, Object> createMiniToken(AppMiniLoginVO appMiniLoginVo)
+ {
+ LoginUser loginUser = new LoginUser();
+ // Jwt存储信息
+ Map<String, Object> claimsMap = new HashMap<String, Object>();
+ // 接口返回信息
+ Map<String, Object> rspMap = new HashMap<String, Object>();
+ //用户为空只返回openid
+ rspMap.put("mobile","");
+ rspMap.put("access_token", "");
+ if(appMiniLoginVo.getSysUser()!=null){
+ loginUser.setSysUser(appMiniLoginVo.getSysUser());
+ String token = IdUtils.fastUUID();
+ Long userId = loginUser.getSysUser().getUserId();
+ String userName = loginUser.getSysUser().getUserName();
+ loginUser.setToken(token);
+ loginUser.setUserid(userId);
+ loginUser.setUsername(userName);
+ loginUser.setIpaddr(IpUtils.getIpAddr());
+ refreshToken(loginUser);
+ claimsMap.put(SecurityConstants.USER_KEY, token);
+ claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
+ claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
+ claimsMap.put(SecurityConstants.LOGIN_FROM, Constants.FROM_MINI_APP);
+ rspMap.put("access_token", JwtUtils.createToken(claimsMap));
+ rspMap.put("expires_in", EXPIRE_TIME);
+ }
+ rspMap.put("wx_unionid", appMiniLoginVo.getWxUnionid());
+ rspMap.put("mini_openid", appMiniLoginVo.getMiniOpenid());
+ rspMap.put("zfb_userid", appMiniLoginVo.getZfbuserid());
+ rspMap.put("phone",appMiniLoginVo.getPhone());
+ rspMap.put("memberid",appMiniLoginVo.getMemberid().toString());
+ return rspMap;
+ }
+
+ public Map<String, Object> createMiniToken1(AppMiniLoginVO appMiniLoginVo)
+ {
+ LoginUser loginUser = new LoginUser();
+ // Jwt存储信息
+ Map<String, Object> claimsMap = new HashMap<String, Object>();
+ // 接口返回信息
+ Map<String, Object> rspMap = new HashMap<String, Object>();
+ //用户为空只返回openid
+ rspMap.put("mobile","");
+ rspMap.put("access_token", "");
+ if(appMiniLoginVo.getSysUser()!=null){
+ loginUser.setSysUser(appMiniLoginVo.getSysUser());
+ String token = IdUtils.fastUUID();
+ Long userId = loginUser.getSysUser().getUserId();
+ String userName = loginUser.getSysUser().getUserName();
+ loginUser.setToken(token);
+ loginUser.setUserid(userId);
+ loginUser.setUsername(userName);
+ loginUser.setIpaddr(IpUtils.getIpAddr());
+ refreshToken(loginUser);
+ claimsMap.put(SecurityConstants.USER_KEY, token);
+ claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
+ claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
+ claimsMap.put(SecurityConstants.LOGIN_FROM, Constants.FROM_MINI_APP);
+ rspMap.put("access_token", JwtUtils.createToken(claimsMap));
+ rspMap.put("expires_in", EXPIRE_TIME);
+ }
+ rspMap.put("phone",appMiniLoginVo.getPhone());
return rspMap;
}
@@ -156,10 +226,10 @@
public void refreshToken(LoginUser loginUser)
{
loginUser.setLoginTime(System.currentTimeMillis());
- loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
+ loginUser.setExpireTime(loginUser.getLoginTime() + EXPIRE_TIME * MILLIS_MINUTE);
// 根据uuid将loginUser缓存
String userKey = getTokenKey(loginUser.getToken());
- redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
+ redisService.setCacheObject(userKey, loginUser, EXPIRE_TIME, TimeUnit.MINUTES);
}
private String getTokenKey(String token)
--
Gitblit v1.7.1