|
|
@@ -2,7 +2,125 @@
|
|
|
<div
|
|
|
class="home"
|
|
|
>
|
|
|
- sdfsf
|
|
|
+ <div
|
|
|
+ v-if="store.state.loginStatus === 0"
|
|
|
+ class="for-visitor"
|
|
|
+ >
|
|
|
+ <button class="login">
|
|
|
+ <img
|
|
|
+ class=""
|
|
|
+ src="@/assets/images/btn-login-bg.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ <span>登录</span>
|
|
|
+ </button>
|
|
|
+ <button class="sign-up">
|
|
|
+ <img
|
|
|
+ class=""
|
|
|
+ src="@/assets/images/btn-sign-up-bg.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ <span>注册</span>
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ v-else
|
|
|
+ class="after-login"
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ class="avatar"
|
|
|
+ src="@/assets/images/btn-login-bg.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ <div class="info-wrap">
|
|
|
+ <div class="user-id">
|
|
|
+ <span class="title">用户ID:</span><span
|
|
|
+ class="value"
|
|
|
+ :title="store.state.userName"
|
|
|
+ >{{ store.state.userName }}</span>
|
|
|
+ </div>
|
|
|
+ <div class="point-bonus">
|
|
|
+ <span class="title">当前积分:</span><span class="value">{{ store.state.bonusPoint }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <button class="change-password">
|
|
|
+ <img
|
|
|
+ class=""
|
|
|
+ src="@/assets/images/icon-password.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ <button class="log-out">
|
|
|
+ <img
|
|
|
+ class=""
|
|
|
+ src="@/assets/images/icon-exit.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <div class="entry-list">
|
|
|
+ <button class="game-entry plant-tree-entry">
|
|
|
+ <img
|
|
|
+ class=""
|
|
|
+ src="@/assets/images/plant-tree-entry.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ <button class="game-entry exam-paper-entry">
|
|
|
+ <img
|
|
|
+ class=""
|
|
|
+ src="@/assets/images/exam-paper-entry.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ <button class="game-entry pair-up-entry">
|
|
|
+ <img
|
|
|
+ class=""
|
|
|
+ src="@/assets/images/pair-up-entry.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ <button class="game-entry antibody-battle-entry">
|
|
|
+ <img
|
|
|
+ class=""
|
|
|
+ src="@/assets/images/antibody-battle-entry.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ <button class="game-entry disaster-relief-entry">
|
|
|
+ <img
|
|
|
+ class=""
|
|
|
+ src="@/assets/images/disaster-relief-entry.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ <button class="game-entry enviroment-protection">
|
|
|
+ <img
|
|
|
+ class=""
|
|
|
+ src="@/assets/images/enviroment-protection.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ <button class="game-entry lost-children-entry">
|
|
|
+ <img
|
|
|
+ class=""
|
|
|
+ src="@/assets/images/lost-children-entry.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -14,11 +132,136 @@ import { useStore } from "vuex"
|
|
|
const route = useRoute()
|
|
|
const router = useRouter()
|
|
|
const store = useStore()
|
|
|
+
|
|
|
+const {
|
|
|
+ windowSizeInCssForRef,
|
|
|
+ windowSizeWhenDesignForRef,
|
|
|
+} = useSizeAdapt(390, 752)
|
|
|
+
|
|
|
+
|
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
.home {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
+ >.for-visitor{
|
|
|
+ margin-top: calc(18 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ padding-left: calc(16 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ padding-right: calc(16 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ >button{
|
|
|
+ width: calc(170 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ position: relative;
|
|
|
+ >img{
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+ >span{
|
|
|
+ position: absolute;
|
|
|
+ left: calc(100 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ top: calc(32 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ font-size: calc(24 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ font-family: Source Han Sans SC, Source Han Sans SC;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #A97C46;
|
|
|
+ line-height: calc(28 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ >.after-login{
|
|
|
+ margin-top: calc(25 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ padding-left: calc(16 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ padding-right: calc(16 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ padding-top: calc(13 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ padding-bottom: calc(13 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ background: rgba(226, 201, 163, 0.5);
|
|
|
+ box-shadow: inset -1px -2px 1px 0px #E2C9A3;
|
|
|
+ border-radius: calc(4 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ >img.avatar{
|
|
|
+ width: calc(54 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ height: calc(54 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ border-radius: calc(27 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ margin-left: calc(13 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ object-fit: cover;
|
|
|
+ }
|
|
|
+ >.info-wrap{
|
|
|
+ margin-left: calc(16 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ font-size: calc(16 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ font-family: Source Han Sans SC, Source Han Sans SC;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #A97C46;
|
|
|
+ line-height: 1.5;
|
|
|
+ white-space: pre;
|
|
|
+ >.user-id{
|
|
|
+ >.title{
|
|
|
+ vertical-align: middle;
|
|
|
+ display: inline-block;
|
|
|
+ width: calc(69 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ letter-spacing: calc(3 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ margin-right: calc(10 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ }
|
|
|
+ >.value{
|
|
|
+ vertical-align: middle;
|
|
|
+ display: inline-block;
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: pre;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ width: calc(100 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ >.point-bonus{
|
|
|
+ >.title{
|
|
|
+ vertical-align: middle;
|
|
|
+ display: inline-block;
|
|
|
+ width: calc(69 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ margin-right: calc(10 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ }
|
|
|
+ >.value{
|
|
|
+ vertical-align: middle;
|
|
|
+ display: inline-block;
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: pre;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ width: calc(100 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ >button.change-password{
|
|
|
+ width: calc(30 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ height: calc(30 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ margin-left: calc(19 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ >img{
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ >button.log-out{
|
|
|
+ width: calc(30 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ height: calc(30 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ margin-left: calc(19 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ >img{
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ >.entry-list{
|
|
|
+ margin-left: calc(10 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ margin-right: calc(10 / v-bind('windowSizeWhenDesignForRef') * v-bind('windowSizeInCssForRef'));
|
|
|
+ >button.game-entry{
|
|
|
+ width: 100%;
|
|
|
+ >img{
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|