ZZ 1 hónapja
szülő
commit
ba378b393c

+ 25 - 5
mer_uniapp/components/WaterfallsFlow/WaterfallsFlow.vue

@@ -1,23 +1,33 @@
 <template>
-	<view class="flex-1">
-		<!--    left    -->
+	<view class="flex-1" v-if="column">
 		<view>
 			<view id="left" v-if="allList.length">
-				<view v-for="(item,index) in allList" :key="index" class="wf-item">
+				<view v-for="(item,index) in allList" :key="index" class="wf-itemsss">
+					<discoverFlowItem :items="item" v-if="fromType==1" :fromTo="fromTo" @changeLikeToggle="(item)=>changeLikeToggle(false, index, item)" ></discoverFlowItem>
+					<WaterfallsFlowItem v-else :item="item" :isStore="isStore" :type="type"/>
+				</view>
+			</view>
+		</view>
+	</view>
+	<view class="wf-page" v-else>
+		<!--    left    -->
+		<view>
+			<view id="left" v-if="leftList.length">
+				<view v-for="(item,index) in leftList" :key="index" class="wf-item">
 					<discoverFlowItem :items="item" v-if="fromType==1" :fromTo="fromTo" @changeLikeToggle="(item)=>changeLikeToggle(false, index, item)" ></discoverFlowItem>
 					<WaterfallsFlowItem v-else :item="item" :isStore="isStore" :type="type"/>
 				</view>
 			</view>
 		</view>
 		<!--    right    -->
-<!-- 		<view>
+		<view>
 			<view id="right" v-if="rightList.length">
 				<view v-for="(item,index) in rightList" :key="index" class="wf-item">
 					<discoverFlowItem :items="item" v-if="fromType==1" :fromTo="fromTo" @changeLikeToggle="(item)=>changeLikeToggle(true, index, item)" ></discoverFlowItem>
 					<WaterfallsFlowItem v-else :item="item" :isStore="isStore" :type="type"/>
 				</view>
 			</view>
-		</view> -->
+		</view>
 	</view>
 </template>
 
@@ -77,6 +87,10 @@
 			isStore: {
 				type: Number,
 				default: 0
+			},
+			column: {
+				type: Boolean,
+				default: false
 			}
 		},
 		data() {
@@ -223,6 +237,12 @@
 	}
 
 	.wf-item {
+		width: calc((100vw - 2 * #{$page-padding} - #{$grid-gap}) / 2);
+		padding-bottom: $grid-gap;
+		//margin-bottom: 20rpx;
+	}
+	
+	.wf-itemsss {
 		// width: calc((100vw - 2 * #{$page-padding} - #{$grid-gap}) / 2);
 		padding-bottom: $grid-gap;
 		//margin-bottom: 20rpx;

+ 12 - 0
mer_uniapp/pages.json

@@ -624,6 +624,18 @@
 			}]
 		},
 		{
+			"root": "pages/trade_fair",
+			"name": "trade_fair",
+			"pages": [{
+				"path": "home/index",
+				"style": {
+					"navigationBarTitleText": "二手交易",
+					"navigationStyle": "custom",
+					"enablePullDownRefresh": false
+				}
+			}]
+		},
+		{
 			"root": "pages/goods",
 			"path": "goods",
 			"pages": [{

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 1333 - 2
mer_uniapp/pages/confession_wall/home/index.vue


+ 1250 - 0
mer_uniapp/pages/trade_fair/home/index.vue

@@ -0,0 +1,1250 @@
+<template>
+	<view :data-theme="theme" class="discover_index">
+		<view class="page_con" :style="{height: windowHeight + 'px'}">
+			<view class="discover-header relative z-999">
+				<!-- #ifdef MP -->
+				<view class="cart_nav">
+					<nav-bar iconColor='#fff' ref="navBarRef" :navTitle="'二手交易'" backgroundColor="#FF6702" :isBackgroundColor="false">
+					</nav-bar>
+				</view>
+				<!-- #endif -->
+				<view class="discover-navTab acea-row row-middle bg--w111-fff mt-4">
+					<view class="acea-row row-center-wrapper" :style="[textBoxStyle]">
+						<view style="margin-right: 52rpx;" :class="tabActive == 0 ? 'on' : ''" class="nav-item" @click="tabActive=0;showCateDrawer = false">本校</view>
+						<view style="margin-right: 52rpx;" :class="tabActive == 1 ? 'on' : ''" class="nav-item pb-10" @click="tabActive=1;">同城</view>
+						<view :class="tabActive == 2 ? 'on' : ''" class="nav-item pb-10" @click="tabActive=2;">全国</view>
+					</view>
+					<!-- #ifndef MP -->
+					<view style="width: 32rpx;"></view>
+					<!-- #endif -->
+				</view>
+				<view class='search acea-row '>
+					<view class='input acea-row row-middle'>
+						<text class='iconfont icon-sousuo2'></text>
+						<input class="placeholder" type='text' :value='searchValue' :focus="focus" placeholder='请输入标题' placeholder-class='placeholder' @input="setValue" confirm-type="search" @confirm="searchBut()"></input>
+					</view>
+					<view class='bnt' @tap='searchBut'>搜索</view>
+				</view>
+				<!-- banner轮播图 -->
+				<view class="mb-10" v-if="bannerList.length">
+					<swiper :indicator-dots="true" :autoplay="true" :interval="2500" :duration="500" circular="true">
+						<block v-for="(item,index) in bannerList" :key='item.id'>
+							<swiper-item>
+								<view class="swiper-item">
+									<image class="banner-img" :src="item.imageUrl" mode="scaleToFill" />
+								</view>
+							</swiper-item>
+						</block>
+					</swiper>
+				</view>
+				<!-- 话题分类 -->
+				<view class="longTab mb-10" scroll-y enhanced>
+					<view class="flex h-116">
+						<view class="flex-1 h-full flex-center longTab-item" :style="{background: index === tabClick ? '#EEF4FF' : ''}"
+						 v-for="(item, index) in categoryList" :key="index" :id="'id' + index" @click.stop="selectMenu(item, index, true)">
+							<view class="flex-col flex-center">
+								<image class="w-44 h-44 mb-10" :src="item.icon" mode=""></image>
+								<view class="wall-font f-s-24 f-w-500">{{item.name}}</view>
+							</view>
+						</view>
+						<view class="flex-1 h-full flex-center longTab-item">
+							<navigator hover-class='none' url='/pages/merchant/user_sgin/index' class="item">
+								<view class="flex-col flex-center">
+									<image class="w-44 h-44 mb-10" :src="'/static/img/ic-wall-type-4.png'" mode=""></image>
+									<view class="wall-font f-s-24 f-w-500">签到</view>
+								</view>
+							</navigator>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="discover-boxsss">
+				<!-- 发现 -->
+				<scroll-view scroll-y="true" @scroll="followScroll" class="main h-full">
+					<view class="tab-cont h-full" id="main">
+						<!-- 发现 -->
+						<view class="h-full">
+							<swiper class="h-full" :interval="interval" indicator-color="rgba(255,255,255,0.6)" :current="swiperCurrent" @change="swiperChange">
+								<block v-for="(item,index) in categoryList" :key="index">
+									<swiper-item class="h-full" :item-id="`${item.id}`">
+										<scroll-view @scroll="scrollLeft" scroll-y="true" :show-scrollbar="false" class="scroll-view h-full"
+										 id="goods" refresher-enabled="true" :refresher-threshold="100" :refresher-triggered="triggeredDiscover"
+										 @refresherrefresh="onRefreshDiscover" @refresherpulling="onPulling" @refresherrestore="onRestore"
+										 @refresherabort="onAbort">
+											<view class="goods padbottom">
+												<view class="goods-wrap flex-1" id="goods" v-if="discoverList[item.id] && discoverList[item.id].goods.length">
+													<view>
+														<WaterfallsFlow v-if="discoverList[item.id].goods.length" :wfList="discoverList[item.id].goods" :type="1">
+															<template slot-scope="{items}">
+																<WaterfallsFlowItem :item="items" :type="1" :isStore="1" />
+															</template>
+														</WaterfallsFlow>
+													</view>
+												</view>
+												
+												<view class='loadingicon acea-row row-center-wrapper'>
+													<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{discoverList[item.id] &&discoverList[item.id].goods.length>0?loadTitle:''}}
+												</view>
+												<view class="empty-boxs noContent" v-if="discoverList[item.id] && discoverList[item.id].goods.length == 0 && !loading">
+													<emptyPage title="暂无内容~" mTop="13%" :imgSrc="urlDomain+'crmebimage/presets/noguanzhu.png'">
+													</emptyPage>
+												</view>
+												<view class="footerBottoms"></view>
+											</view>
+										</scroll-view>
+									</swiper-item>
+								</block>
+							</swiper>
+						</view>
+					</view>
+				</scroll-view>
+			</view>
+			<view class="publish" @click="publish" :class="bottomNavigationIsCustom?'bottom':''">
+				<image class="w-116 h-116" src="/static/img/ic-fatie.png" mode=""></image>
+			</view>
+
+		</view>
+		<!-- <pageFooter v-if="isShowFooter"></pageFooter> -->
+
+		<!-- 评论 -->
+		<uni-popup type="bottom" ref="comment">
+			<view :style="'width: '+ windowWidth +'px; background-color: #fff; border-top-left-radius: 10px; border-top-right-radius: 10px;'">
+				<discoverComment v-if="showComment" @getReplyNum="getReplyNum" :noteId="noteDetails.id" :noteDetails="noteDetails"
+				 @close="close">
+				</discoverComment>
+			</view>
+		</uni-popup>
+		<!-- 商品列表 -->
+		<uni-popup type="bottom" ref="goods">
+			<mentioned v-if="popupShow" :list="proList" @close="popup" class=""></mentioned>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	import {
+		mapGetters
+	} from "vuex";
+	import {
+		toLogin
+	} from '@/libs/login.js';
+	import {
+		BACK_URL
+	} from '@/config/cache';
+	import {
+		communityCategoryListApi,
+		recommendAuthorListApi,
+		discoverListApi,
+		followListApi,
+		getReplyInfo
+	} from '@/api/discover.js';
+	import {
+		discoverFollowAuthor,
+	} from '@/libs/follow.js';
+	import {
+		tokenIsExistApi
+	} from '@/api/api.js';
+	import {
+		silenceBindingSpread,
+		getUserSpread
+	} from '@/utils/index.js';
+	import onShare from "@/mixins/onShare";
+	import discoverComment from '@/components/discoverComment/index.vue';
+	import animationType from '@/utils/animationType.js'
+	import pageFooter from "@/components/pageFooter/index.vue";
+	import navBar from '@/components/navBar';
+	import emptyPage from '@/components/emptyPage.vue';
+	import easyLoadimage from '@/components/base/easy-loadimage.vue';
+	import WaterfallsFlow from '@/components/WaterfallsFlow/WaterfallsFlow.vue'
+	import WaterfallsFlowItem from '@/components/discoverFlowItem/discoverFlowItem.vue'
+	import discoverDetails from '@/components/discoverDetails/index.vue'
+	import mentioned from '@/components/mentioned.vue';
+	import TitleBox from '@/components/titleBox/index.vue';
+	let app = getApp();
+	let sysHeight = uni.getSystemInfoSync().statusBarHeight;
+	export default {
+		mixins: [onShare],
+		components: {
+			pageFooter,
+			navBar,
+			emptyPage,
+			easyLoadimage,
+			WaterfallsFlowItem,
+			WaterfallsFlow,
+			discoverDetails,
+			discoverComment,
+			mentioned,
+			TitleBox
+		},
+		computed: {
+			...mapGetters(['globalData', 'isLogin', 'userInfo', 'bottomNavigationIsCustom']),
+			headerBoxStyle() {
+				return {
+					// #ifndef MP
+					paddingTop: '4rpx',
+					// #endif
+					// #ifdef MP
+					paddingTop: this.marTop + "px",
+					marginRight: this.statusWidth + this.searchRight + 'px',
+					// #endif
+				}
+			},
+			textBoxStyle() {
+				return {
+					// #ifdef MP
+					width: '100%',
+					height: this.searchHeight + 'rpx',
+					// lineHeight: this.searchHeight + 'rpx',
+					// #endif
+				}
+			}
+		},
+		onLoad(options) {
+			//分销码
+			getUserSpread(options);
+
+			this.windowWidth = uni.getSystemInfoSync().screenWidth; //获取屏幕宽度
+			tokenIsExistApi().then(res => {
+				this.tokenIsExist = res.data;
+				if (this.tokenIsExist && this.isLogin) {
+					this.getFollowList();
+					setTimeout(() => {
+						if (this.noteRecommendList.length === 0 || this.loadendfollow) this
+							.getRecommendAuthorList();
+					}, 500)
+				}
+				if (!this.tokenIsExist) {
+					this.$store.commit('UPDATE_LOGIN', '');
+					this.$store.commit('UPDATE_USERINFO', {});
+				}
+			})
+			getReplyInfo().then(res => {
+				this.bannerList = res.data.banner
+				this.wallHeadline = res.data.headline
+				console.log(res.data, 111111111111111)
+			}).catch(err => {
+				console.log(err)
+			})
+			this.getDiscoverList();
+			this.getCommunityCategoryList();
+
+			this._freshing = false;
+		},
+		data() {
+			return {
+				returnShow: false,
+				urlDomain: this.$Cache.get("imgHost"),
+				sysHeight: sysHeight,
+				navH: '',
+				windowWidth: 0, //获取屏幕宽度🌟💗
+				interval: 3000,
+				swiperHeight: 0,
+				listMarTop: 0,
+				tabClick: 0, //设置导航点击了哪一个
+				tabLeft: 0, //设置下划线位置
+				isLeft: 0, //导航栏下划线位置
+				isWidth: 0, //每个导航栏占位
+				tabActive: 1, // 顶部关注、发现切换
+				windowHeight: 0,
+				theme: app.globalData.theme,
+				marTop: 0,
+				categoryList: [], //分类列表
+				categoryId: '-1', //分类id
+				swiperCurrent: 0, //分类索引
+				isScroll: false, //是否是滑动
+				params: { //推荐作者
+					page: 1,
+					limit: 10
+				},
+				followParams: { //关注内容
+					page: 1,
+					limit: 10
+				},
+				noteRecommendList: [], //关注内容
+				loadendfollow: false, //关注内容
+				loadingfollow: false, //关注内容
+				where: {
+					categoryId: 0,
+					page: 1,
+					limit: 10
+				},
+				loadend: false,
+				loading: false,
+				loadTitle: '加载更多',
+				loadTitleFollow: '加载更多',
+				onnnn: {
+					good: [{
+						authorId: 1
+					}]
+				},
+				discoverList: {}, //内容信息
+				authorList: [], //推荐作者列表
+				isOpenRefresh: true, // 是否开启下拉
+				triggered: false,
+				triggeredDiscover: false,
+				isShow: false, //加载完成
+				tokenIsExist: false, //校验token是否有效,true为有效,false为无效
+				isRefresher: false, //下拉刷新状态
+				noteDetails: {}, //内容详情
+				popupShow: false, //商品弹窗
+				showComment: false, //评论弹窗
+				proList: [], //提到的商品
+				isShowFooter: true,
+				loadingAuthor: false, //推荐作者
+				showCateDrawer: false, //分类下拉展示
+				searchRight: 0,
+				statusWidth: 0,
+				searchHeight: 0,
+				bannerList: [],
+				wallHeadline: [],
+				navList: [{
+					id: 0,
+					name: '默认'
+				}, {
+					id: 1,
+					name: '评论'
+				}, {
+					id: 2,
+					name: '点赞'
+				}, {
+					id: 3,
+					name: '有图'
+				}],
+				active: 0,
+			}
+		},
+		// 滚动监听
+		onPageScroll(e) {
+			// 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
+			uni.$emit('scroll');
+		},
+		onShow() {
+			this.showCateDrawer = false;
+			this.getTokenIsExist();
+			//分销绑定
+			silenceBindingSpread(this.isLogin, this.globalData.spread);
+		},
+		mounted() {
+			this.$nextTick(function() {
+				const query = uni.createSelectorQuery().in(this);
+				query.select('.discover-header').boundingClientRect(data => {
+					// #ifndef H5
+					this.listMarTop = data.height
+					// #endif
+					// #ifdef H5
+					this.listMarTop = data.height
+					// #endif
+				}).exec();
+			});
+		},
+		created() {
+			var pages = getCurrentPages();
+			this.returnShow = pages.length === 1 ? false : true;
+			var that = this;
+			// 获取设备宽度
+			uni.getSystemInfo({
+				success(e) {
+					that.isWidth = e.windowWidth / 6;
+					that.windowHeight = e.windowHeight;
+					that.swiperHeight = that.windowHeight - 205
+					that.$set(that, 'swiperHeight', that.windowHeight - 55);
+				}
+			});
+			// #ifdef MP || APP-PLUS
+			// 获取导航高度;
+			this.navH = this.globalData.navHeight;
+			// #endif
+			// #ifdef H5
+			this.navH = 80;
+			// #endif
+			that.getNavH()
+
+			// #ifdef MP
+			const res = uni.getMenuButtonBoundingClientRect()
+			const jnHeight = res.height //胶囊高度
+			const statusHeight = res.top //胶囊距离顶部
+			const statusRight = res.right //胶囊右边界坐标
+			this.statusWidth = res.width
+			this.searchHeight = 96
+			console.log('999', statusHeight, this.sysHeight);
+			this.marTop = statusHeight - this.sysHeight
+			//搜索框宽度计算
+			uni.getSystemInfo({
+				success: res => {
+					this.searchRight = res.windowWidth - statusRight
+				}
+			})
+			// #endif
+		},
+		//uniapp小程序用deep重写组件样式不生效
+		options: {
+			styleIsolation: 'shared'
+		},
+		methods: {
+			returns: function() {
+				if (this.returnShow) {
+					uni.navigateBack(-1);
+				} else {
+					uni.switchTab({
+						url: '/pages/index/index'
+					})
+				}
+			},
+			getNavH(marTop) {
+				// #ifdef H5
+				this.marTop = 30;
+				// #endif
+				// #ifdef APP
+				this.marTop = marTop - 60;
+				// #endif
+			},
+			getPro(item) {
+				this.noteDetails = item;
+				this.proList = item.productList;
+				this.$refs.goods.open('bottom');
+				this.popupShow = true;
+				setTimeout(() => {
+					if (!this.bottomNavigationIsCustom) {
+						uni.hideTabBar();
+					} else {
+						this.isShowFooter = false;
+					}
+				}, 50)
+			},
+			popup() {
+				if (!this.bottomNavigationIsCustom) {
+					uni.showTabBar();
+				} else {
+					this.isShowFooter = true;
+				}
+				setTimeout(() => {
+					this.$refs.goods.close();
+					this.popupShow = false;
+				}, 100)
+
+			},
+			close() {
+				if (!this.bottomNavigationIsCustom) {
+					uni.showTabBar();
+				} else {
+					this.isShowFooter = true;
+				}
+				setTimeout(() => {
+					this.$refs.comment.close();
+					this.showComment = false;
+				}, 100);
+			},
+			getReplyNum(n) {
+				this.noteDetails.replyNum = n;
+			},
+			getComment(item) {
+				this.noteDetails = item;
+				this.$refs.comment.open('bottom');
+				this.showComment = true;
+				setTimeout(() => {
+					if (!this.bottomNavigationIsCustom) {
+						uni.hideTabBar();
+					} else {
+						this.isShowFooter = false;
+					}
+				}, 50)
+			},
+			//校验token是否有效,true为有效,false为无效
+			getTokenIsExist() {
+				tokenIsExistApi().then(res => {
+					this.tokenIsExist = res.data;
+					if (!this.tokenIsExist) {
+						this.$store.commit('UPDATE_LOGIN', '');
+						this.$store.commit('UPDATE_USERINFO', {});
+					}
+				})
+			},
+			// 去推荐作者个人主人
+			goAuthor(item) {
+				// #ifdef MP || H5
+				uni.navigateTo({
+					url: `/pages/discover/discover_user/index?id=${item.authorId}`
+				})
+				// #endif  
+				// #ifdef APP-PLUS
+				uni.navigateTo({
+					animationType: animationType.type,
+					animationDuration: animationType.duration,
+					url: `/pages/discover/discover_user/index?id=${item.authorId}`
+				})
+				// #endif
+			},
+			// 自定义下拉刷新被中止
+			onAbort() {
+				console.error("onAbort");
+			},
+			onPulling(e) {
+				if (e.detail.deltaY < 0) return // 防止上滑页面也触发下拉
+				if (this.tabActive == 1) {
+					this.triggeredDiscover = true;
+				} else {
+					this.triggered = true;
+				}
+			},
+			// 下拉刷新触发
+			refresherpullingFun() {
+				this.isRefresher = true
+			},
+			onRefreshDiscover() {
+				if (this._freshing) return;
+				this._freshing = true;
+				setTimeout(() => {
+					this._freshing = false;
+					this.discoverList = {}
+					this.getDiscoverList();
+					this.triggeredDiscover = false;
+					uni.stopPullDownRefresh();
+					this._freshing = false;
+				}, 1000)
+			},
+			onRefresh() {
+				if (this._freshing) return;
+				this._freshing = true;
+				setTimeout(() => {
+					this.loadendfollow = false;
+					this.loadend = false;
+					this.noteRecommendList = [];
+					this.followParams.page = 1;
+					this.authorList = [];
+					this.params.page = 1;
+					this.getFollowList();
+					setTimeout(() => {
+						if (this.noteRecommendList.length === 0 || this.loadendfollow) this
+							.getRecommendAuthorList();
+					}, 400)
+					this.triggered = false
+					uni.stopPullDownRefresh();
+					this._freshing = false;
+				}, 1000)
+			},
+			onRestore() {
+				this.triggeredDiscover = false;
+			},
+			//关注内容 
+			getFollowList() {
+				if (this.loadendfollow) {
+					this.triggered = false;
+					return;
+				}
+				this.loadingfollow = true;
+				followListApi(this.followParams).then(res => {
+					this.$set(this.followParams, 'page', this.followParams.page + 1);
+					this.loadendfollow = this.followParams.page > res.data.totalPage;
+					this.loadTitleFollow = this.loadendfollow ? '' : '加载更多';
+					this.noteRecommendList = this.noteRecommendList.concat(res.data.list || []);
+					this.loadingfollow = false
+					this.triggered = false;
+				}).catch(err => {
+					this.loadingfollow = false;
+					this.triggered = false;
+					uni.showToast({
+						title: err,
+						icon: 'none'
+					})
+				});
+			},
+			// 关注作者
+			followAuthor(item) {
+				if (this.isLogin) {
+					discoverFollowAuthor(item.authorId).then(() => {
+						this.$set(item, 'isConcerned', !item.isConcerned);
+					});
+				} else {
+					toLogin();
+				}
+			},
+			//回退页面之后重新加载页面
+			reFresh() {
+				this.loading = true
+				this.discoverList = {};
+				this.getDiscoverList();
+			},
+			//发布内容
+			publish() {
+				if (this.isLogin) {
+					// #ifdef MP || H5
+					uni.navigateTo({
+						url: `/pages/discover/discover_release/index`
+					})
+					// #endif  
+					// #ifdef APP-PLUS
+					uni.navigateTo({
+						animationType: animationType.type,
+						animationDuration: animationType.duration,
+						url: `/pages/discover/discover_release/index`
+					})
+					// #endif
+				} else {
+					toLogin();
+				}
+			},
+			/**
+			 *  发现列表滑动中用到的方法
+			 */
+			followScroll() {
+				uni.$emit('scroll');
+			},
+			onTouchmoveRecommend(e) {
+				if (!this.loadendfollow) this.getFollowList();
+				if (this.loadendfollow && !this.loadend) this.getRecommendAuthorList();
+			},
+			onTouchmove(e) {
+				this.getDiscoverList();
+			},
+			scrollLeft: function(e) {
+				uni.$emit('scroll');
+				if (e.detail.scrollTop > e.detail.scrollHeight - 1500) {
+					this.getDiscoverList();
+				}
+				this.swiperHeight = this.windowHeight - 55
+			},
+			swiperChange(e) {
+				let {
+					current,
+					source,
+					currentItemId
+				} = e.detail;
+				if (source === 'autoplay' || source === 'touch') {
+					this.categoryId = currentItemId;
+					this.swiperCur = current
+					this.selectMenu(this.categoryList[this.swiperCur], this.swiperCur, false)
+					if (this.categoryList.length > 3) {
+						var tempIndex = this.swiperCur - 2;
+						tempIndex = tempIndex <= 0 ? 0 : tempIndex;
+						let tabLeft = (this.swiperCur - 2) * this.isWidth; //设置下划线位置
+						this.$nextTick(function() {
+							this.$set(this, 'tabLeft', tabLeft);
+						});
+					}
+				}
+			},
+			/*******************发现列表滑动中用到的方法结束*********************/
+
+			// 去个人主人
+			goUser() {
+				if (!this.isLogin) {
+					this.openAuto();
+				} else {
+					// #ifdef MP || H5
+					uni.navigateTo({
+						url: '/pages/discover/discover_user/index'
+					})
+					// #endif  
+					// #ifdef APP-PLUS
+					uni.navigateTo({
+						animationType: animationType.type,
+						animationDuration: animationType.duration,
+						url: '/pages/discover/discover_user/index'
+					})
+					// #endif
+				}
+			},
+			// 打开授权
+			openAuto() {
+				this.$Cache.set(BACK_URL, '')
+				toLogin();
+			},
+			//发现列表
+			getDiscoverList() {
+				let that = this;
+				this.isShow = false;
+				if (!this.discoverList[this.categoryId]) {
+					this.$set(this.discoverList, this.categoryId, {
+						where: {
+							...this.where,
+							categoryId: this.categoryId,
+							secondType: this.active
+						},
+						goods: []
+					})
+				}
+				const data = this.discoverList[this.categoryId];
+				const cateId = this.categoryId;
+				if (data.loading || data.loadend) {
+					this.triggeredDiscover = false;
+					return
+				};
+				data.loading = true
+				this.loading = true
+				this.loadTitle = '';
+				if (data.where.categoryId === 0) data.where.categoryId = ''
+				discoverListApi(data.where).then(res => {
+					data.loadend = res.data.list.length < that.where.limit;
+					if (data.where.page == 1) {
+						data.goods = [];
+					}
+					this.loadTitle = data.loadend ? '没有了' : '加载更多';
+					data.goods.push.apply(data.goods, res.data.list);
+					data.where.page = data.where.page + 1;
+					that.$nextTick(() => {
+						that.$set(that.discoverList, cateId, {
+							...data
+						});
+
+					});
+					data.loading = false;
+					this.loading = false;
+					this.triggeredDiscover = false;
+					this.$forceUpdate()
+					console.log(that.discoverList)
+				}).catch(err => {
+					data.loading = false;
+					this.loading = false;
+					uni.showToast({
+						title: err,
+						icon: 'none'
+					})
+					this.$set(this.discoverList, cateId, data);
+				});
+			},
+			//推荐作者列表
+			getRecommendAuthorList() {
+				if (this.loadend) return;
+				this.loading = true
+				recommendAuthorListApi(this.params).then(res => {
+					this.$set(this.params, 'page', this.params.page + 1);
+					this.loadend = this.params.page > res.data.totalPage;
+					this.authorList = this.authorList.concat(res.data.list || []);
+					this.loadTitle = this.loadend ? '没有了' : '加载更多';
+					this.loading = false
+				})
+			},
+			//分类列表
+			getCommunityCategoryList() {
+				let data = [{
+					name: "全部",
+					id: '-1',
+					icon: '/static/img/ic-wall-type--1.png'
+				}];
+				communityCategoryListApi().then(res => {
+					this.categoryList = Array.from(new Set([...data, ...res.data]));
+				})
+			},
+
+			// 点击列表头部
+			selectMenu(item, index, isScroll) {
+				if (this.tabClick == index) return
+				this.active = 0
+				this.triggeredDiscover = false;
+				this.categoryId = item.id;
+				this.swiperCurrent = index;
+				this.isScroll = isScroll;
+				this.tabClick = index; //设置导航点击了哪一个
+				this.isLeft = index * this.isWidth; //设置下划线位置
+				this.where.categoryId = item.id;
+				this.showCateDrawer = false
+				this.getDiscoverList();
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	/deep/.wf-page {
+		background-color: #fff !important;
+	}
+
+	.discover_video_icon {
+		top: 50% !important;
+		left: 50% !important;
+		right: 0 !important;
+		-webkit-transform: translate(-50%, -50%);
+		transform: translate(-50%, -50%);
+	}
+
+	.mp-header {
+		background-color: $bg-color-primary;
+	}
+
+	.select_nav {
+		width: 170rpx !important;
+		height: 60rpx !important;
+		border-radius: 33rpx;
+		// background: rgba(255, 255, 255, 0.6);
+		// border: 1rpx solid rgba(0, 0, 0, 0.1);
+		color: #000;
+		position: fixed;
+		font-size: 18px;
+		line-height: 58rpx;
+		z-index: 1000;
+		left: 14rpx;
+	}
+
+	.nav_title {
+		// width: 200rpx;
+		color: #fff;
+		font-size: 36rpx;
+		position: fixed;
+		text-align: center;
+		left: 0;
+		right: 0;
+		margin: auto;
+	}
+
+	.banner-img {
+		width: 100%;
+		height: 100%;
+	}
+
+	.newsTitle {
+		font-weight: 400;
+		font-size: 21rpx;
+		color: #646464;
+	}
+
+	.active-topic {
+		@include main_color(theme);
+		@include coupons_light_color(theme);
+		@include coupons_border_color(theme);
+	}
+
+	.padbottom {
+		/* #ifndef H5 */
+		padding-bottom: calc(100rpx+ constant(safe-area-inset-bottom)) !important; ///兼容 IOS<11.2/
+		padding-bottom: calc(100rpx + env(safe-area-inset-bottom)) !important;
+		/* #endif */
+	}
+
+	.bottom {
+		bottom: 218rpx !important;
+	}
+
+	.footerBottoms {
+		width: 100%;
+		/* #ifndef H5 */
+		height: calc(200rpx+ constant(safe-area-inset-bottom)) !important; ///兼容 IOS<11.2/
+		height: calc(200rpx + env(safe-area-inset-bottom)) !important;
+		/* #endif */
+		/* #ifdef H5 */
+		height: calc(100rpx+ constant(safe-area-inset-bottom)) !important; ///兼容 IOS<11.2/
+		height: calc(100rpx + env(safe-area-inset-bottom)) !important;
+		/* #endif */
+	}
+
+	.discover_index {
+		/deep/.no-border {
+			bottom: 40rpx;
+		}
+
+		/deep/.author-list {
+			padding-left: 24rpx;
+			padding-right: 24rpx;
+		}
+
+	}
+
+	.menu {
+		// padding: 20rpx 34rpx 0 34rpx;
+		// box-sizing: border-box;
+		width: 100%;
+	}
+
+	.page_con {
+		// position: fixed;
+		top: 0;
+		right: 0;
+		bottom: 0;
+		left: 0;
+		display: flex;
+		flex-direction: column;
+	}
+
+	.empty-boxs {
+		margin: auto;
+	}
+
+	.goods {
+		display: flex;
+		flex-direction: column;
+		justify-content: space-between;
+		padding: 24rpx 24rpx 0 24rpx;
+		background: #ffffff;
+	}
+
+	.publish {
+		position: fixed;
+		z-index: 9999;
+		width: 100rpx;
+		height: 100rpx;
+		opacity: 1;
+		border-radius: 50%;
+		bottom: 142rpx;
+		right: 24rpx;
+		color: #fff;
+		line-height: 100rpx;
+		text-align: center;
+		@include linear-gradient(theme);
+
+		.iconfont {
+			font-size: 50rpx;
+		}
+	}
+
+	.main {
+		width: 100%;
+	}
+
+	.author {
+		&-item {
+			padding-bottom: 40rpx;
+		}
+
+		&-title {
+			height: 120rpx;
+			line-height: 120rpx;
+			font-size: 32rpx;
+			color: #333333;
+
+			.iconfont {
+				font-size: 170rpx;
+				color: #454545;
+			}
+
+			.lefticon {
+				transform: rotate(180deg);
+			}
+		}
+
+		.name {
+			margin: 0 28rpx;
+		}
+
+		&-head {
+			width: 80rpx;
+			height: 80rpx;
+			border-radius: 50%;
+			overflow: hidden;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+
+			margin-right: 20rpx;
+		}
+
+		&-name {
+			font-size: 28rpx;
+			font-family: PingFang SC-Medium, PingFang SC;
+			font-weight: 600;
+			color: #282828;
+		}
+
+		&-sign,
+		&-fans {
+			font-size: 22rpx;
+			font-family: PingFang SC-Regular, PingFang SC;
+			font-weight: 400;
+			color: #999999;
+		}
+
+		&-sign {
+			width: 370rpx;
+		}
+
+		&-pictrue {
+			width: 222rpx;
+			height: 222rpx;
+			border-radius: 10px 10px 10px 10px;
+			opacity: 1;
+			margin-right: 18rpx;
+
+
+			/deep/image,
+			/deep/.easy-loadimage,
+			uni-image {
+				width: 100%;
+				height: 100%;
+				border-radius: 10px 10px 10px 10px;
+				overflow: hidden;
+			}
+		}
+
+		&-pictrue:nth-of-type(3n) {
+			margin-right: 0;
+		}
+
+	}
+
+	.noContent {
+		/deep/.empty-box {
+			padding-top: 80rpx !important;
+
+		}
+	}
+
+	.btn {
+		width: 440rpx;
+		height: 86rpx;
+		line-height: 86rpx;
+		text-align: center;
+		border-radius: 43rpx 43rpx 43rpx 43rpx;
+		opacity: 1;
+		border: 1px solid #E93323;
+		font-size: 32rpx;
+		margin: auto;
+		font-family: PingFang SC-Medium, PingFang SC;
+		@include main_color(theme);
+		@include coupons_border_color(theme);
+		font-weight: 600;
+
+	}
+
+	.cart_nav {
+		/deep/.nav_title {
+			font-size: 36rpx;
+			color: #333333;
+		}
+	}
+
+	.discover {
+		&-header {
+			background-size: cover;
+			top: 0;
+			left: 0;
+
+			.title {
+				font-size: 36rpx;
+				color: #333333;
+			}
+		}
+
+		&-navTab {
+			padding: 0 34rpx 0 34rpx;
+			justify-content: space-between;
+
+			.icon-xiazai5 {
+				color: #333;
+			}
+
+			.nav-item {
+				display: inline-block;
+				font-weight: 500;
+				font-size: 31rpx;
+				color: #B2B2B2;
+
+				&.on {
+					font-weight: 600;
+					font-size: 35rpx;
+					color: #141414;
+					border-bottom: 5rpx solid;
+					border-image: linear-gradient(90deg, #FFCA5F 0%, #FF1B95 100%);
+					border-image-slice: 1;
+				}
+			}
+
+			.release_btn {
+				width: 58rpx;
+				height: 58rpx;
+				border-radius: 100%;
+				background-image: linear-gradient(126deg, var(--view-bntColor21) 0%, var(--view-bntColor22) 100%);
+				color: #fff;
+				position: absolute;
+				top: 20rpx;
+				left: 0;
+
+				.iconfont {
+					font-size: 28rpx;
+				}
+			}
+		}
+
+		&-box {
+			flex: 1;
+			min-height: 83vh;
+			height: auto;
+			width: 100%;
+			background-color: #fff;
+			left: 0;
+		}
+	}
+
+	.avatar {
+		width: 64rpx;
+		height: 64rpx;
+		border-radius: 50%;
+	}
+
+	.h96 {
+		height: 96rpx;
+	}
+
+	.h36 {
+		/* #ifdef H5 */
+		height: 28rpx;
+		/* #endif */
+		/* #ifndef H5 */
+		height: 18rpx;
+		/* #endif */
+	}
+
+	.longTab {
+		width: 100%;
+
+		background: #fff;
+		border-radius: 16rpx 16rpx 0 0;
+
+		.longTab-item {
+			/*解决ios上滑动不流畅*/
+			-webkit-overflow-scrolling: touch;
+			position: relative;
+		}
+
+		.longItem {
+			height: 50upx;
+			display: inline-block;
+			text-align: center;
+			font-size: 30rpx;
+			color: #999999;
+			// margin-right: 56rpx;
+
+			text {
+				display: block;
+				max-width: 326rpx;
+				white-space: nowrap;
+				overflow: hidden;
+				text-overflow: ellipsis;
+			}
+
+			&:last-child {
+				margin-right: 0;
+			}
+
+			/*解决ios上滑动不流畅*/
+			-webkit-overflow-scrolling: touch;
+			position: relative;
+
+			&.click {
+				background: #EEF4FF;
+				// font-weight: bold;
+				// font-size: 34rpx;
+				// @include main_color(theme);
+
+				// &::after {
+				// 	content: "";
+				// 	display: block;
+				// 	width: 40rpx;
+				// 	height: 5rpx;
+				// 	@include main_bg_color(theme);
+				// 	display: flex;
+				// 	position: absolute;
+				// 	left: 50%;
+				// 	margin-left: -22rpx;
+				// 	bottom: -8rpx;
+				// }
+
+				// .underline {
+				// 	opacity: 1;
+				// }
+			}
+		}
+
+		.underlineBox {
+			height: 3px;
+			width: 20%;
+			display: flex;
+			align-content: center;
+			justify-content: center;
+
+			.underline {
+				opacity: 0;
+				width: 60rpx;
+				height: 4rpx;
+				background-color: #e93323;
+			}
+		}
+	}
+
+	.author-fans {
+		font-size: 24rpx !important;
+	}
+
+	.container {
+		overflow: hidden;
+		/* 隐藏超出部分 */
+	}
+
+	.swiper {
+		display: flex;
+		/* 使用flex布局 */
+		animation: scrollRight 10s linear infinite;
+		/* 应用动画 */
+	}
+
+	.swiper-item {
+		flex-shrink: 0;
+		/* 不允许缩小 */
+		width: 100%;
+		/* 每个item占满一行 */
+		height: 100%;
+	}
+
+	@keyframes scrollRight {
+		from {
+			transform: translateX(100%);
+		}
+
+		/* 从右向左移动 */
+		to {
+			transform: translateX(-100%);
+		}
+
+		/* 移出视图 */
+	}
+
+	.wall-nav {
+		font-weight: 500;
+		font-size: 23rpx;
+		color: #999999;
+	}
+
+	.wall-nav~.wall-nav {
+		margin-left: 38rpx;
+	}
+
+	.wall-nav-on {
+		font-weight: 600;
+		font-size: 27rpx;
+		color: #141414;
+	}
+	
+	.discover-boxsss {
+		background-color: #fff;
+		width: 100%;
+		flex: 1;
+	}
+	
+	.search {
+		background-color: #fff;
+		padding: 0rpx 10rpx 10rpx 38rpx;
+	}
+	.search .input {
+		width: 590rpx;
+		background-color: #f7f7f7;
+		border-radius: 33rpx;
+		padding: 0 24rpx;
+		box-sizing: border-box;
+		height: 66rpx;
+	}
+	.search .input input {
+		width: 460rpx;
+		font-size: 28rpx;
+	}
+	.search .input .iconfont {
+		color: #000;
+		font-size: 35rpx;
+	}
+	.search .bnt {
+		text-align: center;
+		height: 66rpx;
+		line-height: 66rpx;
+		font-size: 28rpx;
+		color: #282828;
+		margin-left: 24rpx;
+	}
+</style>

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott