|
|
@@ -13,7 +13,12 @@
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <SliderVerify @statu="slide" v-if="showSliderVerify" />
|
|
|
+ <ClickVerify class="button-submit" v-model:show="showClickVerify" @success="formSubmit">
|
|
|
+ <el-button class="submit" type="primary" :loading="loading" @click="formValidate">
|
|
|
+ <span v-if="loading">{{ t('user.login.logining1') }}</span>
|
|
|
+ <span v-else>{{ t('user.login.login') }}</span>
|
|
|
+ </el-button>
|
|
|
+ </ClickVerify>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<div class="text-link">
|
|
|
@@ -21,15 +26,10 @@
|
|
|
<span @click="islogin = false">{{ t('user.login.forgetpassword') }}</span>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button class="submit" type="primary" :loading="loading" @click="formSubmit">
|
|
|
- <span v-if="loading">{{ t('user.login.logining1') }}</span>
|
|
|
- <span v-else>{{ t('user.login.login') }}</span>
|
|
|
- </el-button>
|
|
|
- </el-form-item>
|
|
|
</el-form>
|
|
|
<Forget @close="islogin = true" v-else></Forget>
|
|
|
- <el-dialog class="register" v-model="isRegister" :title="t('user.register.title1')" :width="360" center align-center>
|
|
|
+ <el-dialog class="register" v-model="isRegister" :title="t('user.register.title1')" :width="360" center
|
|
|
+ align-center>
|
|
|
<div v-loading="rloading" v-if="rloading"></div>
|
|
|
<div style="text-align: center;" v-else>
|
|
|
<app-qrcode class="app-register-code__qrcode" :width="240" :text="qrContent" />
|
|
|
@@ -56,7 +56,7 @@ import SignLayout from '../components/layout/index.vue'
|
|
|
import Forget from "../forget/index.vue"
|
|
|
import AppQrcode from '@/components/base/qrcode/index.vue'
|
|
|
import PasswordMidify from '@pc/components/layouts/header/components/modify/index.vue' // 待优化
|
|
|
-import SliderVerify from '@/components/base/slider-verify/index.vue' // 临时调用,待优化
|
|
|
+import ClickVerify from '@pc/components/base/click-verify/index.vue'
|
|
|
|
|
|
const { formData, userLogin, userLogout } = useLogin()
|
|
|
const route = useRoute()
|
|
|
@@ -71,8 +71,7 @@ const isRegister = shallowRef(false)
|
|
|
const qrContent = shallowRef('')
|
|
|
const rloading = shallowRef(false)
|
|
|
const showPasswordMidify = shallowRef(false) // 显示修改密码
|
|
|
-const showSliderVerify = shallowRef(true) // 验证滑块组件重载
|
|
|
-const sliderVerifyStatus = shallowRef(false) // 滑块验证状态
|
|
|
+const showClickVerify = shallowRef(false) // 显示验证窗口
|
|
|
const { t } = i18n.global
|
|
|
|
|
|
const formRules: FormRules = {
|
|
|
@@ -94,53 +93,45 @@ const click = () => {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-// 滑块验证
|
|
|
-const slide = (vfcStatu: { statu: string }) => {
|
|
|
- if (vfcStatu.statu === 'success') {
|
|
|
- sliderVerifyStatus.value = true
|
|
|
- } else {
|
|
|
- sliderVerifyStatus.value = false
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const onClosed = () => {
|
|
|
- userLogout()
|
|
|
- showPasswordMidify.value = false
|
|
|
+// 表单验证
|
|
|
+const formValidate = () => {
|
|
|
+ formRef.value?.validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ showClickVerify.value = true
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
-const formSubmit = () => {
|
|
|
+const formSubmit = async () => {
|
|
|
const reset = () => {
|
|
|
loading.value = false
|
|
|
- showSliderVerify.value = false
|
|
|
- sliderVerifyStatus.value = false
|
|
|
formData.password = ''
|
|
|
- setTimeout(() => {
|
|
|
- showSliderVerify.value = true
|
|
|
- }, 0)
|
|
|
}
|
|
|
- formRef.value?.validate(async (valid) => {
|
|
|
- if (valid && sliderVerifyStatus.value) {
|
|
|
- try {
|
|
|
- loading.value = true
|
|
|
- const forcedPasswordChange = await userLogin()
|
|
|
- if (forcedPasswordChange) {
|
|
|
- reset()
|
|
|
- showPasswordMidify.value = true
|
|
|
- } else {
|
|
|
- await menuStore.getUserRoutes()
|
|
|
- const redirect = route.query.redirect
|
|
|
- if (redirect) {
|
|
|
- router.replace(redirect.toString())
|
|
|
- } else {
|
|
|
- router.replace('/')
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (err) {
|
|
|
- reset()
|
|
|
- ElMessage.error(t('user.login.tips3') + err as string)
|
|
|
+
|
|
|
+ try {
|
|
|
+ loading.value = true
|
|
|
+ const forcedPasswordChange = await userLogin()
|
|
|
+ if (forcedPasswordChange) {
|
|
|
+ reset()
|
|
|
+ showPasswordMidify.value = true
|
|
|
+ } else {
|
|
|
+ await menuStore.getUserRoutes()
|
|
|
+ const redirect = route.query.redirect
|
|
|
+ if (redirect) {
|
|
|
+ router.replace(redirect.toString())
|
|
|
+ } else {
|
|
|
+ router.replace('/')
|
|
|
}
|
|
|
}
|
|
|
- })
|
|
|
+ } catch (err) {
|
|
|
+ reset()
|
|
|
+ ElMessage.error(t('user.login.tips3') + err as string)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const onClosed = () => {
|
|
|
+ userLogout()
|
|
|
+ showPasswordMidify.value = false
|
|
|
}
|
|
|
|
|
|
service.systemInfoAsync.then(() => {
|