You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.0 KiB
Vue
102 lines
2.0 KiB
Vue
<template>
|
|
<view class="container">
|
|
<swiper class="main" :autoplay="false" :current="currentPage" :duration="duration" easing-function="linear" @change="changeSwiper">
|
|
<swiper-item>
|
|
<index @changeTab="getChangeTab"></index>
|
|
</swiper-item>
|
|
<swiper-item>
|
|
<mine></mine>
|
|
</swiper-item>
|
|
</swiper>
|
|
<tabBar :current="currentPage" @change="changePage"></tabBar>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import tabBar from "@/components/tabBar/tabBar.vue"
|
|
import index from "@/pages/homePage/index/index.vue"
|
|
import mine from "@/pages/homePage/mine/mine.vue"
|
|
|
|
import {
|
|
getUserInfo
|
|
} from '@/common/js/api/homePage/login.js'
|
|
|
|
import {
|
|
mapState,
|
|
mapActions
|
|
} from 'vuex';
|
|
export default {
|
|
components: {
|
|
tabBar,
|
|
index,
|
|
mine,
|
|
},
|
|
data() {
|
|
return {
|
|
currentPage: 1,
|
|
duration: 200
|
|
}
|
|
},
|
|
computed: {
|
|
...mapState([
|
|
'userInfo'
|
|
]),
|
|
},
|
|
onLoad(op) {
|
|
this.currentPage = op.current ? op.current : 0;
|
|
if (!uni.getStorageSync('userToken')) {
|
|
getApp().globalData.isLogin = false;
|
|
console.log('== 当前登录状态 ==', getApp().globalData.isLogin)
|
|
} else {
|
|
this.getUserInfo();
|
|
}
|
|
},
|
|
methods: {
|
|
...mapActions([
|
|
'setUserInfo'
|
|
]),
|
|
changePage(index) {
|
|
// if(index == 1 && !getApp().globalData.isLogin){
|
|
// this.$util.Tips({
|
|
// title: "请您登录/注册",
|
|
// success: () => {
|
|
// uni.navigateTo({
|
|
// url: '/pages/homePage/login/login'
|
|
// })
|
|
// }
|
|
// });
|
|
// return false
|
|
// }
|
|
this.currentPage = index;
|
|
},
|
|
getUserInfo() {
|
|
getUserInfo().then(res => {
|
|
if(res.code == 200){
|
|
this.setUserInfo(res.data);
|
|
}
|
|
})
|
|
},
|
|
getChangeTab(type) {
|
|
this.currentPage = type;
|
|
},
|
|
|
|
changeSwiper(e){
|
|
this.currentPage = e.detail.current;
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="less">
|
|
.container {
|
|
height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
overflow: hidden;
|
|
box-sizing: border-box;
|
|
.main {
|
|
flex: 1;
|
|
}
|
|
}
|
|
</style>
|