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 @@