ZZ hace 3 semanas
padre
commit
4966a94640

+ 33 - 0
mer_uniapp/api/gameDazi.js

@@ -9,6 +9,39 @@ export function gameListApi(params){
 }
 
 /**
+ * 游戏搭子我的作品列表
+ * 
+*/
+export function myGameApi(data){
+  return request.get(`game/note/my/list`,data);
+}
+
+/**
+ * 游戏搭子内容删除
+ * 
+*/
+export function noteGameApi(noteId){
+  return request.post(`game/note/delete/${noteId}`);
+}
+
+/**
+ * 游戏搭子加入/取消
+ * 
+*/
+export function myGameJoinIdApi(noteId){
+  return request.post(`game/note/join/${noteId}`);
+}
+
+/**
+ * 游戏搭子我加入列表
+ * 
+*/
+export function myGameJoinApi(data){
+  return request.get(`game/note/join/list`,data);
+}
+
+
+/**
  * 创建游戏搭子内容
  * 
 */

+ 216 - 69
mer_uniapp/components/discoverDetails/index.vue

@@ -1,12 +1,10 @@
 <template>
 	<view class="tab-conts" :data-theme="theme">
 		<!-- 0-待审核,1-审核通过,2-审核失败,3-平台关闭 -->
-		<view v-if="noteDetails.auditStatus == 0 || noteDetails.auditStatus == 2 || noteDetails.auditStatus == 3"
-			class="approval_status">
+		<view v-if="noteDetails.auditStatus == 0 || noteDetails.auditStatus == 2 || noteDetails.auditStatus == 3" class="approval_status">
 			<view class="status_count" :class="noteDetails.auditStatus == 0 ? 'status1' : 'status0'">
 				<view class="status_title">
-					<text class="iconfont"
-						:class="(noteDetails.auditStatus == 2 || noteDetails.auditStatus == 3) ? 'icon-tishi' : 'icon-shijian'"></text>
+					<text class="iconfont" :class="(noteDetails.auditStatus == 2 || noteDetails.auditStatus == 3) ? 'icon-tishi' : 'icon-shijian'"></text>
 					<text v-if="noteDetails.auditStatus == 2" class="title">审核未通过,内容仅自己可见</text>
 					<text v-if="noteDetails.auditStatus == 3" class="title">平台关闭,内容仅自己可见</text>
 					<text v-if="noteDetails.auditStatus == 0" class="title">正在审核,内容仅自己可见</text>
@@ -19,26 +17,22 @@
 				</view>
 			</view>
 		</view>
-		<view class="follow_count"
-			:class="(type=='list' || type =='follow' || !noteDetails.platReplySwitch)?'bodyNo':''">
+		<view class="follow_count" :class="(type=='list' || type =='follow' || !noteDetails.platReplySwitch)?'bodyNo':''">
 			<view class="list_count">
 				<view class="imageBox">
-					<swiper v-if="noteDetails.type ===1 && noteDetails.image && noteDetails.image.split(',').length>1"
-						:indicator-dots="indicatorDots" indicator-active-color="#e93323" :circular="circular"
-						:interval="interval" :duration="duration" :style="{height:heightH + 'px'}">
+					<swiper v-if="noteDetails.type ===1 && noteDetails.image && noteDetails.image.split(',').length>1" :indicator-dots="indicatorDots"
+					 indicator-active-color="#e93323" :circular="circular" :interval="interval" :duration="duration" :style="{height:heightH + 'px'}">
 						<block v-for="(item,index) in noteDetails.image.split(',')" :key='index'>
 							<swiper-item class="cover">
 								<!-- <image class="w-full" show-menu-by-longpress :src="item"
 									:mode="isAuto ?  'aspectFill' : 'heightFix'" :style="{height:imageH + 'px'}"
 									@tap="proview(item)"></image> -->
-								<easy-loadimage mode="heightFix" :image-src="item"
-									:style="{height:heightH + 'px'}"></easy-loadimage>
+								<easy-loadimage mode="heightFix" :image-src="item" :style="{height:heightH + 'px'}"></easy-loadimage>
 							</swiper-item>
 						</block>
 					</swiper>
-					<view
-						v-if="noteDetails.type ===2 || (noteDetails.type ===1 &&noteDetails.image && noteDetails.image.split(',').length===1)">
-						<view class="cover" @click="goDetail(noteDetails)"  :style="{height:heightH + 'px'}">
+					<view v-if="noteDetails.type ===2 || (noteDetails.type ===1 &&noteDetails.image && noteDetails.image.split(',').length===1)">
+						<view class="cover" @click="goDetail(noteDetails)" :style="{height:heightH + 'px'}">
 							<easy-loadimage mode="heightFix" :image-src="noteDetails.cover" :style="{height:heightH + 'px'}"></easy-loadimage>
 							<view v-if="noteDetails.type ===2" class="circle">
 								<text class="iconfont icon-24gf-play"></text>
@@ -49,30 +43,29 @@
 				<!-- 查看TA提到的宝贝 -->
 				<view class="pro_describle">
 					<view class="product_info">
-						<view class="noteTitle">{{noteDetails.title}}</view>
+						<view class="noteTitle flex-between-center">
+							<view>{{noteDetails.title}}</view>
+							<view v-if="dazi && noteDetails.authorId !== uid" class="dazi-info" @tap="onJoin">加入</view>
+						</view>
 						<view>
-							<view class="text"
-								v-if="noteDetails.isMore || (noteDetails.content && noteDetails.content.length<=70)">
+							<view class="text" v-if="noteDetails.isMore || (noteDetails.content && noteDetails.content.length<=70)">
 								<text class="info">{{noteDetails.content}}</text>
 							</view>
 							<view class="text mt10" v-else>
-								<text v-show="noteDetails.content"
-									class="info">{{noteDetails.content && noteDetails.content.slice(0,70)}}...</text>
-								<text class="more" v-if="noteDetails.content && noteDetails.content.length>70"
-									@click.stop="moreTap(noteDetails,i)">
+								<text v-show="noteDetails.content" class="info">{{noteDetails.content && noteDetails.content.slice(0,70)}}...</text>
+								<text class="more" v-if="noteDetails.content && noteDetails.content.length>70" @click.stop="moreTap(noteDetails,i)">
 									展开</text>
 							</view>
 						</view>
 					</view>
-					<view class="topicList acea-row"
-						v-if="noteDetails.topicList && noteDetails.topicList.length>0">
+					<view class="topicList acea-row" v-if="noteDetails.topicList && noteDetails.topicList.length>0">
 						<view style="line-height: 1.2;" @click="goTopic(item.id)" v-for="(item, j) in noteDetails.topicList" :key="j">
 							<text class="icon">#</text><text class="text">{{item.name}}</text>
 						</view>
 					</view>
 					<view v-if="type==='detail'" class="create_time">{{noteDetails.createTime}}</view>
 					<scroll-view v-if="noteDetails.productList && noteDetails.productList.length" scroll-x="true" class="white-nowrap vertical-middle w-full mt-22 mb-12"
-						show-scrollbar="false">
+					 show-scrollbar="false">
 						<mentioned :list="noteDetails.productList" @close="popup" class=""></mentioned>
 					</scroll-view>
 				</view>
@@ -81,26 +74,25 @@
 
 		<view class="footer_bar acea-row fixed release_bar_detail" style="bottom: 0;">
 			<view class="acea-row items-center">
-				<view class="author mr-16" @click="goUser(noteDetails)">
-					<image v-if="noteDetails.authorLevelIcon" class="level_icon" :src="noteDetails.authorLevelIcon"
-						alt="">
-						<image class="picture"
-							:src="noteDetails.authorAvatar || urlDomain+'crmebimage/presets/morenT.png'">
-						</image>
-						<view class="name acea-row">
-							<text>{{noteDetails.authorName}}</text>
-						</view>
-				</view>
-				<!-- 1关注 -->
-				<view v-if="noteDetails.authorId!==uid && type !=='follow'" @click.stop="followAuthor(noteDetails)">
-					<view v-if="!noteDetails.isConcerned" class="author-follow flex-around-center font-color"><text
-							class="iconfont icon-shangpinshuliang-jia"></text>
-						<view class="line-heightOne">关注</view>
+				<template v-if="!dazi">
+					<view class="author mr-16" @click="goUser(noteDetails)">
+						<image v-if="noteDetails.authorLevelIcon" class="level_icon" :src="noteDetails.authorLevelIcon" alt="">
+							<image class="picture" :src="noteDetails.authorAvatar || urlDomain+'crmebimage/presets/morenT.png'">
+							</image>
+							<view class="name acea-row">
+								<text>{{noteDetails.authorName}}</text>
+							</view>
 					</view>
-					<view v-else class="author-focused flex-around-center">
-						<view class="line-heightOne">已关注</view>
+					<!-- 1关注 -->
+					<view v-if="noteDetails.authorId!==uid && type !=='follow'" @click.stop="followAuthor(noteDetails)">
+						<view v-if="!noteDetails.isConcerned" class="author-follow flex-around-center font-color"><text class="iconfont icon-shangpinshuliang-jia"></text>
+							<view class="line-heightOne">关注</view>
+						</view>
+						<view v-else class="author-focused flex-around-center">
+							<view class="line-heightOne">已关注</view>
+						</view>
 					</view>
-				</view>
+				</template>
 				<!-- 管理 -->
 				<view class="manageCount" v-if="noteDetails.authorId==uid && type==='detail'">
 					<view class="follow_btn author-focused flex-around-center" @click.stop="handleManage">
@@ -111,9 +103,8 @@
 			<!-- 末尾处分享、关注、评论 -->
 			<view class="foot_bar">
 				<view class="item">
-					<view class="item_count" @click.stop="likeToggle(noteDetails)">
-						<text class="iconfont"
-							:class="noteDetails.userIsLike ? 'icon-shoucang1' : 'icon-dianzan'"></text>
+					<view class="item_count" @click.stop="likeToggle(noteDetails)" v-if="!dazi">
+						<text class="iconfont" :class="noteDetails.userIsLike ? 'icon-shoucang1' : 'icon-dianzan'"></text>
 						<text>{{noteDetails.likeNum > 0 ? noteDetails.likeNum < 10000 ? noteDetails.likeNum : (noteDetails.likeNum / 10000).toFixed(2) : '点赞'}}</text>
 					</view>
 					<!--  -->
@@ -123,17 +114,16 @@
 					</view>
 				</view>
 				<!-- #ifdef MP -->
-				<button v-if="noteDetails.auditStatus == 1" class="time iconfont icon-fenxiang ml-20" open-type="share"
-					hover-class='none' :data-id="noteDetails.id" :data-cover="noteDetails.cover" :data-uid="uid"
-					:data-title="noteDetails.title" @click="shareFriend(noteDetails)"></button>
+				<button v-if="noteDetails.auditStatus == 1" class="time iconfont icon-fenxiang ml-20" open-type="share" hover-class='none'
+				 :data-id="noteDetails.id" :data-cover="noteDetails.cover" :data-uid="uid" :data-title="noteDetails.title" @click="shareFriend(noteDetails)"></button>
 				<!-- #endif -->
 				<!-- #ifdef APP -->
-				<button v-if="noteDetails.auditStatus == 1" @click="appShare('WXSceneSession',noteDetails)"
-					class="time iconfont icon-fenxiang ml-20" hover-class='none'></button>
+				<button v-if="noteDetails.auditStatus == 1" @click="appShare('WXSceneSession',noteDetails)" class="time iconfont icon-fenxiang ml-20"
+				 hover-class='none'></button>
 				<!-- #endif -->
 				<!-- #ifdef H5 -->
-				<button v-if="noteDetails.auditStatus == 1  && isWeixin" @click="appShare('WXSceneSession',noteDetails)"
-					class="time iconfont icon-fenxiang ml-20" hover-class='none'></button>
+				<button v-if="noteDetails.auditStatus == 1  && isWeixin" @click="appShare('WXSceneSession',noteDetails)" class="time iconfont icon-fenxiang ml-20"
+				 hover-class='none'></button>
 				<button></button>
 				<!-- #endif -->
 			</view>
@@ -141,8 +131,7 @@
 		</view>
 
 		<!-- 分享按钮 -->
-		<image v-if="H5ShareBox" class="shareImg" :src="urlDomain+'crmebimage/presets/share-info.png'"
-			@click="H5ShareBox = false">
+		<image v-if="H5ShareBox" class="shareImg" :src="urlDomain+'crmebimage/presets/share-info.png'" @click="H5ShareBox = false">
 		</image>
 
 		<!-- 商品列表 -->
@@ -152,10 +141,9 @@
 
 		<!-- 评论弹窗 -->
 		<uni-popup type="bottom" ref="comment">
-			<view
-				:style="'width: 100%; background-color: #fff; border-top-left-radius: 10px; border-top-right-radius: 10px;'">
-				<discoverComment v-if="showComment" @getReplyNum="getReplyNum" :noteId="noteDetails.id"
-					fromTo="popupView" :noteDetails="noteDetails" @close="close" :isShowCommentView="isShowCommentView">
+			<view :style="'width: 100%; background-color: #fff; border-top-left-radius: 10px; border-top-right-radius: 10px;'">
+				<discoverComment v-if="showComment" @getReplyNum="getReplyNum" :noteId="noteDetails.id" fromTo="popupView"
+				 :noteDetails="noteDetails" @close="close" :isShowCommentView="isShowCommentView">
 				</discoverComment>
 			</view>
 		</uni-popup>
@@ -164,18 +152,40 @@
 		<uni-popup type="bottom" ref="manageRef">
 			<view class="manage">
 				<popup-header title="内容管理" @close="closeManage"></popup-header>
-				<navigator hover-class="none" :url="'/pages/discover/discover_release/index?noteId='+noteDetails.id"
-					class="items">
+				<navigator hover-class="none" :url="'/pages/discover/discover_release/index?noteId='+noteDetails.id + '&dazi=' + dazi" class="items">
 					<text>编辑</text>
 				</navigator>
 				<view class="items" @click.stop="deleteTopic(noteDetails)">
 					<text>删除</text>
 				</view>
-				<view disabled="true" class="items" @click.stop="replySwitch(noteDetails)">
+				<view v-if="!dazi" disabled="true" class="items" @click.stop="replySwitch(noteDetails)">
 					<text>{{noteDetails.replyStatus ==1 ? '禁止评论' : '开启评论'}}</text>
 				</view>
 			</view>
 		</uni-popup>
+		<!-- 加入 -->
+		<uni-popup ref="joinDialog" type="dialog">
+			<view class="tui-modal-custom">
+				<view class="fs-32 fw-500 lh-44rpx text-center">加入群聊</view>
+				<view class="mt-24 bg--w111-f5f5f5 rd-16rpx p-24">
+					<image :src="noteDetails.qrCode" mode="widthFix" class="h-604 w-full" @longpress="onLongPress"></image>
+				</view>
+			</view>
+		</uni-popup>
+		<!-- 扫一扫 -->
+		<uni-popup type="bottom" ref="codeRef">
+			<view class="manage">
+				<view class="items" @click="onSavePicture">
+					<text>保存图片</text>
+				</view>
+				<view class="items" @click="onScan">
+					<text>扫一扫</text>
+				</view>
+				<view class="items" @click.stop="onScanCancel">
+					<text>取消</text>
+				</view>
+			</view>
+		</uni-popup>
 	</view>
 </template>
 
@@ -195,6 +205,10 @@
 		noteReplySwitchApi
 	} from '@/api/discover.js';
 	import {
+		noteGameApi,
+		myGameJoinIdApi
+	} from '@/api/gameDazi.js';
+	import {
 		discoverFollowAuthor
 	} from '@/libs/follow.js';
 	import {
@@ -241,7 +255,8 @@
 				noteIndex: 0, //当前的索引
 				noteDetails: this.noteRecommendList,
 				windowWidth: 0, //获取屏幕宽度🌟💗
-				heightH: 0
+				heightH: 0,
+				qrCode: ''
 			}
 		},
 		props: {
@@ -445,7 +460,8 @@
 					content: '确定要删除该内容么?',
 					success: function(res) {
 						if (res.confirm) {
-							noteDelApi(noteDetails.id).then(res => {
+							let api = that.dazi ? noteGameApi : noteDelApi;
+							api(noteDetails.id).then(res => {
 								that.$util.Tips({
 									title: '删除成功'
 								});
@@ -522,10 +538,10 @@
 				if (noteDetails.type === 2) {
 					uni.navigateTo({
 						//#ifdef APP
-						url: '/pages/discover/discover_video/appVideo/index?noteId=' + noteDetails.id+`&sd=${this.uid}`,
+						url: '/pages/discover/discover_video/appVideo/index?noteId=' + noteDetails.id + `&sd=${this.uid}`,
 						//#endif
 						//#ifndef APP
-						url: '/pages/discover/discover_video/routineVideo/index?noteId=' + noteDetails.id+`&sd=${this.uid}`,
+						url: '/pages/discover/discover_video/routineVideo/index?noteId=' + noteDetails.id + `&sd=${this.uid}`,
 						//#endif
 
 					});
@@ -549,15 +565,120 @@
 					})
 				}
 			},
+			onJoin() {
+				this.$refs.joinDialog.open()
+			},
+			handleInputClose() {
+				this.$refs.joinDialog.close()
+			},
+			onLongPress(e) {
+				this.$refs.codeRef.open('bottom')
+			},
+			onScan() {
+				// 只允许通过相机扫码
+				uni.scanCode({
+					onlyFromCamera: true,
+					scanType: 'qrCode',
+					success: function(res) {
+						console.log('条码类型:' + res.scanType);
+						console.log('条码内容:' + res.result);
+						uni.navigateTo({
+							url: res.result
+						});
+						let that = this;
+						myGameJoinIdApi(noteDetails.id).then(res => {
+							that.$util.Tips({
+								title: '加入成功'
+							});
+							setTimeout(function() {
+								uni.redirectTo({
+									url: `/pages/discover/discover_user/index?dazi=${that.dazi}`
+								})
+							}, 1000);
+						}).catch(err => {
+							uni.showToast({
+								title: err,
+								icon: 'none'
+							})
+						});
+					}
+				});
+			},
+			onSavePicture() {
+				// 保存到相册
+				// imageUrl是你要保存的图片地址
+				const imageUrl = this.noteDetails.qrCode;
+
+				// 向用户请求保存图片到相册的权限
+				uni.authorize({
+					scope: 'scope.writePhotosAlbum',
+					success() {
+						// 用户已授权,可以下载并保存图片
+						uni.downloadFile({
+							url: imageUrl,
+							success: (downloadRes) => {
+								if (downloadRes.statusCode === 200) {
+									// 下载成功,保存图片到相册
+									uni.saveImageToPhotosAlbum({
+										filePath: downloadRes.tempFilePath,
+										success(res) {
+											// 图片保存成功,弹出提示框
+											uni.showToast({
+												title: '保存成功',
+												icon: 'success'
+											});
+										},
+										fail(err) {
+											console.error('图片保存失败', err);
+											// 图片保存失败,弹出提示框
+											uni.showToast({
+												title: '保存失败',
+												icon: 'none'
+											});
+										}
+									});
+								} else {
+									console.error('下载失败', downloadRes);
+									// 下载失败,弹出提示框
+									uni.showToast({
+										title: '下载失败',
+										icon: 'none'
+									});
+								}
+							},
+							fail(err) {
+								console.error('下载失败', err);
+								// 下载失败,弹出提示框
+								uni.showToast({
+									title: '下载失败',
+									icon: 'none'
+								});
+							}
+						});
+					},
+					fail() {
+						console.log('用户未授权');
+						// 用户未授权,弹出提示框
+						uni.showToast({
+							title: '需要授权才能保存图片',
+							icon: 'none'
+						});
+					}
+				});
+			},
+			onScanCancel() {
+				this.$refs.codeRef.close()
+			}
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
-	.author-follow{
+	.author-follow {
 		background: none !important;
 		@include coupons_border_color(theme);
 	}
+
 	.footer_bar {
 		background-color: #fff;
 		flex-shrink: 0;
@@ -791,7 +912,8 @@
 		}
 
 		.topicList {
-            margin-right: -20rpx;
+			margin-right: -20rpx;
+
 			>view {
 				display: flex;
 				align-items: center;
@@ -799,7 +921,7 @@
 				margin-right: 20rpx;
 				// line-height: 62rpx;
 				// height: 62rpx;
-			
+
 				@include main_color(theme);
 
 				.text {
@@ -963,4 +1085,29 @@
 			}
 		}
 	}
-</style>
+
+	.dazi-info {
+		font-weight: 500;
+		font-size: 23rpx;
+		color: #FFFFFF;
+		background: #FF6600;
+		padding: 6rpx 25rpx;
+		border-radius: 8rpx;
+	}
+
+	.tui-modal-custom {
+		width: 600rpx;
+		position: relative;
+		box-sizing: border-box;
+		padding: 40rpx;
+		border-radius: 16px;
+		background-color: #fff;
+		z-index: 9999;
+
+		.h-342 {
+			min-height: 268rpx;
+			max-height: 268rpx;
+			overflow-y: scroll;
+		}
+	}
+</style>

+ 1 - 1
mer_uniapp/components/discoverFlowItem/discoverFlowItem.vue

@@ -15,7 +15,7 @@
 					<view v-else class="flex-col flex-between-center h-136" style="align-items: flex-start;padding: 15rpx; 0">
 						<view class="w-full info-dzi fs-26 flex-between-center">
 							<text style="font-weight: bold;">{{items.title || ''}}</text>
-							<view class="dazi-info">加入</view>
+							<view class="dazi-info" v-if="fromTo !== 'home'">加入</view>
 						</view>
 						<view class="info-xzi-jj">{{items.content || ''}}</view>
 					</view>

+ 12 - 0
mer_uniapp/pages/discover/discover_details/index.vue

@@ -121,6 +121,18 @@
 							} else {
 								this.imageH = imageH;
 							}
+							if (this.dazi) {
+								const arr = this.noteDetail.image.split(',');
+								let qrCode = '';
+								arr.forEach(item =>{
+									if (this.noteDetail.cover !== item) {
+										qrCode = item;
+									} else {
+										this.noteDetail.image = item;
+									}
+								});
+								this.noteDetail.qrCode = qrCode;
+							}
 							console.log(this.imageH, 'inlailellelel')
 						}
 					})

+ 9 - 4
mer_uniapp/pages/discover/discover_release/index.vue

@@ -57,10 +57,10 @@
 								<view class="cover_change" v-if="!item.isCover" @click="onChangeCover(item, index)">{{dazi ? '进群二维码(点击更换)' : '更换封面'}}
 								</view>
 							</view>
-							<view v-if="image.length < 9 && !formData.video" class="pictrue acea-row row-center-wrapper row-column add"
+							<view v-if="image.length < (dazi ? 2 : 9) && !formData.video" class="pictrue acea-row row-center-wrapper row-column add"
 							 @click="upload('image')">
 								<view><text class='iconfont icon-paizhao'></text></view>
-								<view class="text">添加图片</view>
+								<view class="text">{{dazi ? image.length < 1 ? '添加封面' : '添加二维码' : '添加图片'}}</view>
 							</view>
 
 							<view v-if="image.length === 0 && !formData.video && !dazi" class="pictrue acea-row row-center-wrapper row-column add"
@@ -104,8 +104,8 @@
 						<view class="select">
 							<view class="select_count">
 								<picker class="pickerIpt" @change="bindSexChange" :value="sexindex" :range="categoryList" range-key="name">
-									<text v-if="!categoryName" class="text">请选择</text>
-									<view class="uni-input color28 text">{{categoryName}}</view>
+									<text v-if="!categoryList[sexindex].name" class="text">请选择</text>
+									<view class="uni-input color28 text">{{categoryList[sexindex].name}}</view>
 								</picker>
 								<text @change="bindSexChange" class="iconfont icon-xiangyou"></text>
 							</view>
@@ -480,6 +480,11 @@
 						});
 					}
 				}
+				if (this.dazi) {
+					if (that.image.length < 2) return that.$util.Tips({
+						title: '请添加进群二维码'
+					});
+				}
 				if (!that.formData.categoryId && !isFinite(that.formData.categoryId)) return that.$util.Tips({
 					title: '请选择内容分类'
 				});

+ 42 - 11
mer_uniapp/pages/discover/discover_user/index.vue

@@ -33,7 +33,7 @@
 						<button v-else class="follow_btn focused">已关注</button>
 					</view>
 					<view v-if="userInfo.id==uid">
-						<navigator hover-class="none" url="/pages/discover/discover_release/index"
+						<navigator hover-class="none" :url="`/pages/discover/discover_release/index?dazi=${dazi}`"
 							class="follow_btn focus bg-color">
 							去发布
 						</navigator>
@@ -70,15 +70,16 @@
 				</view>
 			</view>
 			<view v-if="!id && isShow" class="tab_count relative">
-				<text @click.stop="changeTab(0)" :class="tab==0 ? 'on' : ''">作品</text>
-				<text @click.stop="changeTab(1)" :class="tab==1 ? 'on' : ''">赞过</text>
+				<text @click.stop="changeTab(0)" :class="tab==0 ? 'on' : ''">{{dazi ? '我的作品' : '作品'}}</text>
+				<text v-if="!dazi" @click.stop="changeTab(1)" :class="tab==1 ? 'on' : ''">赞过</text>
+				<text v-if="dazi" @click.stop="changeTab(3)" :class="tab==3 ? 'on' : ''">我加入的</text>
 			</view>
 		</view>
 		<view class="main">
 			<view class="tab-conts">
 				<view v-if="list.length > 0" class="goods-wrap flex-1">
 					<view class="goods">
-						<WaterfallsFlow v-if="list.length" :wfList="list" :fromType="1" fromTo="home">
+						<WaterfallsFlow v-if="list.length" :wfList="list" :fromType="1" fromTo="home" :column="dazi ? true : false" :isDazi="dazi ? true : false">
 						</WaterfallsFlow>
 					</view>
 				</view>
@@ -140,6 +141,7 @@
 		editSignatureApi,
 		editSchoolApi
 	} from '@/api/discover.js';
+	import { myGameApi, myGameJoinApi } from '@/api/gameDazi.js';
 	import {
 		toLogin
 	} from '@/libs/login.js';
@@ -181,7 +183,8 @@
 				isShowSignature: false, // 是否显示简介编辑内容
 				signature: '', //弹窗中的签名
 				school: '',
-				fieldStr: ''
+				fieldStr: '',
+				dazi: ''
 			}
 		},
 		created() {},
@@ -191,6 +194,8 @@
 		watch: {},
 		onLoad: function(options) {
 			this.id = options.id ? options.id : '';
+			this.dazi = options.dazi || '';
+			console.log(this.dazi)
 		},
 		onShow() {
 			if (this.id) {
@@ -303,6 +308,8 @@
 				this.list = []
 				if (tab === 0) {
 					this.myNoteList();
+				} else if (tab === 3) {
+					this.myJoinList();
 				} else {
 					this.myLikeList();
 				}
@@ -329,13 +336,36 @@
 					})
 				})
 			},
+			// 获取我加入的 
+			myJoinList: function() {
+				let that = this;
+				if (that.loaded || that.loading) return;
+				that.loading = true;
+				that.loadTitle = '';
+				myGameJoinApi(that.where).then(res => {
+					let list = res.data.list;
+					let goods = that.$util.SplitArray(list, that.list);
+					that.loaded = list.length < that.where.limit;
+					that.loading = false;
+					that.loadTitle = that.loaded ? '到底了' : '加载更多';
+					that.$set(that, 'list', goods);
+					that.$set(that.where, 'page', that.where.page + 1);
+				}).catch(err => {
+					that.loading = false;
+					uni.showToast({
+						title: err,
+						icon: 'none'
+					})
+				})
+			},
 			// 获取我的的作品 
 			myNoteList: function() {
 				let that = this;
 				if (that.loaded || that.loading) return;
 				that.loading = true;
 				that.loadTitle = '';
-				myNoteApi(that.where).then(res => {
+				let api = this.dazi ? myGameApi : myNoteApi;
+				api(that.where).then(res => {
 					let list = res.data.list;
 					let goods = that.$util.SplitArray(list, that.list);
 					that.loaded = list.length < that.where.limit;
@@ -485,27 +515,28 @@
 			border-radius: 12px 12px 0 0;
 
 			text {
+				display: inline-block;
 				font-size: 28rpx;
 				color: #999999;
 				margin: 0 30rpx;
 				position: relative;
 				padding-bottom: 14rpx;
-
+			
 				&.on {
 					font-size: 32rpx;
 					color: #282828;
 					font-weight: bold;
-
+			
 					&::after {
 						content: "";
-						width: 40rpx;
+						width: 80%;
 						height: 5rpx;
 						@include main_bg_color(theme);
 						position: absolute;
 						bottom: 0;
-						left: 10rpx;
+						left: 12rpx;
 					}
-
+			
 					.underline {
 						opacity: 1;
 					}

+ 2 - 2
mer_uniapp/pages/game_dazi/index.vue

@@ -642,14 +642,14 @@
 				} else {
 					// #ifdef MP || H5
 					uni.navigateTo({
-						url: '/pages/discover/discover_user/index'
+						url: '/pages/discover/discover_user/index' + '?dazi=dazi'
 					})
 					// #endif  
 					// #ifdef APP-PLUS
 					uni.navigateTo({
 						animationType: animationType.type,
 						animationDuration: animationType.duration,
-						url: '/pages/discover/discover_user/index'
+						url: '/pages/discover/discover_user/index' + '?dazi=dazi'
 					})
 					// #endif
 				}

+ 0 - 1
mer_uniapp/pages/trade_fair/trade_return_list/index.vue

@@ -615,7 +615,6 @@
 		.h-342 {
 			min-height: 268rpx;
 			max-height: 268rpx;
-			;
 			overflow-y: scroll;
 		}
 	}