浏览代码

Merge remote-tracking branch 'origin/master'

小么熊🐻 3 年之前
父节点
当前提交
90d7c6e5b7

+ 3 - 3
jkt-admin/src/main/java/com/miaxis/system/controller/system/SysLoginController.java

@@ -124,7 +124,7 @@ public class SysLoginController
         if (wxResult.getErrcode() != null){
             throw new CustomException("微信授权无效,请重新授权");
         }
-        String token = loginService.login(wxResult.getOpenid(),null, StudentLoginTypeEnum.OPENID_LOGIN.getCode());
+        String token = loginService.login(wxResult.getOpenid(),null, StudentLoginTypeEnum.AUTHORIZATION_CODE_LOGIN.getCode());
         TokenDTO tokenDTO = new TokenDTO();
         tokenDTO.setToken(token);
         tokenDTO.setWxResult(wxResult);
@@ -136,7 +136,7 @@ public class SysLoginController
     @PostMapping("/login/code/test")
     @ApiOperation("用户授权码模式登录--测试")
     public Response<TokenDTO> testloginByAuthorizationCode(String authorizationCode ){
-        String token = loginService.login("oN0Np5sK6JeTRa06hlE4-OkHDlDY",null, StudentLoginTypeEnum.OPENID_LOGIN.getCode());
+        String token = loginService.login("oN0Np5sK6JeTRa06hlE4-OkHDlDY",null, StudentLoginTypeEnum.AUTHORIZATION_CODE_LOGIN.getCode());
         TokenDTO tokenDTO = new TokenDTO();
         tokenDTO.setToken(token);
         return Response.success(tokenDTO) ;
@@ -155,7 +155,7 @@ public class SysLoginController
 //    public Response<TokenDTO> getInfoTest(String jscode){
 //        TokenDTO tokenDTO = new TokenDTO();
 //            // 生成令牌
-//        String token = loginService.login("oO7PJ5CPQJo62kZWA3uiUX2KG2s4",null, StudentLoginTypeEnum.OPENID_LOGIN.getCode());
+//        String token = loginService.login("oO7PJ5CPQJo62kZWA3uiUX2KG2s4",null, StudentLoginTypeEnum.AUTHORIZATION_CODE_LOGIN.getCode());
 //        tokenDTO.setToken(token);
 //        return Response.success(tokenDTO) ;
 //

+ 4 - 2
jkt-admin/src/main/resources/application.yml

@@ -83,8 +83,10 @@ token:
     header: Authorization
     # 令牌密钥
     secret: abcdefghijklmnopqrstuvwxyz
-    # 令牌有效期(默认30分钟)
-    expireTime: 30
+    # pc令牌有效期(默认30分钟)
+    pcExpireTime: 30
+    # 微信授权码登录令牌有效期(默认2880分钟,即2天)
+    wxExpireTime: 2880
 
 # MyBatis配置
 # https://baomidou.com/config/

+ 1 - 1
jkt-common/src/main/java/com/miaxis/common/enums/StudentLoginTypeEnum.java

@@ -7,7 +7,7 @@ package com.miaxis.common.enums;
  */
 public enum StudentLoginTypeEnum
 {
-   OPENID_LOGIN("1", "openid登录");
+    AUTHORIZATION_CODE_LOGIN("1", "授权码登录");
 
     private final String code;
     private final String info;

+ 1 - 1
jkt-framework/src/main/java/com/miaxis/framework/web/service/SysLoginService.java

@@ -98,7 +98,7 @@ public class SysLoginService
 
         ServletUtils.getRequest().setAttribute("loginType",loginType);
         // 用户验证
-        if (StudentLoginTypeEnum.OPENID_LOGIN.getCode().equals(loginType)){
+        if (StudentLoginTypeEnum.AUTHORIZATION_CODE_LOGIN.getCode().equals(loginType)){
             return authenticate(principal,new OpenIdAuthenticationToken(principal));
         }
         else{

+ 14 - 2
jkt-framework/src/main/java/com/miaxis/framework/web/service/TokenService.java

@@ -38,8 +38,12 @@ public class TokenService
     private String secret;
 
     // 令牌有效期(默认30分钟)
-    @Value("${token.expireTime}")
-    private int expireTime;
+    @Value("${token.pcExpireTime}")
+    private int pcExpireTime;
+
+    // 微信授权码登录令牌有效期(默认2880分钟,即2天)
+    @Value("${token.wxExpireTime}")
+    private int wxExpireTime;
 
     protected static final long MILLIS_SECOND = 1000;
 
@@ -135,6 +139,14 @@ public class TokenService
      */
     public void refreshToken(LoginUser loginUser)
     {
+        //获取登录类型
+        int expireTime = 0;
+        if (loginUser.getUser()!= null){
+            expireTime = pcExpireTime;
+        }
+        if (loginUser.getStudent()!= null){
+            expireTime = wxExpireTime;
+        }
         loginUser.setLoginTime(System.currentTimeMillis());
         loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
         // 根据uuid将loginUser缓存

+ 1 - 1
jkt-framework/src/main/java/com/miaxis/framework/web/service/UserDetailsServiceImpl.java

@@ -64,7 +64,7 @@ public class UserDetailsServiceImpl implements UserDetailsService
                 throw new BaseException("对不起,您的账号:" + identification + " 已停用");
             }
             return createLoginUser(user);
-        } else if (StudentLoginTypeEnum.OPENID_LOGIN.getCode().equals(loginType)){
+        } else if (StudentLoginTypeEnum.AUTHORIZATION_CODE_LOGIN.getCode().equals(loginType)){
             {
                 UserInfo userInfo = userService.getStudentByOpenId(identification);
                 if (userInfo == null) {