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;