--添加登录界面轮播图

This commit is contained in:
2026-03-20 14:31:19 +08:00
parent 7b4a873461
commit afb24b8103
13 changed files with 90 additions and 6 deletions

View File

@ -11,7 +11,7 @@ VITE_PUBLIC_PATH = /
# 可以有多个,注意多个不能换行,否则代理将会失效 # 可以有多个,注意多个不能换行,否则代理将会失效
#VITE_PROXY = [["/api","http://localhost:3000"],["/upload","http://localhost:3300/upload"]] #VITE_PROXY = [["/api","http://localhost:3000"],["/upload","http://localhost:3300/upload"]]
#VITE_PROXY=[["/api/workflow","http://10.0.0.2:8093/workflow/"],["/api","http://10.10.2.102:9500"]] #VITE_PROXY=[["/api/workflow","http://10.0.0.2:8093/workflow/"],["/api","http://10.10.2.102:9500"]]
VITE_PROXY=[["/api","http://10.10.2.102:9500"]] VITE_PROXY=[["/api/magic-api/","http://127.0.0.1:8097","/magic-api/"],["/api","http://10.10.2.102:9500"]]
#VITE_PROXY=[["/api/approve/","http://127.0.0.1:8096","/approve/"],["/api","http://10.10.2.102:9500"]] #VITE_PROXY=[["/api/approve/","http://127.0.0.1:8096","/approve/"],["/api","http://10.10.2.102:9500"]]
#VITE_PROXY=[["/api/system/generator/","http://127.0.0.1:8091/system/generator/"],["/api/system/file/","http://127.0.0.1:8091/system/file/"],["/api/system/oss/","http://127.0.0.1:8091/system/oss/"],["/api/sales/","http://127.0.0.1:8096","/sales/"],["/api/mdm/","http://127.0.0.1:8096","/mdm/"],["/api","http://10.10.2.102:9500"]] #VITE_PROXY=[["/api/system/generator/","http://127.0.0.1:8091/system/generator/"],["/api/system/file/","http://127.0.0.1:8091/system/file/"],["/api/system/oss/","http://127.0.0.1:8091/system/oss/"],["/api/sales/","http://127.0.0.1:8096","/sales/"],["/api/mdm/","http://127.0.0.1:8096","/mdm/"],["/api","http://10.10.2.102:9500"]]
#VITE_PROXY=[["/api/sales/","http://127.0.0.1:8096","/sales/"],["/api/mdm/","http://127.0.0.1:8096","/mdm/"],["/api","http://10.10.2.102:9500"]] #VITE_PROXY=[["/api/sales/","http://127.0.0.1:8096","/sales/"],["/api/mdm/","http://127.0.0.1:8096","/mdm/"],["/api","http://10.10.2.102:9500"]]

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 KiB

View File

@ -1,6 +1,7 @@
<template> <template>
<div class="t-container"> <div class="t-container">
<StarBackground3 /> <!-- <StarBackground3 /> -->
<!-- <LoginCarousel /> -->
<div :class="prefixCls" class="login-box relative w-full h-full" v-if="!isSingleLogin"> <div :class="prefixCls" class="login-box relative w-full h-full" v-if="!isSingleLogin">
<div class="center-box"> <div class="center-box">
<div class="login-left-title"> <div class="login-left-title">
@ -10,9 +11,9 @@
<LoginForm /> <LoginForm />
</div> </div>
</div> </div>
<div class="earth-wrapper"> <!-- <div class="earth-wrapper">
<Earth3D /> <Earth3D />
</div> </div> -->
</div> </div>
<div style="width: 100%; height: 300px; display: flex; justify-content: center; align-items: center" v-else> <div style="width: 100%; height: 300px; display: flex; justify-content: center; align-items: center" v-else>
<a-spin /> <a-spin />
@ -35,8 +36,11 @@
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
import { useMessage } from '/@/hooks/web/useMessage'; import { useMessage } from '/@/hooks/web/useMessage';
import { useI18n } from '/@/hooks/web/useI18n'; import { useI18n } from '/@/hooks/web/useI18n';
import StarBackground3 from './StarBackground3.vue'; // import StarBackground3 from './StarBackground3.vue';
import Earth3D from './Earth3D.vue'; // import Earth3D from './Earth3D.vue';
import LoginCarousel from './LoginCarousel.vue';
const { currentRoute } = useRouter(); const { currentRoute } = useRouter();
const userStore = useUserStore(); const userStore = useUserStore();

View File

@ -0,0 +1,80 @@
<template>
<a-carousel class="login-carousel" autoplay>
<LoginCarouselImg v-for="img in imgs" :key="img.src" :src="img.src" :thumbnail="img.thumbnail"></LoginCarouselImg>
</a-carousel>
</template>
<script lang="ts">
import { defineComponent,h } from 'vue';
// 导入图片资源
const LoginCarouselImg = defineComponent({
name: 'LoginCarouselImg',
props: {
src: {
type: String,
required: true,
},
thumbnail: {
type: String,
required: true,
},
alt: {
type: String,
required: false,
},
},
setup() {
return {};
},
data() {
return {
reader: false,
};
},
render() {
if (!this.src) return null;
return h('div', { class: 'carousel-item' }, [
h('img', {
src: (this.reader ? this.src : this.thumbnail),
alt: this.alt || ''
}),
]);
},
});
export default defineComponent({
name: 'LoginCarousel',
components: { LoginCarouselImg },
setup() {
return {};
},
data() {
return {
imgs: [
{ src: new URL('/@/assets/images/login/1.png', import.meta.url).href, thumbnail: new URL('/@/assets/images/login/thum/1.png', import.meta.url).href, alt: '' },
{ src: new URL('/@/assets/images/login/2.png', import.meta.url).href, thumbnail: new URL('/@/assets/images/login/thum/2.png', import.meta.url).href, alt: '' },
{ src: new URL('/@/assets/images/login/3.png', import.meta.url).href, thumbnail: new URL('/@/assets/images/login/thum/3.png', import.meta.url).href, alt: '' },
{ src: new URL('/@/assets/images/login/4.png', import.meta.url).href, thumbnail: new URL('/@/assets/images/login/thum/4.png', import.meta.url).href, alt: '' },
{ src: new URL('/@/assets/images/login/5.png', import.meta.url).href, thumbnail: new URL('/@/assets/images/login/thum/5.png', import.meta.url).href, alt: '' },
],
};
},
});
</script>
<style lang="less" scoped>
.login-carousel{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 0;
}
</style>