You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
2.9 KiB
152 lines
2.9 KiB
<template>
|
|
<div class="login">
|
|
<div class="section-1">
|
|
<img src="/img/logos/yesplaymusic.png" />
|
|
<svg-icon icon-class="x"></svg-icon>
|
|
<img src="/img/logos/netease-music.png" />
|
|
</div>
|
|
<div class="section-2">
|
|
<div
|
|
class="card"
|
|
@mouseover="activeCard = 1"
|
|
@mouseleave="activeCard = 0"
|
|
@click="goTo('account')"
|
|
>
|
|
<div class="container" :class="{ active: activeCard === 1 }">
|
|
<div class="title-info">
|
|
<div class="title">{{ $t('login.loginText') }}</div>
|
|
<div class="info">{{ $t('login.accessToAll') }}</div>
|
|
</div>
|
|
<svg-icon icon-class="arrow-right"></svg-icon>
|
|
</div>
|
|
</div>
|
|
<div
|
|
class="card"
|
|
@mouseover="activeCard = 2"
|
|
@mouseleave="activeCard = 0"
|
|
@click="goTo('username')"
|
|
>
|
|
<div class="container" :class="{ active: activeCard === 2 }">
|
|
<div class="title-info">
|
|
<div class="title">{{ $t('login.search') }}</div>
|
|
<div class="info">{{ $t('login.readonly') }}</div>
|
|
</div>
|
|
<svg-icon icon-class="arrow-right"></svg-icon>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import NProgress from "nprogress";
|
|
|
|
import SvgIcon from "@/components/SvgIcon.vue";
|
|
|
|
export default {
|
|
name: "Login",
|
|
components: {
|
|
SvgIcon,
|
|
},
|
|
data() {
|
|
return {
|
|
activeCard: 0,
|
|
};
|
|
},
|
|
created() {
|
|
NProgress.done();
|
|
},
|
|
methods: {
|
|
goTo(path) {
|
|
this.$router.push({ path: "/login/" + path });
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.login {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: calc(100vh - 192px);
|
|
}
|
|
|
|
.section-1 {
|
|
margin-bottom: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
img {
|
|
height: 64px;
|
|
margin: 20px;
|
|
}
|
|
.svg-icon {
|
|
height: 24px;
|
|
width: 24px;
|
|
color: rgba(82, 82, 82, 0.28);
|
|
}
|
|
}
|
|
|
|
.section-2 {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
}
|
|
.card {
|
|
cursor: pointer;
|
|
margin-top: 14px;
|
|
margin-bottom: 14px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
background: #eaeffd;
|
|
border-radius: 8px;
|
|
height: 128px;
|
|
width: 300px;
|
|
transition: all 0.3s;
|
|
padding-left: 22px;
|
|
box-sizing: border-box;
|
|
|
|
.active {
|
|
.title-info {
|
|
transform: translateX(-8px);
|
|
}
|
|
.svg-icon {
|
|
opacity: 1;
|
|
visibility: visible;
|
|
transform: translateX(8px);
|
|
}
|
|
}
|
|
|
|
.container {
|
|
display: flex;
|
|
// justify-content: space-around;
|
|
align-items: center;
|
|
|
|
color: #335eea;
|
|
}
|
|
|
|
.title-info {
|
|
transition: all 0.3s;
|
|
}
|
|
|
|
.title {
|
|
font-size: 24px;
|
|
font-weight: 600;
|
|
}
|
|
.info {
|
|
margin-top: 2px;
|
|
font-size: 14px;
|
|
color: rgba(51, 94, 234, 0.78);
|
|
}
|
|
.svg-icon {
|
|
opacity: 0;
|
|
height: 24px;
|
|
width: 24px;
|
|
margin-left: 16px;
|
|
transition: all 0.3s;
|
|
}
|
|
}
|
|
</style>
|