Explorar o código

添加登录设备

李进 %!s(int64=2) %!d(string=hai) anos
pai
achega
64674ec044

+ 8 - 1
authorize-api-service/src/main/java/com/xy/service/impl/AuthorizeServiceImpl.java

@@ -94,6 +94,13 @@ public class AuthorizeServiceImpl implements AuthorizeService {
     @ApiOperation("token续签")
     public R<Boolean> renewTimeout() {
         StpUtil.renewTimeout(RedisCache.getToken(), CommConsts.TOKEN_TIMEOUT);
-        return null;
+        return R.ok(true);
+    }
+
+    @Override
+    @ApiOperation("获取客户端类型")
+    public R<String> getClientType() {
+        String clientType = RedisCache.getClientType();
+        return R.ok(clientType);
     }
 }

+ 2 - 3
authorize-api-service/src/main/java/com/xy/service/impl/SysWorkUserServiceImpl.java

@@ -172,7 +172,7 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
             return R.fail("账号已被封禁");
         }
         //生成token
-        StpUtil.login(sysWorkUser.getId(), String.valueOf(loginDto.getClientType()));
+        StpUtil.login(sysWorkUser.getId(), loginDto.getClientType());
         //更新登录信息
         SysWorkUser workUser = new SysWorkUser()
                 .setId(sysWorkUser.getId())
@@ -187,8 +187,7 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
 
     @Override
     public R logout() {
-        String loginDevice = StpUtil.getLoginDevice();
-        StpUtil.logout(RedisCache.getLoginId(Long.class), loginDevice);
+        StpUtil.logout(RedisCache.getLoginId(Long.class), StpUtil.getLoginDevice());
         return R.ok();
     }
 

+ 2 - 2
authorize-api/src/main/java/com/xy/dto/SysWorkUser/LoginDto.java

@@ -22,9 +22,9 @@ public class LoginDto {
     @Pattern(regexp = "^[a-zA-z0-9]{6,11}$", message = "password必须为数字或字母,长度6-11位之间")
     private String password;
 
-    @ApiModelProperty("客户端类型 1=管理端 2=PC商家端 3=小程序商家端")
+    @ApiModelProperty("客户端类型 PC,MOBILE")
     @NotNull(message = "clientType不能为空")
-    private Integer clientType;
+    private String clientType;
 
     @ApiModelProperty("短信验证码")
     private String code;

+ 8 - 0
authorize-api/src/main/java/com/xy/service/AuthorizeService.java

@@ -106,4 +106,12 @@ public interface AuthorizeService {
      */
     @PostMapping("renewTimeout")
     R<Boolean> renewTimeout();
+
+    /**
+     * 获取登录客户端
+     *
+     * @return
+     */
+    @PostMapping("getClientType")
+    R<String> getClientType();
 }

+ 31 - 0
authorize-sdk/src/main/java/com/xy/utils/AuthorizeUtils.java

@@ -77,6 +77,20 @@ public class AuthorizeUtils {
         return token;
     }
 
+    /**
+     * 获取系统ID
+     *
+     * @return
+     */
+    public static String getSysId() {
+        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+        String sysId = request.getHeader(CommConsts.SYS_ID);
+        if (StringUtils.isEmpty(sysId)) {
+            throw new CommRuntimeException(SaTokenEnum.NO_AUTHORITY.getKey(), SaTokenEnum.NO_AUTHORITY.getName());
+        }
+        return sysId;
+    }
+
     /**
      * 获取登录id
      *
@@ -137,6 +151,23 @@ public class AuthorizeUtils {
         renewTimeout(getToken());
     }
 
+    /**
+     * 获取客户端类型
+     *
+     * @return
+     */
+    public static String getClientType() {
+        AuthorizeConfig authorizeConfig = getAuthorizeConfig();
+        if (!authorizeConfig.getIsNative()) {
+            Object obj = send("/authorize/getClientType", getToken(), null);
+            if (obj == null) {
+                return null;
+            }
+            return obj.toString();
+        }
+        return StpUtil.getLoginDevice();
+    }
+
     /**
      * 获取菜单
      *