diff --git a/src/components/Table/ResetPasswords.vue b/src/components/Table/ResetPasswords.vue
index 2024582..2bbe98c 100644
--- a/src/components/Table/ResetPasswords.vue
+++ b/src/components/Table/ResetPasswords.vue
@@ -3,6 +3,7 @@ import { onMounted, ref, watch } from 'vue';
import { $t } from '@/plugins/i18n';
import { zxcvbn } from '@zxcvbn-ts/core';
import { isAllEmpty } from '@pureadmin/utils';
+import { REGEXP_PWD } from '@/views/login/utils/rule';
const props = defineProps({
form: {
@@ -11,7 +12,15 @@ const props = defineProps({
});
const rules = {
- password: [{ required: true, message: '请输入新密码', trigger: 'blur' }],
+ password: [
+ { required: true, message: '请输入新密码', trigger: 'blur' },
+ {
+ type: 'pattern',
+ message: $t('login.purePassWordRuleReg'),
+ trigger: ['change', 'blur'],
+ pattern: REGEXP_PWD,
+ },
+ ],
};
const pwdProgress = [
{ color: '#e74242', text: '非常弱' },
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index ca3d187..3d6cf07 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -71,8 +71,8 @@ onMounted(() => {
-
-
+
+
diff --git a/src/views/login/login-email.vue b/src/views/login/login-email.vue
index b9edaf6..812ae39 100644
--- a/src/views/login/login-email.vue
+++ b/src/views/login/login-email.vue
@@ -11,7 +11,7 @@ import { message } from '@/utils/message';
import { getTopMenu, initRouter } from '@/router/utils';
import Motion from './utils/motion';
import { ElMessage, FormInstance } from 'element-plus';
-import { onBack } from '@/views/login/utils/hooks';
+import { currentPage, onBack } from '@/views/login/utils/hooks';
const router = useRouter();
const userStore = useUserStore();
@@ -25,6 +25,7 @@ const ruleForm = reactive({
username: '1319900154@qq.com',
password: 'admin123',
emailCode: '1',
+ type: currentPage.value,
});
/**
diff --git a/src/views/login/login-form.vue b/src/views/login/login-form.vue
index e27ec1d..8adfb29 100644
--- a/src/views/login/login-form.vue
+++ b/src/views/login/login-form.vue
@@ -22,6 +22,7 @@ const { t } = useI18n();
const ruleForm = reactive({
username: 'bunny',
password: 'admin123',
+ type: currentPage.value,
});
/**
@@ -93,7 +94,7 @@ onBeforeUnmount(() => {
- 邮箱登录
+ 邮箱登录
diff --git a/src/views/login/utils/hooks.ts b/src/views/login/utils/hooks.ts
index 1c95677..7bd049c 100644
--- a/src/views/login/utils/hooks.ts
+++ b/src/views/login/utils/hooks.ts
@@ -1,9 +1,9 @@
import { ref } from 'vue';
// 0普通登录,1邮箱登录,其中0为普通登录
-export const currentPage = ref(0);
+export const currentPage = ref('default');
/** 返回到默认登录页面 */
export const onBack = () => {
- currentPage.value = 0;
+ currentPage.value = 'default';
};
diff --git a/src/views/system/adminUser/utils/columns.tsx b/src/views/system/adminUser/utils/columns.tsx
index 2191411..86f5cb1 100644
--- a/src/views/system/adminUser/utils/columns.tsx
+++ b/src/views/system/adminUser/utils/columns.tsx
@@ -1,5 +1,7 @@
import { computed, reactive, ref } from 'vue';
import { $t } from '@/plugins/i18n';
+import type { FormRules } from 'element-plus';
+import { REGEXP_PWD } from '@/views/login/utils/rule';
// 是否是更新用户信息
export const isAddUserinfo = ref(false);
@@ -36,15 +38,40 @@ export const columns: TableColumnList = [
];
// 添加规则
-export const rules: any = reactive({
+export const rules: any = reactive({
// 用户名
username: [{ required: true, message: `${$t('input')}${$t('adminUser_username')}`, trigger: 'blur' }],
// 密码
- password: [{ required: isAddUserinfo, message: `${$t('input')}${$t('adminUser_password')}`, trigger: 'blur' }],
+ password: [
+ {
+ required: isAddUserinfo.value,
+ message: `${$t('input')}${$t('adminUser_password')}`,
+ trigger: 'blur',
+ },
+ {
+ type: 'pattern',
+ message: $t('login.purePassWordRuleReg'),
+ trigger: ['change', 'blur'],
+ pattern: REGEXP_PWD,
+ },
+ ],
// 邮箱
email: [
- { required: true, message: `${$t('input')}${$t('adminUser_email')}`, trigger: 'blur' },
- { type: 'email', message: `${$t('input')}${$t('adminUser_email')}${$t('format_error')}` },
+ { required: true, message: `${$t('input')}${$t('adminUser_email')}`, trigger: ['change', 'blur'] },
+ {
+ type: 'email',
+ message: `${$t('input')}${$t('adminUser_email')}${$t('format_error')}`,
+ trigger: ['change', 'blur'],
+ },
+ ],
+ // 手机号
+ phone: [
+ {
+ type: 'pattern',
+ message: `${$t('input')}${$t('adminUser_phone')}${$t('format_error')}`,
+ trigger: ['change', 'blur'],
+ pattern: /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/,
+ },
],
// 状态
status: [{ required: true, message: `${$t('input')}${$t('adminUser_status')}`, trigger: 'blur' }],
diff --git a/src/views/system/power/power-dialog.vue b/src/views/system/power/power-dialog.vue
index 71bfc24..09211b5 100644
--- a/src/views/system/power/power-dialog.vue
+++ b/src/views/system/power/power-dialog.vue
@@ -1,5 +1,5 @@