Browse Source

app登录权限

pengjing 10 months ago
parent
commit
0fc7e828de

+ 1 - 1
h5app/src/api/login/index.ts

@@ -11,7 +11,7 @@ export function login(data: API.LoginParams) {
     const desVal = crtyptoHelp.encryptDes(`${data.username}|${crtyptoHelp.MD5(data.password)}|${data.verifyCode}`)
     return request<API.LoginResult>(
         {
-            url: 'account/login',
+            url: 'account/appLogin',
             method: 'post',
             data: desVal,
         },

+ 1 - 0
src/main/java/com/hz/employmentsite/config/WebConfiguration.java

@@ -53,6 +53,7 @@ public class WebConfiguration implements WebMvcConfigurer {
         List<String> excludePath = new ArrayList<>();
         //排除拦截,除了注册登录(此时还没token),其他都拦截
         excludePath.add("/api/account/login");  //登录
+        excludePath.add("/api/account/appLogin");  //登录
         excludePath.add("/api/account/register");     //注册
         excludePath.add("/api/account/captcha");  //验证码
         excludePath.add("/api/account/test");

+ 27 - 2
src/main/java/com/hz/employmentsite/controller/AccountController.java

@@ -40,6 +40,8 @@ public class AccountController {
     @Autowired
     private LogService logService;
 
+    private Integer[] appLoginUserType = {3};
+
     @ResponseBody
     @GetMapping("/captcha")
     public BaseResponse<Map<String, Object>> captcha() {
@@ -67,12 +69,35 @@ public class AccountController {
         user.dataRangeList = userService.getUserDataRange(user.getUserId());
         user.permissionList = accountService.getUserPerms(user.getUserId());
 
-        logService.save("登录","","登录",user.userId);
+        logService.save("登录", "", "登录", user.userId);
 
         return RespGenerstor.success(user);
 
     }
 
+    @PostMapping("/appLogin")
+    public BaseResponse<UserModel> appLogin(HttpServletResponse response, HttpServletRequest request, @RequestBody DesModel model) throws Exception {
+        String[] desData = desUtils.decoder(model.getToken(), dateUtils.DateToDateTime(dateUtils.StrToDate(model.getTm(), "yyyy/MM/dd HH:mm:ss"))).split("\\|");
+
+        UserModel user = accountService.verifyUser(desData[0], desData[1]);
+
+        if (user == null)
+            throw new BaseException(BaseErrorEnum.USER_PASSWORD_ERROR);
+
+        if (!Arrays.asList(appLoginUserType).contains(user.getUserTypeId()))
+            throw new BaseException(BaseErrorEnum.APP_LOGIN_ERROR);
+
+        user.token = TokenUtils.sign(user.getUserId() + '|' + user.getUserTypeId());
+        user.dataRangeList = userService.getUserDataRange(user.getUserId());
+        user.permissionList = accountService.getUserPerms(user.getUserId());
+
+        logService.save("登录", "", "登录", user.userId);
+
+        return RespGenerstor.success(user);
+
+    }
+
+
     @ResponseBody
     @GetMapping("/info")
     public BaseResponse<UserInfoModel> info() {
@@ -89,7 +114,7 @@ public class AccountController {
 
         ObjectNode jObject = jsonMapper.jsonToObject(json, ObjectNode.class);*/
 
-       /* var Menus = accountService.getSysMenu("T01");*/
+        /* var Menus = accountService.getSysMenu("T01");*/
 
         var Menus = accountService.getUserMenuList(accountService.getLoginUserID());
 

+ 2 - 1
src/main/java/com/hz/employmentsite/filter/exception/BaseErrorEnum.java

@@ -7,7 +7,8 @@ public enum BaseErrorEnum implements BaseErrorInfoInterface {
     INTERNAL_SERVER_ERROR("500", "服务器内部错误!"),
     USER_PASSWORD_ERROR("10001", "用户名或密码错误!"),
     DELETE_NOT_DATA_ERROR("10002", "删除的数据不存在!"),
-    IMPORT_DATA_ERROR("10003", "导入数据存在错误,请查看错误列表,更正后重新导入!");
+    IMPORT_DATA_ERROR("10003", "导入数据存在错误,请查看错误列表,更正后重新导入!"),
+    APP_LOGIN_ERROR("10004", "无登录App权限!");
 
     private String code;
 

+ 1 - 1
src/main/java/com/hz/employmentsite/vo/user/UserModel.java

@@ -24,7 +24,7 @@ public class UserModel {
 
     public String updateBy;
     public String token;
-    public String userTypeId;
+    public Integer userTypeId;
     public List<DataRange> dataRangeList;
 
     public List<String> permissionList;