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