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 |  476 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 356 insertions(+), 120 deletions(-)

diff --git a/pages/groupChat/groupChat.vue b/pages/groupChat/groupChat.vue
index a809011..f4fdfea 100644
--- a/pages/groupChat/groupChat.vue
+++ b/pages/groupChat/groupChat.vue
@@ -3,54 +3,95 @@
 	<view class="work">
 		<!-- 自定义顶部导航栏 -->
 		<!-- <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 dataListQZ" :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 dataListTXL" :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>
 </template>
 
@@ -59,9 +100,10 @@
 	import axios from '../../static/lib/axios.js'
 	import contacts from '../../components/contacts/contacts.vue'
 	import navBarTop from '../../components/nav-bar-top/nav-bar-top.vue';
-	export default{
+	export default {
 		components: {
-			navBarTop,contacts
+			navBarTop,
+			contacts
 		},
 		data() {
 			return {
@@ -69,10 +111,10 @@
 						name: '正在聊天'
 					},
 					{
-						name: '群组'
+						name: '好友'
 					},
 					{
-						name: '通讯录'
+						name: '群组'
 					}
 				],
 				swiperHeight: 0,
@@ -81,7 +123,7 @@
 				show: true,
 				dataListP: [],
 				dataListQZ: [],
-				dataListTXL:[],
+				dataListTXL: [],
 				fromW: '',
 				onTop: false, //是否吸顶
 				rect: '', //页面滚动距离
@@ -89,33 +131,66 @@
 				titleTop: '', //
 				hello: false,
 				userName: '',
+				scrollTop: 0,
+				threshold: 50,
+				triggered: false,
+				isRefreshing: false, // 是否在刷新中
+				refresherFlag: true,
 			}
 		},
-		activated(){
-		      this.beginObj();
-		      this.getdataList(0);
-		    },
-			onReady() {
-				let that = this;
-				uni.getSystemInfo({
-					success(e) {
-						console.log(e);
-						let {
-							windowWidth,
-							windowHeight,
-							safeArea
-						} = e;
-						const query = uni.createSelectorQuery().in(that);
-						query
-							.select('#swiperBox')
-							.boundingClientRect(data => {
-								that.swiperHeight = safeArea.bottom - data.top;
-							})
-							.exec();
-					}
-				});
-			},
+		activated() {
+			this.beginObj();
+			this.getdataList(0);
+		},
+		onReady() {
+			let that = this;
+			uni.getSystemInfo({
+				success(e) {
+					console.log(e);
+					let {
+						windowWidth,
+						windowHeight,
+						safeArea
+					} = e;
+					const query = uni.createSelectorQuery().in(that);
+					query
+						.select('#swiperBoxPeo')
+						.boundingClientRect(data => {
+
+							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;
 			},
@@ -137,75 +212,115 @@
 			},
 			getdataList() {
 				var that = this;
-				if(this.current == 0){
+				if (this.current == 0) {
 					uni.request({
-						url:"http://223.82.109.183:2082/api/chat-records/getChatListPage",
-						method:"get",
-						data:{
+						url: this.$store.state.piAPI + "/chat-records/getChatListPage",
+						method: "get",
+						data: {
 							senderId: WxStorage.get("ids")
 						},
-						success:(res)=> {
+						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/img-logo.png";
+								if (resdata[i].avatar == null || resdata[i].avatar == "") {
+									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){
+				} else if (this.current == 1) {
 					uni.request({
-						url:"http://223.82.109.183:2082/api/chatgroup/selectList",
-						method:"POST",
-						data:{
-							senderId: WxStorage.get("ids")
+						url: this.$store.state.piAPI + "/friend/page?current=1&size=9999",
+						method: "get",
+						data: {
+							applicant: WxStorage.get("ids")
 						},
-						success:(res)=> {
-							var resdata = res.data.data;	
+						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/qunz.png";
+
+								if (resdata[i].avatar == null || resdata[i].avatar == "") {
+									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.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: "GET",
+						data: {
+							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 = "../../static/images/people.png";
 								}
 							}
 							that.dataListQZ = 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:"http://223.82.109.183:2082/api/blade-user/pages?current=1&size=9999",
-						method:"get",
-						data:{
-							senderId: 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";
-								}
-							}
-							that.dataListTXL = resdata;
-							that.swiperHeight = resdata.length * 85;
-						}
-					})
+					});
 				}
 			},
 			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() {
+			
+
+		},
+		onShow() {
 			this.beginObj();
 			this.getdataList(0);
-			
 		},
 		onPageScroll(e) {
-			// console.log(e.scrollTop, 'pingmu')
 			this.rect = e.scrollTop
 		},
 		watch: {
@@ -220,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 {
@@ -269,8 +384,8 @@
 		}
 
 		.main {
-			margin-top: 0.625rem;
-			
+			margin-top: 0.225rem;
+
 			.m-title {
 				width: 100%;
 				height: 2rem;
@@ -307,18 +422,139 @@
 					padding-bottom: 0.5rem;
 					box-sizing: border-box;
 				}
-				
+
 			}
 
 			.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