From 74b3557bf43308d8d663565ca0aa37d58ec2781a Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期二, 28 五月 2024 14:41:26 +0800
Subject: [PATCH] 写用户端接口

---
 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java |   46 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 42 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..0351a6b 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,41 @@
         // 接口返回信息
         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());
         return rspMap;
     }
 
@@ -156,10 +194,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