Skip to content

Commit 2486ecf

Browse files
committed
角色校验和国际化相关配置
1 parent 9e25b59 commit 2486ecf

6 files changed

Lines changed: 31 additions & 91 deletions

File tree

src/locale/en-US.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ export default {
4545
'page.system.user.header.defaultRole': 'DefaultRole',
4646
'page.system.user.header.status': 'Status',
4747
'page.system.user.header.createTime': 'Create Time',
48-
'page.system.role.header.name': 'Name',
49-
'page.system.role.header.role': 'Role',
48+
'page.system.role.header.name': 'RoleName',
49+
'page.system.role.header.role': 'RoleId',
5050
'page.system.role.header.status': 'Status',
5151
'page.system.role.header.createTime': 'Create Time',
5252
'header.language':'EN',
@@ -69,6 +69,8 @@ export default {
6969
'validate.username': 'Username must be at least 4 characters."',
7070
'validate.email': 'Invalid email address.',
7171
'validate.phone': 'Invalid phone number.',
72+
'validate.role': 'RoleId: at least 2 English letters.',
73+
'validate.roleName': 'RoleName must be at least 2 characters.',
7274
'dict.status.all': 'All',
7375
'dict.status.disabled': 'Disabled',
7476
'dict.status.enabled': 'Enabled',

src/locale/zh-CN.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ export default {
4545
'page.system.user.header.defaultRole': '默认角色',
4646
'page.system.user.header.status': '状态',
4747
'page.system.user.header.createTime': '创建时间',
48-
'page.system.role.header.name': '名称',
49-
'page.system.role.header.role': '角色',
48+
'page.system.role.header.name': '角色名称',
49+
'page.system.role.header.role': '角色编码',
5050
'page.system.role.header.status': '状态',
5151
'page.system.role.header.createTime': '创建时间',
5252
'header.language':'中文',
@@ -69,6 +69,8 @@ export default {
6969
'validate.username': '用户名至少4个字符。',
7070
'validate.email': '无效的邮箱地址。',
7171
'validate.phone': '无效的手机号。',
72+
'validate.role': '角色编码至少2个字符的纯英文。',
73+
'validate.roleName': '角色至少2个字符的纯英文。',
7274
'dict.status.all': '全部',
7375
'dict.status.disabled': '停用',
7476
'dict.status.enabled': '启用',

src/mock/system/role.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@ import { http, HttpResponse } from "msw";
33
const zh ={
44
'super':'超级管理员',
55
'admin':'管理员',
6-
'user':'普通用户'
6+
'user':'普通用户',
7+
success: "操作成功",
78
}
89
const en ={
910
'super':'Super',
1011
'admin':'Admin',
11-
'user':'User'
12+
'user':'User',
13+
success: "Success",
1214
}
1315
const localeMap: Record<string, Record<string, string>> = {
1416
zh,

src/pages/system/role/add-dialog.tsx

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -7,52 +7,22 @@ export default function Index(props: {open: boolean,setOpen:(open:boolean)=>void
77
const {open,setOpen,onSave}=props;
88
const intl = useIntl();
99
const fields:Field[] = [
10-
{
11-
name: "username",
12-
label: "page.system.user.header.userName",
13-
defaultValue: "",
14-
validate: z.string().min(2, {
15-
message: intl.formatMessage({ id: 'validate.username' }),
16-
})
17-
},
1810
{
1911
name: "name",
20-
label: "page.system.user.header.name",
12+
label: "page.system.role.header.name",
2113
defaultValue: "",
2214
validate: z.string().min(2, {
23-
message: intl.formatMessage({ id: 'validate.name' }),
24-
})
25-
},
26-
{
27-
name: "email",
28-
label: "page.system.user.header.email",
29-
defaultValue: "",
30-
validate: z.string().email({
31-
message: intl.formatMessage({ id: 'validate.email' }),
15+
message: intl.formatMessage({ id: 'validate.roleName' }),
3216
})
3317
},
3418
{
35-
name: "phone",
36-
label: "page.system.user.header.phone",
19+
name: "role",
20+
label: "page.system.role.header.role",
3721
defaultValue: "",
38-
validate: z.string().regex(/^1[3-9]\d{9}$/, {
39-
message: intl.formatMessage({ id: 'validate.phone' }),
22+
validate: z.string().regex(/^[a-zA-Z]{2,}$/, {
23+
message: intl.formatMessage({ id: 'validate.role' }),
4024
})
4125
},
42-
{
43-
name: "group",
44-
label: "page.system.user.header.groupName",
45-
defaultValue: "",
46-
validate: z.string(),
47-
type: "group"
48-
},
49-
{
50-
name: "defaultRole",
51-
label: "page.system.user.header.defaultRole",
52-
defaultValue: "all",
53-
validate: z.string(),
54-
type: "role"
55-
},
5626
]
5727
const schemaShape = fields.reduce((acc, field) => {
5828
acc[field.name] = field.validate || z.string().optional();

src/pages/system/role/edit-dialog.tsx

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -11,50 +11,20 @@ export default function Index(props: {setOpen: (open: boolean) => void, open: bo
1111
const fields:Field[] = [
1212
{
1313
name: "name",
14-
label: "page.system.user.header.name",
14+
label: "page.system.role.header.name",
1515
defaultValue: "",
1616
validate: z.string().min(2, {
17-
message: intl.formatMessage({ id: 'validate.name' }),
17+
message: intl.formatMessage({ id: 'validate.roleName' }),
1818
})
1919
},
2020
{
21-
name: "username",
22-
label: "page.system.user.header.userName",
21+
name: "role",
22+
label: "page.system.role.header.role",
2323
defaultValue: "",
24-
validate: z.string().min(2, {
25-
message: intl.formatMessage({ id: 'validate.username' }),
26-
})
27-
},
28-
{
29-
name: "email",
30-
label: "page.system.user.header.email",
31-
defaultValue: "",
32-
validate: z.string().email({
33-
message: intl.formatMessage({ id: 'validate.email' }),
34-
})
35-
},
36-
{
37-
name: "phone",
38-
label: "page.system.user.header.phone",
39-
defaultValue: "",
40-
validate: z.string().regex(/^1[3-9]\d{9}$/, {
41-
message: intl.formatMessage({ id: 'validate.phone' }),
24+
validate: z.string().regex(/^[a-zA-Z]{2,}$/, {
25+
message: intl.formatMessage({ id: 'validate.role' }),
4226
})
4327
},
44-
{
45-
name: "group",
46-
label: "page.system.user.header.groupName",
47-
defaultValue: "all",
48-
validate: z.string(),
49-
type: "group"
50-
},
51-
{
52-
name: "defaultRole",
53-
label: "page.system.user.header.defaultRole",
54-
defaultValue: "",
55-
validate: z.string(),
56-
type: "role"
57-
},
5828
]
5929
const [values, setValues] = useState<Record<string, unknown>>({});
6030

src/pages/system/role/index.tsx

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -102,16 +102,11 @@ export default function Role() {
102102
setId(row.id);
103103
setIsEditDialogOpen(true);
104104
}
105-
function handleReset(row: Role) {
106-
axios.post("/system/users/reset/" + row.id).then(res => {
107-
toast.success(res.data.message);
108-
})
109-
}
110105
function handleDelete(rows: Role[]) {
111106
if (rows.length === 0) {
112107
return;
113108
}
114-
axios.delete("/system/users", {
109+
axios.delete("/system/roles", {
115110
data: rows.map(item => item.id)
116111
}).then(res => {
117112
setParams({ ...params, page: 1 });
@@ -120,7 +115,7 @@ export default function Role() {
120115

121116
}
122117
function handleStatusChange(row: Role) {
123-
axios.post("/system/users/edit",
118+
axios.post("/system/roles/edit",
124119
{...row}).then(res => {
125120
toast.success(res.data.message);
126121
})
@@ -190,14 +185,14 @@ export default function Role() {
190185
},
191186
{
192187
accessorKey: "create",
193-
header: intl.formatMessage({ id: 'page.system.user.header.createTime' }),
188+
header: intl.formatMessage({ id: 'page.system.role.header.createTime' }),
194189
cell: ({ row }) => (
195190
<div >{row.getValue("create")}</div>
196191
),
197192
},
198193
{
199194
accessorKey: "status",
200-
header: intl.formatMessage({ id: 'page.system.user.header.status' }),
195+
header: intl.formatMessage({ id: 'page.system.role.header.status' }),
201196
cell: ({ row }) =>
202197
<StatusSwitch
203198
initial={row.getValue("status") as string}
@@ -210,7 +205,7 @@ export default function Role() {
210205
id: "actions",
211206
enableHiding: false,
212207
cell: ({ row }) => {
213-
const user = row.original as Role;
208+
const role = row.original as Role;
214209
return (
215210
<DropdownMenu>
216211
<DropdownMenuTrigger asChild>
@@ -228,9 +223,8 @@ export default function Role() {
228223
Copy payment ID
229224
</DropdownMenuItem> */}
230225
<DropdownMenuSeparator />
231-
<DropdownMenuItem onClick={() => handleEdit(user)}>{intl.formatMessage({ id: 'button.edit' })}</DropdownMenuItem>
232-
<DropdownMenuItem onClick={() => handleDelete([user])}>{intl.formatMessage({ id: 'button.delete' })}</DropdownMenuItem>
233-
<DropdownMenuItem onClick={() => handleReset(user)}>{intl.formatMessage({ id: 'button.reset.password' })}</DropdownMenuItem>
226+
<DropdownMenuItem onClick={() => handleEdit(role)}>{intl.formatMessage({ id: 'button.edit' })}</DropdownMenuItem>
227+
<DropdownMenuItem onClick={() => handleDelete([role])}>{intl.formatMessage({ id: 'button.delete' })}</DropdownMenuItem>
234228
</DropdownMenuContent>
235229
</DropdownMenu>
236230
)

0 commit comments

Comments
 (0)