From 3b5b47c0a839c2245d045f93cff916db701dcb5d Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 14 二月 2025 13:31:04 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/xiaochen991015/xizang

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java |   23 +++++++++++++++++++----
 1 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
index 9bed984..a7a640b 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
@@ -72,9 +72,9 @@
      *
      * @return 用户信息
      */
-    public LoginUser getLoginUserApplet()
+    public LoginUserApplet getLoginUserApplet()
     {
-        return getLoginUser(ServletUtils.getRequest());
+        return getLoginUserApplet(ServletUtils.getRequest());
     }
     /**
      * 获取用户身份信息
@@ -108,7 +108,7 @@
      *
      * @return 用户信息
      */
-    public LoginUser getLoginUserApplet(HttpServletRequest request)
+    public LoginUserApplet getLoginUserApplet(HttpServletRequest request)
     {
         // 获取请求携带的令牌
         String token = getToken(request);
@@ -120,7 +120,7 @@
                 // 解析对应的权限以及用户信息
                 String uuid = (String) claims.get(Constants.LOGIN_USER_APPLET_KEY);
                 String userKey = getTokenKey(uuid);
-                LoginUser user = redisCache.getCacheObject(userKey);
+                LoginUserApplet user = redisCache.getCacheObject(userKey);
                 return user;
             }
             catch (Exception e)
@@ -204,6 +204,21 @@
             refreshToken(loginUser);
         }
     }
+    /**
+     * 小程序验证令牌有效期,相差不足20分钟,自动刷新缓存
+     *
+     * @param loginUser
+     * @return 令牌
+     */
+    public void verifyTokenApplet(LoginUserApplet loginUser)
+    {
+        long expireTime = loginUser.getExpireTime();
+        long currentTime = System.currentTimeMillis();
+        if (expireTime - currentTime <= MILLIS_MINUTE_TEN)
+        {
+            refreshTokenApplet(loginUser);
+        }
+    }
 
     /**
      * 刷新令牌有效期

--
Gitblit v1.7.1