style: icon
This commit is contained in:
@@ -25,7 +25,7 @@ export default {
|
||||
name: "personalCenter",
|
||||
component: () => import("@/views/auth/personalCenter/index.vue"),
|
||||
meta: {
|
||||
icon: "ri:admin-fill",
|
||||
icon: "material-symbols:manage-accounts",
|
||||
title: "个人中心"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -43,13 +43,32 @@ const passwordForm = ref({
|
||||
|
||||
// 修改密码表单规则
|
||||
const passwordRules = {
|
||||
oldPassword: [
|
||||
{ required: true, message: "请输入原密码", trigger: "blur" },
|
||||
{ min: 6, message: "密码长度不能小于6位", trigger: "blur" }
|
||||
],
|
||||
oldPassword: [{ required: true, message: "请输入原密码", trigger: "blur" }],
|
||||
newPassword: [
|
||||
{ required: true, message: "请输入新密码", trigger: "blur" },
|
||||
{ min: 6, message: "密码长度不能小于6位", trigger: "blur" }
|
||||
{ min: 8, max: 18, message: "密码长度必须在8-18位之间", trigger: "blur" },
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
// 检查是否包含数字
|
||||
const hasNumber = /\d/.test(value);
|
||||
// 检查是否包含字母
|
||||
const hasLetter = /[a-zA-Z]/.test(value);
|
||||
// 检查是否包含特殊符号
|
||||
const hasSymbol = /[!@#$%^&*()_+\-=\[\]{};:'",.<>/?\\|]/.test(value);
|
||||
|
||||
// 计算包含的字符类型数量
|
||||
const typeCount = [hasNumber, hasLetter, hasSymbol].filter(
|
||||
Boolean
|
||||
).length;
|
||||
|
||||
if (typeCount < 2) {
|
||||
callback(new Error("密码必须包含数字、字母、符号中的任意两种"));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
},
|
||||
trigger: "blur"
|
||||
}
|
||||
],
|
||||
confirmPassword: [
|
||||
{ required: true, message: "请确认新密码", trigger: "blur" },
|
||||
@@ -168,6 +187,7 @@ const handleChangePassword = async (formEl: FormInstance | undefined) => {
|
||||
const res = await request(authApi("updateManagerPassword"), {
|
||||
method: "POST",
|
||||
body: JSON.stringify({
|
||||
id: userInfo.value.id,
|
||||
oldPassword: passwordForm.value.oldPassword,
|
||||
newPassword: passwordForm.value.newPassword
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user