Merge branch 'StableVersion' of ssh://18.167.251.121:10002/aidlab/aida_front into StableVersion

This commit is contained in:
X1627315083
2025-11-17 15:20:31 +08:00
5 changed files with 310 additions and 7 deletions

View File

@@ -422,6 +422,8 @@ export default defineComponent({
},
//创建定时器
createTimer() {
clearInterval(this.timer);
this.time = 60;
this.timer = setInterval(() => {
this.time--;
if (!this.time) {
@@ -640,7 +642,7 @@ export default defineComponent({
transition: all .3s;
&.active{
color: #b8b8b8;
background: #f5f5f5;
background: #F9FAFA;
}
&:hover{
border: 0.1rem solid #000;

View File

@@ -193,10 +193,56 @@
<div v-show="frogetPasswordStep === 3">
<div class="forget_passored_form_content">
<div class="forget_passored_form_title">Password</div>
<div v-show="passwordConditionShow" class="conditionShow">
<div class="item">
<div class="icon">
<i
v-show="!passwordCondition.length"
class="fi fi-br-cross-small"
></i>
<i
v-show="passwordCondition.length"
class="fi fi-br-check"
></i>
</div>
<div class="text">At least 8 characters long</div>
</div>
<div class="item">
<div class="icon">
<i
v-show="!passwordCondition.special"
class="fi fi-br-cross-small"
></i>
<i
v-show="passwordCondition.special"
class="fi fi-br-check"
></i>
</div>
<div class="text">Must contain special characters</div>
</div>
<div class="item">
<div class="icon">
<i
v-show="!passwordCondition.group"
class="fi fi-br-cross-small"
></i>
<i
v-show="passwordCondition.group"
class="fi fi-br-check"
></i>
</div>
<div class="text">
Mix of uppercase, lowercase and numbers
</div>
</div>
</div>
<input
class="forget_passored_form_input"
placeholder="Enter a new password"
v-model="newPassword"
@focus="() => (passwordConditionShow = true)"
@blur="() => (passwordConditionShow = false)"
@input="passwordInput"
@keydown.enter="submitResetPassword()"
/>
</div>
@@ -302,6 +348,12 @@ export default defineComponent({
passwordType: "password",
userId: "",
loginTime: true,
passwordConditionShow:false,
passwordCondition: {
length: false,
special: false,
group: false,
},
};
},
onBeforeUnmount() {
@@ -544,9 +596,26 @@ export default defineComponent({
sessionStorage.setItem("sessionId", randomNum);
sessionStorage.setItem("record", JSON.stringify([]));
}
},
passwordInput(e) {
this.isPassword(this.newPassword);
},
isPassword(password: any) {
this.passwordCondition.length = /.{8,}/.test(password);
this.passwordCondition.special =
/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(password);
this.passwordCondition.group =
/[a-z]/.test(password) && /[A-Z]/.test(password) && /\d/.test(password);
return Object.values(this.passwordCondition).filter(
(value) => value === true
).length;
},
//修改密码提交
submitResetPassword() {
if (this.isPassword(this.newPassword) < 3) {
message.info("You must satisfy ALL password conditions to register.");
return;
}
let data = {
email: this.forgetPasswordEmail,
emailVerifyCode: this.forgetEmailValue,
@@ -563,6 +632,8 @@ export default defineComponent({
//创建定时器
createTimer() {
clearInterval(this.timer);
this.time = 60;
this.timer = setInterval(() => {
this.time--;
if (this.time <= 0) this.clearTimer(0);
@@ -607,6 +678,36 @@ export default defineComponent({
.login_page {
width: 100%;
height: 100%;
.conditionShow {
bottom: 0;
position: absolute;
right: 0;
left: auto;
transform: translateY(-5rem);
background: #404040;
color: #fff;
font-size: 1.4rem;
padding: 2rem;
border-radius: 2rem;
z-index: 2;
> .item {
display: flex;
align-items: center;
margin-bottom: 0.5rem;
&:last-child {
margin-bottom: 0;
}
> .icon {
margin-right: 1rem;
i {
display: flex;
// &.fi-br-cross-small{
// color: red;
// }
}
}
}
}
.page_content {
.login_content {
margin: 0 auto;

View File

@@ -189,10 +189,56 @@
<div v-show="frogetPasswordStep === 3">
<div class="forget_passored_form_content">
<div class="forget_passored_form_title">Password</div>
<div v-show="passwordConditionShow" class="conditionShow">
<div class="item">
<div class="icon">
<i
v-show="!passwordCondition.length"
class="fi fi-br-cross-small"
></i>
<i
v-show="passwordCondition.length"
class="fi fi-br-check"
></i>
</div>
<div class="text">At least 8 characters long</div>
</div>
<div class="item">
<div class="icon">
<i
v-show="!passwordCondition.special"
class="fi fi-br-cross-small"
></i>
<i
v-show="passwordCondition.special"
class="fi fi-br-check"
></i>
</div>
<div class="text">Must contain special characters</div>
</div>
<div class="item">
<div class="icon">
<i
v-show="!passwordCondition.group"
class="fi fi-br-cross-small"
></i>
<i
v-show="passwordCondition.group"
class="fi fi-br-check"
></i>
</div>
<div class="text">
Mix of uppercase, lowercase and numbers
</div>
</div>
</div>
<input
class="forget_passored_form_input"
placeholder="Enter a new password"
v-model="newPassword"
@focus="() => (passwordConditionShow = true)"
@blur="() => (passwordConditionShow = false)"
@input="passwordInput"
@keydown.enter="submitResetPassword()"
/>
</div>
@@ -258,6 +304,7 @@ import { useI18n } from "vue-i18n";
import { setLang } from "@/tool/guide";
import md5 from "md5";
import router from "@/router";
import { pass } from "three/tsl";
export default defineComponent({
components: {
VerificationCodeInput,
@@ -307,6 +354,12 @@ export default defineComponent({
loginTime: true,
animation: false,
inputCodeTime: null as any,
passwordConditionShow:false,
passwordCondition: {
length: false,
special: false,
group: false,
},
};
},
onBeforeUnmount() {
@@ -373,8 +426,6 @@ export default defineComponent({
email: this.forgetPasswordEmail,
operationType: "FORGET_PWD",
};
this.frogetPasswordStep = 2;
(this.forgetEmailCode = ["", "", "", "", "", ""]), this.createTimer();
Https.axiosPost(Https.httpUrls.accountSendEmail, data).then((rv: any) => {
if (rv) {
this.frogetPasswordStep = 2;
@@ -415,14 +466,12 @@ export default defineComponent({
checkRobot() {
this.isCheckRobot = !this.isCheckRobot;
},
//提交账号密码预先登录
submitPerLogin() {
//输入账号密码
if (this.emailStap >= 2) {
let verificationCodeInputDom:any = this.$refs.verificationCodeInputDom
let code = verificationCodeInputDom.getCtData.map(item => item).join('');
console.log(code)
if(code.length !== this.emailCode.length){
message.info("Please enter the complete verification code.");
}else{
@@ -564,9 +613,26 @@ export default defineComponent({
sessionStorage.setItem("sessionId", randomNum);
sessionStorage.setItem("record", JSON.stringify([]));
}
},
passwordInput(e) {
this.isPassword(this.newPassword);
},
isPassword(password: any) {
this.passwordCondition.length = /.{8,}/.test(password);
this.passwordCondition.special =
/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(password);
this.passwordCondition.group =
/[a-z]/.test(password) && /[A-Z]/.test(password) && /\d/.test(password);
return Object.values(this.passwordCondition).filter(
(value) => value === true
).length;
},
//修改密码提交
submitResetPassword() {
if (this.isPassword(this.newPassword) < 3) {
message.info("You must satisfy ALL password conditions to register.");
return;
}
let data = {
email: this.forgetPasswordEmail,
emailVerifyCode: this.forgetEmailValue,
@@ -583,6 +649,8 @@ export default defineComponent({
//创建定时器
createTimer() {
clearInterval(this.timer);
this.time = 60;
this.timer = setInterval(() => {
this.time--;
if (this.time <= 0) this.clearTimer(0);
@@ -635,6 +703,36 @@ export default defineComponent({
.login_page {
width: 100%;
height: 100%;
.conditionShow {
bottom: 0;
position: absolute;
right: 0;
left: auto;
transform: translateY(-5rem);
background: #404040;
color: #fff;
font-size: 1.4rem;
padding: 2rem;
border-radius: 2rem;
z-index: 2;
> .item {
display: flex;
align-items: center;
margin-bottom: 0.5rem;
&:last-child {
margin-bottom: 0;
}
> .icon {
margin-right: 1rem;
i {
display: flex;
// &.fi-br-cross-small{
// color: red;
// }
}
}
}
}
.page_content {
.login_content {
margin: 0 auto;
@@ -720,7 +818,6 @@ export default defineComponent({
cursor: pointer;
}
}
.login_form_input {
width: 100%;
height: 6.75rem;
@@ -887,7 +984,7 @@ export default defineComponent({
.forget_passored_form_content {
margin-top: 3.5rem;
position: relative;
.forget_passored_form_title {
font-size: 2.4rem;
font-weight: bold;

View File

@@ -200,10 +200,56 @@
<div v-show="frogetPasswordStep === 3">
<div class="forget_passored_form_content">
<div class="forget_passored_form_title">Password</div>
<div v-show="passwordConditionShow" class="conditionShow">
<div class="item">
<div class="icon">
<i
v-show="!passwordCondition.length"
class="fi fi-br-cross-small"
></i>
<i
v-show="passwordCondition.length"
class="fi fi-br-check"
></i>
</div>
<div class="text">At least 8 characters long</div>
</div>
<div class="item">
<div class="icon">
<i
v-show="!passwordCondition.special"
class="fi fi-br-cross-small"
></i>
<i
v-show="passwordCondition.special"
class="fi fi-br-check"
></i>
</div>
<div class="text">Must contain special characters</div>
</div>
<div class="item">
<div class="icon">
<i
v-show="!passwordCondition.group"
class="fi fi-br-cross-small"
></i>
<i
v-show="passwordCondition.group"
class="fi fi-br-check"
></i>
</div>
<div class="text">
Mix of uppercase, lowercase and numbers
</div>
</div>
</div>
<input
class="forget_passored_form_input"
placeholder="Enter a new password"
v-model="newPassword"
@focus="() => (passwordConditionShow = true)"
@blur="() => (passwordConditionShow = false)"
@input="passwordInput"
@keydown.enter="submitResetPassword()"
/>
</div>
@@ -315,6 +361,12 @@ export default defineComponent({
loginTime: true,
animation: false,
inputCodeTime: null as any,
passwordConditionShow:false,
passwordCondition: {
length: false,
special: false,
group: false,
},
};
},
onBeforeUnmount() {
@@ -572,9 +624,26 @@ export default defineComponent({
sessionStorage.setItem("sessionId", randomNum);
sessionStorage.setItem("record", JSON.stringify([]));
}
},
passwordInput(e) {
this.isPassword(this.newPassword);
},
isPassword(password: any) {
this.passwordCondition.length = /.{8,}/.test(password);
this.passwordCondition.special =
/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(password);
this.passwordCondition.group =
/[a-z]/.test(password) && /[A-Z]/.test(password) && /\d/.test(password);
return Object.values(this.passwordCondition).filter(
(value) => value === true
).length;
},
//修改密码提交
submitResetPassword() {
if (this.isPassword(this.newPassword) < 3) {
message.info("You must satisfy ALL password conditions to register.");
return;
}
let data = {
email: this.forgetPasswordEmail,
emailVerifyCode: this.forgetEmailValue,
@@ -591,6 +660,8 @@ export default defineComponent({
//创建定时器
createTimer() {
clearInterval(this.timer);
this.time = 60;
this.timer = setInterval(() => {
this.time--;
if (this.time <= 0) this.clearTimer(0);
@@ -643,6 +714,36 @@ export default defineComponent({
.login_page {
width: 100%;
height: 100%;
.conditionShow {
bottom: 0;
position: absolute;
right: 0;
left: auto;
transform: translateY(-5rem);
background: #404040;
color: #fff;
font-size: 1.4rem;
padding: 2rem;
border-radius: 2rem;
z-index: 2;
> .item {
display: flex;
align-items: center;
margin-bottom: 0.5rem;
&:last-child {
margin-bottom: 0;
}
> .icon {
margin-right: 1rem;
i {
display: flex;
// &.fi-br-cross-small{
// color: red;
// }
}
}
}
}
.page_content {
.login_content {
margin: 0 auto;

View File

@@ -742,6 +742,8 @@ export default defineComponent({
//创建定时器
createTimer() {
clearInterval(this.timer);
this.time = 60;
this.timer = setInterval(() => {
this.time--;
if (!this.time) {