Bladeren bron

更改首页逻辑,并且reqid逻辑修改

1037015548@qq.com 2 jaren geleden
bovenliggende
commit
d7522c0654

+ 20 - 5
ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/ActionApi.java

@@ -17,10 +17,9 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
 @Api("用户信息管理")
 @RestController
 @RequestMapping("/api/advalidateciphertext")
@@ -44,7 +43,7 @@ public class ActionApi {
      */
     @ApiOperation("子系统调AD")
     @PostMapping()
-    public AjaxResult userList(@RequestBody ValidateMessage validateMessage)
+    public AjaxResult userList(@RequestBody ValidateMessage validateMessage)throws Exception
     {
 
 
@@ -71,6 +70,22 @@ public class ActionApi {
         if(!StringUtils.isEmpty(validateMessage.getReqid())){
             String reqid = validateMessage.getReqid();
             if(reqid.indexOf("newReqid")>0){
+                String[] reqidlist = reqid.split("newReqid");
+                if(reqidlist.length>1){
+                    //TODO 说明有newReqid
+                    long nd = 1000 * 24 * 60 * 60;
+                    long nh = 1000 * 60 * 60;
+                    long nm = 1000 * 60;
+                    String time = reqidlist[1];
+                    Date date = new Date(Long.valueOf(time));
+                    // 获得两个时间的毫秒时间差异
+                    long diff = new Date().getTime() - date.getTime();
+                    long min = diff % nd % nh / nm;
+                    if(min>1){
+                        logger.error("reqid已过期");
+                        return AjaxResult.error("授权已过期!");
+                    }
+                }
                 StringBuilder stringBuilder = new StringBuilder(reqid);
                 stringBuilder.replace(reqid.indexOf("newReqid"),reqid.length(),"");
                 validateMessage.setReqid(stringBuilder.toString());

+ 2 - 6
ruoyi-admin/src/main/resources/templates/view.html

@@ -185,16 +185,12 @@
     initTimer();
 
     var sessionId = [[${sessionId}]];
-    //TODO 将sessionId存储在内存中,并且每一分钟更新一次新的
-    sessionStorage.setItem("reqid",sessionId+"newReqid"+new Date().getTime());
-    setInterval(function () {
-        sessionStorage.setItem("reqid",sessionId+"newReqid"+new Date().getTime());
-    },60000);
 
     var ctx = [[@{/}]];
     function opennewpage(url,danganLoginName) {
         // window.location.href=url;
-        url = url+"?"+"reqid="+sessionStorage.getItem("reqid");
+        let newReqid = "newReqid"+new Date().getTime();
+        url = url+"?"+"reqid="+newReqid;
         console.log(url)
 
         //TODO 先跑一个接口进行会话验证,判断当前登录是否过期在进行跳转