From 4efeb31d5b4921d7e851c256009486ad86bc70e2 Mon Sep 17 00:00:00 2001
From: zengh <123456>
Date: Tue, 21 Jun 2022 09:14:57 +0800
Subject: [PATCH] 地址替换

---
 pages/groupChat/groupChat.vue |  356 +++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 295 insertions(+), 61 deletions(-)

diff --git a/pages/groupChat/groupChat.vue b/pages/groupChat/groupChat.vue
index f9bde8d..f4fdfea 100644
--- a/pages/groupChat/groupChat.vue
+++ b/pages/groupChat/groupChat.vue
@@ -4,51 +4,92 @@
 		<!-- 自定义顶部导航栏 -->
 		<!-- <navBarTop :title="'聊天室'"></navBarTop> -->
 
-		<view style="height:205rpx;"></view>
-		<view class="tab" style="position: fixed;top: 0;width: 100%;height: 205rpx;z-index: 100;">
-			<u-navbar style="position: relative;left: -20rpx;" :is-fixed="false" :border-bottom="false" :is-back="false"
-				title="好友" :background="{ background: '#0BB9C8' }" title-color="#fff">
-				<image slot="right" src="/static/images/home/message.png" class="message-icon" mode="widthFix"></image>
-			</u-navbar>
+		<u-navbar style="position: relative;" :is-fixed="false" :border-bottom="false" :is-back="false" title="好友"
+			:background="{ background: '#0BB9C8' }" title-color="#fff">
+			<u-icon @click="addFriend" slot="right" class="message-icon" mode="widthFix" name="plus" color="#fff">
+			</u-icon>
+		</u-navbar>
+
+		<view class="tab">
 			<u-tabs :list="list" :is-scroll="false" :current="current" active-color="#14B9C8" inactive-color="#595959"
-				height="100" @change="change" style="background-color:rgba(255,255,255,0.8)"></u-tabs>
+				height="100" @change="change"></u-tabs>
 		</view>
-		<swiper id="swiperBox" :style="{ height: swiperHeight + 'px' }" :current="current" @change="tabsChange">
+
+		<swiper id="swiperBoxPeo" :style="{ height: swiperHeight + 'px' }" :current="current" @change="tabsChange">
+
 			<swiper-item class="swiper-item" v-for="(item, indexs) in list" :key="indexs">
-				<view v-if="indexs == 0" class="main">
-					<div>
-						<div class="m-main">
-							<!-- <view class="inTitle">{{Task}}</view> -->
-							<view class="inTmain">
-								<contacts v-for="(item,index) in dataListP" :key="index" :Pdata="item" :fromW="indexs"
-									@refreshTask="refreshTask"></contacts>
-							</view>
+
+				<scroll-view scroll-y :scroll-top="scrollTop" style="width: 100%;height: 100%;"
+					:refresher-enabled="refresherFlag" :refresher-threshold="threshold" :refresher-triggered="triggered"
+					@refresherrefresh="refreshing" @refresherrestore="refresherrestore">
+
+					<view v-if="indexs == 0" class="main">
+
+						<div>
+							<div class="m-main">
+								<!-- <view class="inTitle">{{Task}}</view> -->
+								<view class="inTmain">
+									<contacts v-for="(item,index) in dataListP" :key="index" :Pdata="item"
+										:fromW="indexs" @refreshTask="refreshTask"></contacts>
+								</view>
+							</div>
 						</div>
-					</div>
-				</view>
-				<view v-if="indexs == 1" class="main">
-					<div>
-						<div class="m-main">
-							<!-- <view class="inTitle">{{Task}}</view> -->
-							<view class="inTmain">
-								<contacts v-for="(item,index) in dataListTXL" :key="index" :Pdata="item" :fromW="indexs"
-									@refreshTask="refreshTask"></contacts>
-							</view>
+					</view>
+					<view v-if="indexs == 1" class="main">
+						<div>
+							<div class="m-main">
+								<!-- <view class="inTitle">{{Task}}</view> -->
+								<view class="applys" @click="toFriendRequest">
+									<view class="head-wrap">
+										<image src="../../static/apply.png" class="head" />
+										<view v-if=false class="tip">233</view>
+									</view>
+									<view class="content-wrap">
+										<text class="name">好友申请</text>
+										<text class="mess">若人生只如初见</text>
+									</view>
+									<view class="data-wrap">
+										<text class="data"></text>
+									</view>
+								</view>
+								<view class="inTmain">
+									<contacts v-for="(item,index) in dataListTXL" :key="index" :Pdata="item"
+										:fromW="indexs" @refreshTask="refreshTask"></contacts>
+								</view>
+							</div>
 						</div>
-					</div>
-				</view>
-				<view v-if="indexs == 2" class="main">
-					<div>
-						<div class="m-main">
-							<!-- <view class="inTitle">{{Task}}</view> -->
-							<view class="inTmain">
-								<contacts v-for="(item,index) in dataListQZ" :key="index" :Pdata="item" :fromW="indexs"
-									@refreshTask="refreshTask"></contacts>
-							</view>
+					</view>
+					<view v-if="indexs == 2" class="main">
+						<div>
+							<div class="m-main">
+
+								<view class="applys" @click="newGroup">
+									<view class="head-wraps">
+										<image src="../../static/qunzhu.png" class="head" />
+										<view v-if=false class="tip">233</view>
+									</view>
+									<view class="content-wrap">
+										<text class="name">群组创建</text>
+										<text class="mess">何事秋风悲画扇</text>
+									</view>
+									<view class="data-wrap">
+										<text class="data"></text>
+									</view>
+								</view>
+
+								<!-- <view class="inTitle">{{Task}}</view> -->
+								<view class="inTmain">
+									<contacts v-for="(item,index) in dataListQZ" :key="index" :Pdata="item"
+										:fromW="indexs" @refreshTask="refreshTask"></contacts>
+								</view>
+							</div>
 						</div>
-					</div>
-				</view>
+					</view>
+
+				</scroll-view>
+
 			</swiper-item>
+
 		</swiper>
 
 	</view>
@@ -90,6 +131,11 @@
 				titleTop: '', //
 				hello: false,
 				userName: '',
+				scrollTop: 0,
+				threshold: 50,
+				triggered: false,
+				isRefreshing: false, // 是否在刷新中
+				refresherFlag: true,
 			}
 		},
 		activated() {
@@ -108,15 +154,43 @@
 					} = e;
 					const query = uni.createSelectorQuery().in(that);
 					query
-						.select('#swiperBox')
+						.select('#swiperBoxPeo')
 						.boundingClientRect(data => {
-							that.swiperHeight = safeArea.bottom - data.top;
+
+							that.swiperHeight = (safeArea.bottom - data.top);
+
 						})
 						.exec();
 				}
 			});
 		},
 		methods: {
+
+			
+			refreshing() {
+				
+				if (this.isRefreshing) {
+					return;
+				}
+				this.isRefreshing = true;
+				//界面下拉触发,triggered可能不是true,要设为true
+				if (!this.triggered) {
+					this.triggered = true;
+				}
+				
+				this.dataListP = [];
+				this.dataListQZ = [];
+				this.dataListTXL = [];
+				
+				this.getdataList()
+			},
+
+			refresherrestore() {
+		
+			
+				
+			},
+
 			change(index) {
 				this.current = index;
 			},
@@ -149,65 +223,104 @@
 							var resdata = res.data.data;
 							for (var i = 0; i < resdata.length; i++) {
 								if (resdata[i].avatar == null || resdata[i].avatar == "") {
-									resdata[i].avatar = "http://s16s652780.51mypc.cn/img/bg/img-logo.png";
+									resdata[i].avatar = "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20191109%2F1d3d4d82715444c4b8284f65e3feed10.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1632484198&t=1f4086a5894cbf83b311fa37c276405c";
 								}
 							}
 							that.dataListP = resdata;
-							that.swiperHeight = resdata.length * 85;
+
+							that.scrollTop = 0;
+
+							setTimeout(() => {
+								that.triggered = false; //触发onRestore,并关闭刷新图标 正常应该放在请求成功得接口里
+								that.isRefreshing = false;
+							}, 1000)
+
 						}
 					});
 				} else if (this.current == 1) {
 					uni.request({
-						url: this.$store.state.piAPI + "/blade-user/page?current=1&size=9999",
+						url: this.$store.state.piAPI + "/friend/page?current=1&size=9999",
 						method: "get",
 						data: {
-							senderId: WxStorage.get("ids")
+							applicant: WxStorage.get("ids")
 						},
 						success: (res) => {
 							var resdata = res.data.data.records;
 							for (var i = 0; i < resdata.length; i++) {
 
 								if (resdata[i].avatar == null || resdata[i].avatar == "") {
-									resdata[i].avatar = "http://s16s652780.51mypc.cn/img/bg/img-logo.png";
+									resdata[i].avatar = "https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20191109%2F1d3d4d82715444c4b8284f65e3feed10.jpeg&refer=http%3A%2F%2F5b0988e595225.cdn.sohucs.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1632484198&t=1f4086a5894cbf83b311fa37c276405c";
 								}
 							}
+
 							that.dataListTXL = resdata;
-							that.swiperHeight = resdata.length * 85;
+
+							that.scrollTop = 0;
+							
+							setTimeout(() => {
+								that.triggered = false; //触发onRestore,并关闭刷新图标 正常应该放在请求成功得接口里
+								that.isRefreshing = false;
+							}, 1000)
+
 						}
 					})
 				} else if (this.current == 2) {
 
 					uni.request({
 						url: this.$store.state.piAPI + "/chatgroup/selectList",
-						method: "POST",
+						method: "GET",
 						data: {
-							senderId: WxStorage.get("ids")
+							id: WxStorage.get("ids")
 						},
+						contentType: "application/x-www-form-urlencoded",
 						success: (res) => {
 							var resdata = res.data.data;
 							for (var i = 0; i < resdata.length; i++) {
 								if (resdata[i].avatar == null || resdata[i].avatar == "") {
-									resdata[i].avatar = "http://s16s652780.51mypc.cn/img/bg/qunz.png";
+									resdata[i].avatar = "../../static/images/people.png";
 								}
 							}
 							that.dataListQZ = resdata;
-							that.swiperHeight = resdata.length * 85;
+
+							that.scrollTop = 0;
+							
+							setTimeout(() => {
+								that.triggered = false; //触发onRestore,并关闭刷新图标 正常应该放在请求成功得接口里
+								that.isRefreshing = false;
+							}, 1000)
+
 						}
-					})
+					});
 				}
 			},
 			refreshTask() {
 				this.getdataList(1);
 			},
-
+			toFriendRequest() {
+				uni.navigateTo({
+					url: '/pages/groupChat/friendrequest?'
+				});
+			},
+			addFriend() {
+				uni.navigateTo({
+					url: '/pages/groupChat/addFriend?'
+				});
+			},
+			newGroup() {
+				uni.navigateTo({
+					url: '/pages/groupChat/newGroup/newGroup?'
+				});
+			}
 		},
 		mounted() {
-			this.beginObj();
-			this.getdataList(0);
+			
 
 		},
+		onShow() {
+			this.beginObj();
+			this.getdataList(0);
+		},
 		onPageScroll(e) {
-			// console.log(e.scrollTop, 'pingmu')
 			this.rect = e.scrollTop
 		},
 		watch: {
@@ -222,18 +335,18 @@
 		onLoad: function(options) {
 			this.userName = options.login;
 			// if(options.txlType == 2){
-			this.current = 2;
+			// this.current = 0;
 			// }
 
 		}
 	}
 </script>
 
-<style lang="scss">
+<style lang="scss" scoped>
 	.work {
 		width: 100%;
 		height: 100%;
-		padding: 0rem 2.5% 3rem 2.5%;
+		padding: 0;
 		box-sizing: border-box;
 
 		.hello {
@@ -271,7 +384,7 @@
 		}
 
 		.main {
-			margin-top: 0.625rem;
+			margin-top: 0.225rem;
 
 			.m-title {
 				width: 100%;
@@ -314,13 +427,134 @@
 
 			.m-main {
 				box-sizing: border-box;
+
+				.main {
+					padding: 0 16px;
+				}
 			}
 		}
 	}
 
 	.message-icon {
-		width: 32rpx;
-		height: auto;
+		font-size: 28px;
 		margin-right: 27rpx;
 	}
+
+	.top-bar {
+		background-color: rgba(255, 255, 255, .96);
+		// background-color: #42B983;
+		box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, .1);
+	}
+
+	.applys {
+		display: flex;
+		// margin: 40rpx 0;
+		margin: 16rpx 32rpx !important;
+		height: 130rpx;
+		align-items: center;
+		border-bottom: 1px solid rgba(0, 0, 0, .1);
+
+		&:active {
+			background-color: rgba(243, 244, 246, 1);
+		}
+
+		.head-wrap {
+			position: relative;
+
+
+			image {
+				width: 96rpx;
+				height: 96rpx;
+				border-radius: 20upx;
+				background-color: rgba(255, 228, 49, 1);
+			}
+
+			.tip {
+				position: absolute;
+				top: -6rpx;
+				left: 68rpx;
+				height: 36rpx;
+				min-width: 20rpx;
+				min-height: 20rpx;
+				background-color: rgba(255, 93, 91, 1);
+				border-radius: 18rpx;
+				padding: 0 6rpx;
+				font-size: 24upx;
+				color: rgba(255, 228, 49, 1);
+				line-height: 36rpx;
+				text-align: center;
+			}
+		}
+
+		.head-wraps {
+			position: relative;
+
+
+			image {
+				width: 96rpx;
+				height: 96rpx;
+				border-radius: 20upx;
+				background-color: rgba(85, 170, 255, 1.0);
+			}
+
+			.tip {
+				position: absolute;
+				top: -6rpx;
+				left: 68rpx;
+				height: 36rpx;
+				min-width: 20rpx;
+				min-height: 20rpx;
+				background-color: rgba(255, 93, 91, 1);
+				border-radius: 18rpx;
+				padding: 0 6rpx;
+				font-size: 24upx;
+				color: rgba(255, 228, 49, 1);
+				line-height: 36rpx;
+				text-align: center;
+			}
+		}
+
+		.content-wrap {
+			margin-left: 32rpx;
+			flex: 1;
+
+			.name {
+				display: block;
+				color: rgba(39, 40, 50, 1);
+				font-size: 36rpx;
+				font-weight: 400;
+				line-height: 50rpx;
+			}
+
+			.mess {
+				display: block;
+				color: rgba(39, 40, 50, .6);
+				font-size: 28upx;
+				line-height: 40rpx;
+				display: -webkit-box;
+				-webkit-box-orient: vertical;
+				-webkit-line-clamp: 1;
+				overflow: hidden;
+			}
+		}
+
+		.data-wrap {
+
+			justify-content: right;
+
+			.data {
+				font-size: 24upx;
+				color: rgba(39, 40, 50, 0.4);
+				line-height: 50rpx;
+			}
+		}
+	}
+
+	.swiper-item {
+		overflow-y: auto !important;
+	}
+
+	.tab {
+		margin-bottom: 10rpx;
+	}
 </style>

--
Gitblit v1.9.3