|
@@ -115,15 +115,20 @@
|
|
|
import md5 from 'js-md5';
|
|
|
import { ref, onMounted, reactive, toRefs } from 'vue';
|
|
|
import { Toast } from 'vant';
|
|
|
+// import { sentRegisterCode, tAdminSave, getLastSendTime } from '@/service/register';
|
|
|
import { sentRegisterCode, tAdminSave } from '@/service/register';
|
|
|
import sHeader from '@/components/SimpleHeader';
|
|
|
import logiLogoImgUrl from "@/assets/login/logo.png";
|
|
|
import { useRouter } from 'vue-router';
|
|
|
import { getLocal, setLocal, styleUrl } from '@/common/js/utils';
|
|
|
+import { useI18n } from "vue-i18n";
|
|
|
+
|
|
|
|
|
|
|
|
|
export default {
|
|
|
setup() {
|
|
|
+ // 引入语言
|
|
|
+ const { t } = useI18n();
|
|
|
const active = ref(0);
|
|
|
const username = ref('');
|
|
|
const name = ref('');
|
|
@@ -138,7 +143,7 @@ export default {
|
|
|
const verCodeTime = reactive({
|
|
|
time: 0
|
|
|
});
|
|
|
-
|
|
|
+ // let lastSendTime = ref('');
|
|
|
let phoneOrEmailStr = ref('');
|
|
|
|
|
|
const router = useRouter();
|
|
@@ -146,7 +151,7 @@ export default {
|
|
|
// 注册点击
|
|
|
const registerSubmit = async () => {
|
|
|
if (password.value !== passwordCheck.value) {
|
|
|
- Toast.fail('两次密码不一致,请确认密码');
|
|
|
+ Toast.fail(t('register.twoTypedDiff'));
|
|
|
return false;
|
|
|
}
|
|
|
const { data } = await tAdminSave({
|
|
@@ -168,6 +173,8 @@ export default {
|
|
|
Toast.fail(data.message);
|
|
|
}
|
|
|
};
|
|
|
+ // const lastSentTimeStr = localStorage.getItem('lastSendTime');
|
|
|
+ // console.log("从本地获取到的lastSendTime>>>", lastSentTimeStr);
|
|
|
|
|
|
// 发送验证码
|
|
|
const seedVerCode = async () => {
|
|
@@ -178,30 +185,57 @@ export default {
|
|
|
} else {
|
|
|
phoneOrEmailStr = email.value;
|
|
|
}
|
|
|
+
|
|
|
+ // 先获取上次发送验证码的时间
|
|
|
+ // const { data } = await getLastSendTime({
|
|
|
+ // phoneOrEmail: phoneOrEmailStr,
|
|
|
+ // });
|
|
|
+ // if (data.code === '00000') {
|
|
|
+ // lastSendTime.value = data.data;
|
|
|
+ // }
|
|
|
+ // const currentTime = new Date().getTime();
|
|
|
+ // console.log("是否符合发送验证码的条件:", currentTime - lastSendTime.value > 1000 * 60 * 10 || lastSendTime.value === '');
|
|
|
+ // if (currentTime - lastSendTime.value > 1000 * 60 * 10 || lastSendTime.value === '') {
|
|
|
const { data } = await sentRegisterCode({
|
|
|
ifForeign: ifForeign.value,
|
|
|
phoneOrEmail: phoneOrEmailStr
|
|
|
});
|
|
|
- console.log('seedVerCodeSuccess', data);
|
|
|
+ // console.log('seedVerCodeSuccess', data);
|
|
|
if (data.code === '00000') {
|
|
|
Toast(data.data);
|
|
|
- console.log('seedVerCodeSuccess');
|
|
|
- verCodeTime.time = 3 * 60;
|
|
|
+ // 记录本次发送验证码的时间
|
|
|
+ // setLocal('lastSendTime', currentTime);
|
|
|
+ verCodeTime.time = 1 * 60; // 1分钟定时器,60s后可以更换验证方式
|
|
|
verCodeTimeInterval();
|
|
|
} else {
|
|
|
Toast.fail(data.message);
|
|
|
}
|
|
|
+ // } else {
|
|
|
+ // Toast('请勿频繁发送验证码,10分钟后再试');
|
|
|
+ // return;
|
|
|
+ // }
|
|
|
}
|
|
|
- // 验证码发送成功开始3分钟倒计时
|
|
|
+ // 验证码发送成功开始1分钟倒计时
|
|
|
const verCodeTimeInterval = () => {
|
|
|
- verCodeTime.time--;
|
|
|
- setLocal('registerVerCodeTime', verCodeTime.time)
|
|
|
- if (verCodeTime.time !== 0) {
|
|
|
- setTimeout(() => {
|
|
|
- verCodeTimeInterval();
|
|
|
- }, 1000);
|
|
|
- }
|
|
|
+ const intervalId = setInterval(() => {
|
|
|
+ verCodeTime.time--;
|
|
|
+ setLocal('registerVerCodeTime', verCodeTime.time);
|
|
|
+ if (verCodeTime.time === 0) {
|
|
|
+ clearInterval(intervalId); // 清除定时器
|
|
|
+ }
|
|
|
+ }, 1000);
|
|
|
}
|
|
|
+ // 验证码发送成功开始3分钟倒计时
|
|
|
+ // const verCodeTimeInterval = () => {
|
|
|
+ // verCodeTime.time--;
|
|
|
+ // setLocal('registerVerCodeTime', verCodeTime.time)
|
|
|
+ // if (verCodeTime.time !== 0) {
|
|
|
+ // setTimeout(() => {
|
|
|
+ // verCodeTimeInterval();
|
|
|
+ // }, 1000);
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
// 初始化页面获取验证码倒计时
|
|
|
onMounted(async () => {
|
|
|
// 加载样式
|
|
@@ -259,6 +293,7 @@ export default {
|
|
|
signinModel: 'aaabb',
|
|
|
active,
|
|
|
logonMode,
|
|
|
+ // lastSendTime,
|
|
|
}
|
|
|
},
|
|
|
components: { sHeader }
|