Files
aida_front/src/views/HomeRecommend.vue

249 lines
13 KiB
Vue
Raw Normal View History

2024-06-01 10:02:21 +08:00
<template>
2024-12-23 16:23:18 +08:00
<div class="homeRecommend_max">
2025-04-30 14:01:52 +08:00
<div class="left">
2025-06-30 10:53:25 +08:00
<div class="logoBox">
<img
class="aiDalogo"
src="@/assets/images/loginPage/aida_logo.png"
style="height: 80%;"
/>
<img class="codeCreatelogo" @click="turnToNewPage('https://code-create.com.hk/')" src="data:image/png;base64,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
</div>
<div class="text">
2025-04-30 14:01:52 +08:00
<div class="title">
2025-07-19 14:04:48 +08:00
<p style="font-weight: 700;">Welcome to AiDA</p>
<p style="font-weight: 500;">Bloom Your Creativity</p>
2025-04-30 14:01:52 +08:00
</div>
<div class="info">
2025-06-30 10:53:25 +08:00
Don't have an account? <span @click="signUp">Sign up</span> for free
2025-04-30 14:01:52 +08:00
</div>
2025-07-19 14:04:48 +08:00
<div class="continue gallery_btn gallery_btn_radius" @click="setLogin" style="min-width: 14rem;">
2025-06-30 10:53:25 +08:00
Login
<!-- <i class="fi fi-rr-arrow-right"></i> -->
2025-04-30 14:01:52 +08:00
</div>
</div>
</div>
2025-07-19 14:04:48 +08:00
<div class="right">
<img class="model" src="@/assets/images/homePage/squareLeftImgModel.png" alt="">
<img class="text" src="@/assets/images/homePage/squareLeftImgText.png" alt="">
</div>
2024-06-01 10:02:21 +08:00
</div>
</template>
<script >
2024-12-18 17:38:43 +08:00
import { defineComponent, toRefs, reactive, ref , nextTick,computed, onMounted, onBeforeUnmount } from "vue";
2024-06-01 10:02:21 +08:00
import { isEmail } from "@/tool/util";
import { setCookie, getCookie, WriteCookie,clonAllCookie } from "@/tool/cookie";
import VerificationCodeInput from "@/component/LoginPage/verificationCodeInput.vue";
import { Https } from "@/tool/https";
import { Modal, message } from "ant-design-vue";
import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
import { useStore } from "vuex";
import { setLang } from "@/tool/guide";
import { useI18n } from "vue-i18n";
import { useRouter } from 'vue-router';
import { gsap, TweenMax } from "gsap";
import { ScrollTrigger } from "gsap/ScrollTrigger";
export default defineComponent({
components: {
VerificationCodeInput,
},
setup(){
const store = useStore();
const router = useRouter();
2024-06-27 22:23:28 +08:00
let registerModel = ref()
2024-12-11 16:26:36 +08:00
let data = reactive({
})
2024-12-18 17:38:43 +08:00
let userDetail = computed(()=>{
return store.state.UserHabit.userDetail
2024-06-17 09:39:01 +08:00
})
2024-06-01 10:02:21 +08:00
let setLogin = ()=>{
router.push("/login");
}
2024-06-17 11:32:31 +08:00
let logout = ()=>{
2024-12-18 17:38:43 +08:00
let userInfo = store.state.UserHabit.userDetail;
2024-06-17 11:32:31 +08:00
let data = {
2024-06-17 14:10:25 +08:00
userId: userInfo?.userId,
2024-06-17 11:32:31 +08:00
};
2024-12-18 17:38:43 +08:00
store.commit('createDetail')
2025-04-09 14:09:19 +08:00
store.commit('createProbject')
2024-06-17 14:10:25 +08:00
if(!data.userId) return
2024-06-17 11:32:31 +08:00
Https.axiosPost(Https.httpUrls.accountLogout, data).then((rv) => {
2024-08-15 09:41:26 +08:00
clonAllCookie();
2024-06-17 11:32:31 +08:00
});
}
2024-07-08 16:57:01 +08:00
let goHome = ()=>{
router.push('/home');
}
2024-12-04 12:12:33 +08:00
let time
let updataIsMoblie = ()=>{
clearTimeout(time)
time = setTimeout(()=>{
},500)
}
2025-06-30 10:53:25 +08:00
const signUp = ()=>{
2024-12-23 16:23:18 +08:00
router.push('/register');
}
onMounted(()=>{
2024-12-04 12:12:33 +08:00
window.addEventListener('resize',updataIsMoblie)
})
2024-12-04 12:12:33 +08:00
onBeforeUnmount(() => {
window.removeEventListener('resize', updataIsMoblie);
});
2025-06-30 10:53:25 +08:00
const turnToNewPage = (url)=>{
window.open(url);
}
2024-06-01 10:02:21 +08:00
return {
2024-12-11 16:26:36 +08:00
...toRefs(data),
2024-12-18 17:38:43 +08:00
userDetail,
2024-06-01 10:02:21 +08:00
setLogin,
2024-06-27 22:23:28 +08:00
registerModel,
2024-06-17 11:32:31 +08:00
logout,
2024-07-08 16:57:01 +08:00
goHome,
2025-06-30 10:53:25 +08:00
turnToNewPage,
signUp,
2024-06-01 10:02:21 +08:00
}
},
data() {
return {
};
},
watch: {
// credits.value(newVal,oldVal){
// console.log(String(newVal).length);
// }
},
mounted() {
2025-06-30 10:53:25 +08:00
// nextTick().then(()=>{
// let dom = document.querySelector('.homeRecommend_content_body')
// let codeTween = document.querySelectorAll('.homeRecommend_content_body_recommend .content_body_img')
// let codeTweenText = document.querySelectorAll('.homeRecommend_content_body_recommend .content_body_text')
// for (let index = 0; index < codeTween.length; index++) {
// gsap.from(codeTween[index],.5, {scale:.6 },);
// gsap.registerPlugin(ScrollTrigger);
// let tl1 = gsap.timeline();
// tl1.to(codeTween[index],1, {y:'-30px',opacity:0},)
// ScrollTrigger.create({
// trigger: codeTween[index], // 触发器元素
// start: "top 0%", // 滚动触发器的起始滚动位置
// end: '200% 20%', // 滚动触发器的结束滚动位置
// // markers: true, // 开启标注功能
// scrub: true,
// animation:tl1,
// scroller:dom,//设置指定元素为滚动依据
// scrub:2,
// });
// }
// gsap.registerPlugin(ScrollTrigger);
// let tl1 = gsap.timeline();
// tl1.from(codeTweenText,1, {'margin-top':'30px',opacity:1},)
// ScrollTrigger.create({
// trigger: codeTweenText, // 触发器元素
// start: "top 0%", // 滚动触发器的起始滚动位置
// end: '200% 20%', // 滚动触发器的结束滚动位置
// // markers: true, // 开启标注功能
// scrub: true,
// animation:tl1,
// scroller:dom,//设置指定元素为滚动依据
// scrub:2,
// });
// })
2024-06-01 10:02:21 +08:00
},
methods: {
2024-12-11 16:26:36 +08:00
turnToNewPage(url) {
window.open(url);
},
turnToWindow(url) {
window.open(url);
},
2024-06-01 10:02:21 +08:00
},
});
</script>
<style lang="less" scoped>
.homeRecommend_max{
2025-04-30 14:01:52 +08:00
width: 100%;
2024-06-01 10:02:21 +08:00
height: 100%;
2025-04-30 14:01:52 +08:00
display: flex;
2025-07-19 14:04:48 +08:00
font-family: Satoshi;
2025-04-30 14:01:52 +08:00
> .left,> .right{
height: 100%;
2024-06-01 10:02:21 +08:00
display: flex;
2025-04-30 14:01:52 +08:00
}
> .left{
2025-07-19 14:04:48 +08:00
// width: 79rem;
width: 45%;
// position: absolute;
// right: 0;
2024-06-01 10:02:21 +08:00
align-items: center;
2025-04-30 14:01:52 +08:00
justify-content: center;
2025-07-19 14:04:48 +08:00
position: relative;
2025-06-30 10:53:25 +08:00
> .logoBox{
height: 4rem;
position: absolute;
2025-07-19 14:04:48 +08:00
left: 2rem;
2025-06-30 10:53:25 +08:00
top: 2rem;
img{
height: 100%;
margin-left: 2rem;
}
.codeCreatelogo{
cursor: pointer;
}
}
> .text{
2025-07-19 14:04:48 +08:00
width: 68rem;
2025-04-30 14:01:52 +08:00
> .title{
2025-07-19 14:04:48 +08:00
// font-size: 4rem;
font-size: 6.4rem;
2024-06-01 10:02:21 +08:00
font-weight: 900;
2025-04-30 14:01:52 +08:00
line-height: 1.2;
2025-07-19 14:04:48 +08:00
margin-bottom: 3.2rem;
p{
margin-bottom: 0;
}
2025-02-04 11:02:44 +08:00
}
2025-04-30 14:01:52 +08:00
> .info{
2025-07-19 14:04:48 +08:00
font-size: 2.4rem;
// margin-bottom: 4rem;
margin-bottom: 1.6rem;
2025-04-30 14:01:52 +08:00
line-height: 1.2;
2025-06-30 10:53:25 +08:00
> span{
color: #0070c9;
cursor: pointer;
&:hover{
text-decoration: underline;
}
}
2025-02-04 11:02:44 +08:00
}
2025-04-30 14:01:52 +08:00
> .continue{
2025-07-19 14:04:48 +08:00
font-size: 2.4rem;
2025-04-30 14:01:52 +08:00
> i{
margin-left: 1rem;
}
2024-06-01 10:02:21 +08:00
}
}
}
2025-07-19 14:04:48 +08:00
> .right{
// width: 58%;
position: relative;
width: 55%;
background: #d7d6d5;
display: flex;
align-items: center;
justify-content: flex-end;
> img{
object-fit: cover;
}
> .model{
height: 100%;
position: absolute;
left: 0;
}
> .text{
height: 45rem;
text-align: right;
}
}
2024-06-01 10:02:21 +08:00
}
</style>