diff --git a/src/components/Canvas/DepthCanvas/components/depth-header-tools.vue b/src/components/Canvas/DepthCanvas/components/depth-header-tools.vue index 2926d68..83c8bcd 100644 --- a/src/components/Canvas/DepthCanvas/components/depth-header-tools.vue +++ b/src/components/Canvas/DepthCanvas/components/depth-header-tools.vue @@ -13,10 +13,16 @@ > - + -
+
diff --git a/src/components/Canvas/DepthCanvas/components/tools/depth-select.vue b/src/components/Canvas/DepthCanvas/components/tools/depth-select.vue index 4dcf236..10a535f 100644 --- a/src/components/Canvas/DepthCanvas/components/tools/depth-select.vue +++ b/src/components/Canvas/DepthCanvas/components/tools/depth-select.vue @@ -1,7 +1,13 @@ @@ -22,6 +28,7 @@ diff --git a/src/views/login/register.vue b/src/views/login/register.vue index 178961b..d873ebb 100644 --- a/src/views/login/register.vue +++ b/src/views/login/register.vue @@ -24,12 +24,15 @@ /> + @@ -73,16 +76,18 @@ import { validateName, validateEmail, validatePass, validatePrivacy } from './tools' import OtherLogin from './other-login.vue' import VisibleCode from './visible-code.vue' + import PasswordTip from './password-tip.vue' import { useUserInfoStore } from '@/stores' const userInfoStore = useUserInfoStore() const router = useRouter() const ruleForm = reactive({ - name: [{ validator: validateName, trigger: 'blur' }], - email: [{ validator: validateEmail, trigger: 'blur' }], - password: [{ validator: validatePass, trigger: 'blur' }], + name: [{ validator: validateName, trigger: 'change' }], + email: [{ validator: validateEmail, trigger: 'change' }], + password: [{ validator: validatePass, trigger: 'change' }], privacy: [{ validator: validatePrivacy, trigger: 'change' }] }) const isVisible = ref(false) + const showPasswordTip = ref(false) const formData = reactive({ name: '', email: '', diff --git a/src/views/login/retrieve-password.vue b/src/views/login/retrieve-password.vue index 0ecbe51..5ac4a92 100644 --- a/src/views/login/retrieve-password.vue +++ b/src/views/login/retrieve-password.vue @@ -23,12 +23,15 @@ /> +
@@ -61,14 +64,16 @@ import { validateEmail, validatePass } from './tools' import OtherLogin from './other-login.vue' import VisibleCode from './visible-code.vue' + import PasswordTip from './password-tip.vue' import { useUserInfoStore } from '@/stores' const userInfoStore = useUserInfoStore() const router = useRouter() const ruleForm = reactive({ - email: [{ validator: validateEmail, trigger: 'blur' }], - password: [{ validator: validatePass, trigger: 'blur' }] + email: [{ validator: validateEmail, trigger: 'change' }], + password: [{ validator: validatePass, trigger: 'change' }] }) const isVisible = ref(false) + const showPasswordTip = ref(false) const formData = reactive({ email: '', password: '' diff --git a/src/views/login/tools.js b/src/views/login/tools.js index b97754d..b89ba0d 100644 --- a/src/views/login/tools.js +++ b/src/views/login/tools.js @@ -19,11 +19,28 @@ export const validateEmail = (rule, value, callback) => { } callback(str ? new Error(str) : undefined) } +// 检查长度 +export const validateLength = (v, min = 6, max = 20) => (v.length < 6 || v.length > 20); +//检查特殊字符 +export const validateSpecial = (v) => (!/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(v)); +//检查大小写字母和数字 +export const validateCase = (v) => (!/[a-z]/.test(v) || !/[A-Z]/.test(v) || !/\d/.test(v)); +// 检查密码 export const validatePass = (rule, value, callback) => { var str = '' - if (!value) { - str = t('Login.pleaseInputPassword') - } else if (value.length < 6 || value.length > 20) { + if (validateLength(value)) { + str = t('Login.passwordLengthError', { min: 6, max: 20 }) + } else if (validateSpecial(value)) { + str = t('Login.passwordSpecial') + } else if (validateCase(value)) { + str = t('Login.passwordCase') + } + callback(str ? new Error(str) : undefined) +} +// 检查密码长度 +export const validatePassLength = (rule, value, callback) => { + var str = '' + if (validateLength(value)) { str = t('Login.passwordLengthError', { min: 6, max: 20 }) } callback(str ? new Error(str) : undefined) diff --git a/src/views/nuic/index.vue b/src/views/nuic/index.vue index 732c772..05e2d3d 100644 --- a/src/views/nuic/index.vue +++ b/src/views/nuic/index.vue @@ -160,6 +160,8 @@ color: #252727; text-align: center; > .btns { + position: fixed; + bottom: 8rem; width: 100%; display: flex; align-items: center; @@ -305,7 +307,7 @@ height: 72.6rem; left: 50%; bottom: 0; - transform: translateX(-50%) translateY(80%); + transform: translateX(-50%) translateY(70%); > div.bg-1 { width: 48.4rem; height: 57.2rem; diff --git a/src/views/nuic/nuic-2.vue b/src/views/nuic/nuic-2.vue index f925d17..6caa28d 100644 --- a/src/views/nuic/nuic-2.vue +++ b/src/views/nuic/nuic-2.vue @@ -78,6 +78,7 @@ width: 100%; height: 100%; border-radius: 1.6rem; + box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1); } > .active { position: absolute;