<template> <view class="page" :data-theme="theme" :style="{height:winHeight + 'px'}"> <cate v-show="currentPage == 'one'"></cate> <contracted v-show="currentPage == 'two'" ref="classTwo"></contracted> <optimization v-show="currentPage == 'three'" :showSlide="showSlide" ref="classThree"></optimization> <fresh v-show="currentPage == 'four'" :showSlide="showSlide" ref="classFour"></fresh> </view> </template> <script> import cate from './components/default_cate'; import optimization from './components/optimization'; import contracted from './components/contracted'; import fresh from './components/fresh'; import {getShare} from '@/api/public.js'; import {mapGetters} from 'vuex'; const app = getApp(); export default { data() { return { currentPage:'one', theme:app.globalData.theme, showSlide:true, winHeight:'', configApi: {}, //分享类容配置 } }, computed: mapGetters(['isLogin', 'uid']), onLoad(){ let that = this; let config = that.$Cache.getItem('categoryConfig'); that.showSlide = config.isShowCategory == 'true'? true : false; switch (config.categoryConfig) { case '1': that.$set(that,'currentPage','one'); uni.showTabBar() break; case '2': that.$set(that,'currentPage','two'); uni.showTabBar() break; case '3': that.$set(that,'currentPage','three'); uni.hideTabBar() break; case '4': that.$set(that,'currentPage','four'); uni.hideTabBar() break; } uni.getSystemInfo({ success: function (res) { that.winHeight = res.windowHeight; } }); // #ifdef H5 that.shareApi(); // #endif }, onShow(){ switch (this.currentPage){ case 'one': uni.showTabBar() break; case 'two': uni.showTabBar() break; case 'three': uni.hideTabBar() setTimeout(()=>{ if(this.isLogin){ //登录的情况下获取模板3,4的购物车商品数量和列表 this.$refs.classThree.getCartNum(); this.$refs.classThree.getCartLists(1); } },500) break; case 'four': uni.hideTabBar() setTimeout(()=>{ if(this.isLogin){ this.$refs.classFour.getCartNum(); this.$refs.classFour.getCartLists(1); } },500) break; } }, components:{ cate,optimization,contracted,fresh }, methods:{ shareApi: function() { getShare().then(res => { this.$set(this, 'configApi', res.data); // #ifdef H5 this.setOpenShare(res.data); // #endif }) }, // 微信分享; setOpenShare: function(data) { let that = this; if (that.$wechat.isWeixin()) { let configAppMessage = { desc: data.synopsis, title: data.title, link: location.href, imgUrl: data.img }; that.$wechat.wechatEvevt(["updateAppMessageShareData", "updateTimelineShareData"], configAppMessage); } }, }, onReachBottom(){ if(this.currentPage=='two'){ this.$refs.classTwo.getProductList(); } if(this.currentPage=='three'){ this.$refs.classThree.productslist(); } if(this.currentPage=='four'){ this.$refs.classFour.productslist(); } } } </script> <style lang="scss"> .page{ background: #fff; // overflow-y: auto; } </style>