diff --git a/kinit-admin/src/config/axios/service.ts b/kinit-admin/src/config/axios/service.ts index 350052b..bae7080 100644 --- a/kinit-admin/src/config/axios/service.ts +++ b/kinit-admin/src/config/axios/service.ts @@ -79,11 +79,6 @@ service.interceptors.response.use( wsCache.set(appStore.getToken, `${res.data.token_type} ${res.data.access_token}`) wsCache.set(appStore.getRefreshToken, res.data.refresh_token) }) - // .catch(() => { - // const authStore = useAuthStore() - // authStore.logout() - // ElMessage.error('未认证,请登录') - // }) } return response.data } else if (code === unauthorized_code) { @@ -94,11 +89,6 @@ service.interceptors.response.use( wsCache.set(appStore.getRefreshToken, res.data.refresh_token) ElMessage.error('操作失败,请重试') }) - // .catch(() => { - // const authStore = useAuthStore() - // authStore.logout() - // ElMessage.error('未认证,请登录') - // }) } else { ElMessage.error(message) } diff --git a/kinit-admin/src/hooks/web/useValidator.ts b/kinit-admin/src/hooks/web/useValidator.ts index cda9b21..b6e0012 100644 --- a/kinit-admin/src/hooks/web/useValidator.ts +++ b/kinit-admin/src/hooks/web/useValidator.ts @@ -1,4 +1,5 @@ import { useI18n } from '@/hooks/web/useI18n' +import { isEmpty, isNullOrUnDef } from '@/utils/is' const { t } = useI18n() @@ -55,6 +56,9 @@ export const useValidator = () => { } const isEmail = (rule: any, val: any, callback: Callback) => { + if (isEmpty(val) || isNullOrUnDef(val)) { + callback() + } // 判断是否为邮箱地址 if (/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(val)) { callback() @@ -63,12 +67,38 @@ export const useValidator = () => { } } + const isTelephone = (rule: any, val: any, callback: Callback) => { + if (isEmpty(val) || isNullOrUnDef(val)) { + callback() + } + // 判断是否为正确手机号 + if (/^1[3-9]\d{9}$/.test(val)) { + callback() + } else { + callback(new Error('请填写正确的手机号')) + } + } + + const isAmount = (rule: any, val: any, callback: Callback) => { + if (isEmpty(val) || isNullOrUnDef(val)) { + callback() + } + // 判断是否为正确金额 + if (/^\d+(\.\d{1,2})?$/.test(val)) { + callback() + } else { + callback(new Error('请填写正确的金额格式')) + } + } + return { required, lengthRange, notSpace, notSpecialCharacters, isEqual, - isEmail + isEmail, + isTelephone, + isAmount } } diff --git a/kinit-admin/src/views/vadmin/auth/user/components/Write.vue b/kinit-admin/src/views/vadmin/auth/user/components/Write.vue index 07f6b92..1235c2f 100644 --- a/kinit-admin/src/views/vadmin/auth/user/components/Write.vue +++ b/kinit-admin/src/views/vadmin/auth/user/components/Write.vue @@ -6,7 +6,7 @@ import { useValidator } from '@/hooks/web/useValidator' import { schema } from './user.data' import { getRoleOptionsApi } from '@/api/vadmin/auth/role' -const { required, isEmail } = useValidator() +const { required, isEmail, isTelephone } = useValidator() const props = defineProps({ currentRow: { @@ -20,7 +20,7 @@ const rules = reactive({ is_active: [required()], is_staff: [required()], role_ids: [required()], - telephone: [required()], + telephone: [required(), { validator: isTelephone, trigger: 'blur' }], email: [required(), { validator: isEmail, trigger: 'blur' }] })