From 9c47af8810867aecd6c538621ad137b4e39d3141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E9=B9=8F?= <zp4185024@163.com> Date: Wed, 26 Feb 2025 18:13:31 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E9=99=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/imgs/screen/qrsx.png | Bin 0 -> 18297 bytes src/views/Login/Login.vue | 23 ++++++++------- src/views/Login/Login.vue.rej | 15 ++++++++++ src/views/Login/components/QrCodeForm.vue | 34 ++++++++++++++++++---- 4 files changed, 56 insertions(+), 16 deletions(-) create mode 100644 src/assets/imgs/screen/qrsx.png create mode 100644 src/views/Login/Login.vue.rej diff --git a/src/assets/imgs/screen/qrsx.png b/src/assets/imgs/screen/qrsx.png new file mode 100644 index 0000000000000000000000000000000000000000..19daeafcb6468da94da21be9ea4bab23137a7477 GIT binary patch literal 18297 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 literal 0 HcmV?d00001 diff --git a/src/views/Login/Login.vue b/src/views/Login/Login.vue index 3910ff5..dc29426 100644 --- a/src/views/Login/Login.vue +++ b/src/views/Login/Login.vue @@ -18,7 +18,7 @@ class="relative flex-1 bg-#fff bg-opacity-90 p-30px dark:bg-[var(--login-bg-color)] lt-sm:p-10px overflow-x-hidden overflow-y-auto" > <!-- 右上角的主题、语言选择 --> - <div + <!-- <div class="flex items-center justify-between at-2xl:justify-end at-xl:justify-end" style="color: var(--el-text-color-primary);" > @@ -27,18 +27,19 @@ </div> <div class="flex items-center justify-end space-x-10px h-48px"> </div> - </div> + </div> --> <!-- 右边的登录界面 --> <Transition appear enter-active-class="animate__animated animate__bounceInRight" class="rightLogin"> <div class="m-auto h-[calc(100%-60px)] w-[100%] flex items-center at-2xl:max-w-500px at-lg:max-w-500px at-md:max-w-500px at-xl:max-w-500px" > - - <!-- 账号登录 --> + <!-- 账号登录 --> <LoginForm v-if="isIpAccess" class="m-auto h-auto p-20px lt-xl:(rounded-3xl light:bg-white)" /> <!-- 二维码登录 --> <QrCodeForm v-else class="m-auto h-auto p-20px lt-xl:(rounded-3xl light:bg-white)" /> + + </div> </Transition> </div> @@ -58,13 +59,13 @@ import { LoginForm, MobileForm, QrCodeForm, RegisterForm, SSOLoginVue, ForgetPas defineOptions({ name: 'Login' }) const isIpAccess = ref(false) onMounted(() => { - const hostname = window.location.hostname - if(hostname == 'localhost'){ - isIpAccess.value = true; - } - else{ - isIpAccess.value = /^(\d{1,3}\.){3}\d{1,3}$/.test(hostname) - } + // const hostname = window.location.hostname + // if(hostname == 'localhost'){ + // isIpAccess.value = true; + // } + // else{ + // isIpAccess.value = /^(\d{1,3}\.){3}\d{1,3}$/.test(hostname) + // } // 判断是否为IP地址访问 }) const { t } = useI18n() diff --git a/src/views/Login/Login.vue.rej b/src/views/Login/Login.vue.rej new file mode 100644 index 0000000..8e64cad --- /dev/null +++ b/src/views/Login/Login.vue.rej @@ -0,0 +1,15 @@ +diff a/src/views/Login/Login.vue b/src/views/Login/Login.vue (rejected hunks) +@@ -34,9 +34,10 @@ + class="m-auto h-[calc(100%-60px)] w-[100%] flex items-center at-2xl:max-w-500px at-lg:max-w-500px at-md:max-w-500px at-xl:max-w-500px" + > + +- +- <!-- 二维码登录 --> +- <QrCodeForm class="m-auto h-auto p-20px lt-xl:(rounded-3xl light:bg-white)" /> ++ <!-- 账号登录 --> ++ <LoginForm v-if="isIpAccess" class="m-auto h-auto p-20px lt-xl:(rounded-3xl light:bg-white)" /> ++ <!-- 二维码登录 --> ++ <QrCodeForm v-else class="m-auto h-auto p-20px lt-xl:(rounded-3xl light:bg-white)" /> + + </div> + </Transition> diff --git a/src/views/Login/components/QrCodeForm.vue b/src/views/Login/components/QrCodeForm.vue index 698488a..2df70af 100644 --- a/src/views/Login/components/QrCodeForm.vue +++ b/src/views/Login/components/QrCodeForm.vue @@ -1,14 +1,17 @@ <template> <el-row v-show="getShow" class="login-form" style="margin-right: -10px; margin-left: -10px"> <el-col :span="24" style="padding-right: 10px; padding-left: 10px"> - <img src="@/assets/imgs/screen/login-top.png" alt="logo" /> + <img class="topImg" src="@/assets/imgs/screen/login-top.png" alt="logo" /> </el-col> <el-col :span="24" style="padding-right: 10px; padding-left: 10px; margin-bottom:20px; text-align: center"> <img width="320px" height="320px" :src="imageUrl" alt="Converted Image" v-if="imageUrl" /> </el-col> - <el-col :span="24" style="padding-right: 10px; padding-left: 10px; text-align: center"> - <img src="@/assets/imgs/screen/login-bottom.png" alt="logo" /> + <el-col v-if="!refreshQR" :span="24" style="padding-right: 10px; padding-left: 10px; text-align: center"> + <img class="bottomImg" src="@/assets/imgs/screen/login-bottom.png" alt="logo" /> + </el-col> + <el-col v-if="refreshQR" :span="24" style="padding-right: 10px; padding-left: 10px; text-align: center"> + <img class="bottomImg" src="@/assets/imgs/screen/qrsx.png" alt="logo" @click="handleRefresh" /> </el-col> </el-row> </template> @@ -23,6 +26,7 @@ defineOptions({ name: 'QrCodeForm' }) const imageUrl = ref(''); const uuuid =ref('') +const refreshQR = ref(false) const { t } = useI18n() const { handleBackLogin, getLoginState } = useLoginState() @@ -30,7 +34,9 @@ const getShow = computed(() => true) // 存储定时器 ID,用于后续清除定时器 let intervalId = ref(); - +const handleRefresh = () => { + window.location.reload() +} const getimg =async ()=>{ const array = new Uint32Array(4); @@ -65,9 +71,10 @@ const getimg =async ()=>{ // 记录定时器开始的时间 const startTime = Date.now(); // 10 分钟的毫秒数 -const tenMinutes = 60 * 1000; +const tenMinutes = 10 *60 * 10000 ; //定时刷新 判断是否扫码允许 const refaulst = ()=>{ + refreshQR.value = false; // 先清除之前的定时器,避免重复调用 if (intervalId) { clearInterval(intervalId.value); @@ -80,6 +87,8 @@ const refaulst = ()=>{ if (Date.now() - startTime >= tenMinutes) { clearInterval(intervalId.value); console.log('定时器已停止,已过去 10 分钟。'); + refreshQR.value = true; + return; } @@ -101,3 +110,18 @@ onMounted(() => { getimg() }) </script> +<style lang="scss" scoped> + .expired-text{ + color: #ff0000; + margin-top: 40px; + margin-right: 10px; + } + .bottomImg{ + width:320px; + + + } + .topImg{ + height: 200px; + } +</style> \ No newline at end of file