index.vue
3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<template>
<div class="client-index-page">
<div class="cloud-bg"></div>
<!-- TAG: animate 动画 -->
<!-- <transition name="fade" enter-active-class="animated animate__swing" leave-active-class="animated animate__swing">
<van-icon v-if="show" :name="icon_subscribed" size="5rem" style="position: absolute; top: 50%;" />
</transition> -->
</div>
<div class="entry-wrapper">
<p class="text">请选择您的身份</p>
<div class="control">
<div class="plain">
<my-button type="custom" :custom-style="styleObject1" @on-click="goVisit">访客</my-button>
</div>
<div class="primary">
<my-button type="custom" :custom-style="styleObject2" @on-click="goSchool">我有所属幼儿园</my-button>
</div>
</div>
</div>
</template>
<script setup>
import Cookies from 'js-cookie'
import 'animate.css';
import icon_subscribed from '@images/icon-dingyue01@2x.png'
import MyButton from '@/components/MyButton/index.vue'
import $ from 'jquery';
import { useRoute, useRouter, onBeforeRouteLeave } from 'vue-router'
import { Toast } from 'vant';
import { nextTick, onMounted, reactive, ref } from 'vue'
const $route = useRoute();
const $router = useRouter();
// 自定义按钮颜色样式
const styleObject1 = reactive({
backgroundColor: '#FFFFFF',
color: '#0B3A72',
borderColor: '#0B3A72'
})
const styleObject2 = reactive({
backgroundColor: '#F9D95C',
color: '#0B3A72',
borderColor: '#F9D95C'
})
const goVisit = () => { // 跳转爱心书籍页面
$router.push({
path: '/client/chooseBook'
});
Cookies.set('userType', 'visitor'); // 访客标识
}
const goSchool = () => { // 跳转选择幼儿园页面
$router.push({
path: '/client/chooseSchool'
});
Cookies.set('userType', 'client'); // 客户标识
}
onMounted (() => {
// 背景颜色全屏
$('.client-index-page').height($(document).height());
})
// TEMP:临时测试动画效果
// const show = ref(true);
// const interval = setInterval(() => { // 图标动画效果
// show.value = !show.value
// }, 1000);
// onBeforeRouteLeave(() => {
// clearInterval(interval); // 清除调用
// })
</script>
<script>
import mixin from 'common/mixin'
import { mainStore } from '@/store'
import { storeToRefs } from 'pinia'
export default {
mixins: [mixin.init],
data () {
return {
}
},
mounted () {
},
methods: {
}
}
</script>
<style lang="less" scoped>
.client-index-page {
// 背景图 宽度100% 高度控制
background-image: url('@images/yindao@2x.png');
background-repeat: no-repeat;
width: 100%;
background-size: 100% 85%;
position: relative;
}
.entry-wrapper {
position: absolute;
bottom: 0;
width: 100%;
.text {
color: #B8B8B8;
margin: 1rem;
margin-bottom: 0;
}
.control {
margin: 1rem;
margin-top: 0.5rem;
overflow: auto;
.plain {
width: 28%; float: left;
margin-right: 3%;
}
.primary {
width: 69%; float: left;
}
}
}
</style>