Просмотр исходного кода

在前端 role 展示为小写, 在后端处理时使用大写

reghao 2 лет назад
Родитель
Сommit
d13befaa6e

+ 5 - 3
manager/src/main/java/cn/reghao/devops/manager/rbac/model/po/Role.java

@@ -23,13 +23,15 @@ import java.util.Set;
 @Table(name = "sys_role")
 @Entity
 public class Role extends BaseEntity {
-    @Pattern(regexp = "^\\w+$", message = "只能是数字、英文字符和下划线")
+    // TODO 匹配小写英文字符报错
+    // @Pattern(regexp = "^[a-z]+$", message = "角色只能是英文字符")
+    @Pattern(regexp = "^\\w+$", message = "角色只能是英文字符")
     @Column(unique = true, nullable = false)
     private String title;
-    @Pattern(regexp = "^[\\u4e00-\\u9fa5]{0,}$", message = "只能是中文字符")
+    @Pattern(regexp = "^[\\u4e00-\\u9fa5]{0,}$", message = "角色名只能是中文字符")
     @Column(nullable = false)
     private String name;
-    @Length(max = 100, message = "描述的长度不超过 100 个中文字符")
+    @Length(max = 100, message = "对角色描述的长度不超过 100 个中文字符")
     private String description;
     // Role 端维护 Role 和 Menu 之间的关系
     @ManyToMany

+ 3 - 1
manager/src/main/java/cn/reghao/devops/manager/rbac/model/vo/RoleVO.java

@@ -4,6 +4,8 @@ import cn.reghao.devops.manager.rbac.model.po.Role;
 import cn.reghao.jutil.jdk.converter.DateTimeConverter;
 import lombok.Data;
 
+import java.util.Locale;
+
 /**
  * @author reghao
  * @date 2021-07-14 14:14:07
@@ -19,7 +21,7 @@ public class RoleVO {
 
     public RoleVO(Role role) {
         this.roleId = role.getId();
-        this.title = role.getTitle().split("ROLE_")[1];
+        this.title = role.getTitle().split("ROLE_")[1].toLowerCase(Locale.ROOT);
         this.name = role.getName();
         this.description = role.getDescription();
         this.createTime = DateTimeConverter.format(role.getCreateTime());

+ 3 - 3
manager/src/main/java/cn/reghao/devops/manager/rbac/service/impl/RoleServiceImpl.java

@@ -10,6 +10,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Locale;
 import java.util.Set;
 
 /**
@@ -19,7 +20,6 @@ import java.util.Set;
 @Slf4j
 @Service
 public class RoleServiceImpl implements RoleService {
-    private final String rolePrefix = "ROLE_";
     private final RoleQuery roleQuery;
     private final RoleRepository roleRepository;
 
@@ -30,8 +30,8 @@ public class RoleServiceImpl implements RoleService {
 
     @Override
     public void addOrModify(Role role) {
-        String title = rolePrefix + role.getTitle();
-        role.setTitle(title);
+        String title = String.format("ROLE_%s", role.getTitle());
+        role.setTitle(title.toUpperCase(Locale.ROOT));
         roleRepository.save(role);
     }
 

+ 1 - 1
manager/src/main/resources/templates/rbac/role/add.html

@@ -13,7 +13,7 @@
                     <input class="layui-input" type="text" name="title"  readonly="true" th:value="${role?.title}">
                 </span>
                 <span th:if="${role} == null">
-                    <input class="layui-input" type="text" name="title"  placeholder="请输入角色(只能是英文字符)" th:value="${role?.title}">
+                    <input class="layui-input" type="text" name="title"  placeholder="请输入角色(只能是小写英文字符)" th:value="${role?.title}">
                 </span>
             </div>
         </div>