聊天列表
This commit is contained in:
parent
045f6e6e01
commit
b0f224d79b
@ -18,11 +18,11 @@
|
||||
<view id="information">
|
||||
<view class="information_dl" v-for="(item,index) in information_dl" :key="index" >
|
||||
<view>
|
||||
<image :src="item.url"></image>
|
||||
<image :src="item.avatar"></image>
|
||||
</view>
|
||||
<view class="title">{{item.title}}</view>
|
||||
<view class="contentes">{{item.contentes}}</view>
|
||||
<view class="times">{{item.title}}</view>
|
||||
<view class="title">{{item.name}}</view>
|
||||
<view class="contentes">{{item.text}}</view>
|
||||
<view class="times">{{item.time}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -88,6 +88,10 @@
|
||||
show: false
|
||||
};
|
||||
},
|
||||
onShow(){
|
||||
this.information_dl = this.imService.friends;
|
||||
this.imService.onFriendListChange=this.onFriendListChange;
|
||||
},
|
||||
onLoad() {
|
||||
// /消息模块的请求
|
||||
this.messageIndex()
|
||||
@ -99,13 +103,22 @@
|
||||
let that = this
|
||||
setTimeout(function(){
|
||||
that.imService.disconnect()
|
||||
console.log("guanbi")
|
||||
},1000)
|
||||
setTimeout(function(){
|
||||
console.log("lianjie")
|
||||
that.imService.connectIM()
|
||||
},2000)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onFriendListChange(onlineFriends) {
|
||||
//todo:比较垃圾的处理方式,因为Uniapp的基于MAP的双向绑定在H5端不稳定,H5端偶尔会抽风
|
||||
// 下边这一行删掉,有时候页面可以更新,有时候不行,大家有优雅的方式,也欢迎跟我们沟通
|
||||
this.information_dl = this.imService.friends;
|
||||
|
||||
this.$forceUpdate();
|
||||
},
|
||||
// 选中某个复选框时,由checkbox时触发
|
||||
checkboxChange(e) {
|
||||
//console.log(e);
|
||||
|
4
static/goeasy-1.0.17.js
Normal file
4
static/goeasy-1.0.17.js
Normal file
File diff suppressed because one or more lines are too long
@ -14,6 +14,8 @@ function Friend(uuid, name, avatar) {
|
||||
this.avatar = avatar;
|
||||
this.online = false;
|
||||
this.unReadMessage = 0;
|
||||
this.text = "";
|
||||
this.time = "";
|
||||
}
|
||||
|
||||
function Group(uuid, name, avatar) {
|
||||
@ -144,7 +146,13 @@ IMService.prototype.resetFriendUnReadMessage = function (friend) {
|
||||
//连接GoEasy
|
||||
IMService.prototype.connectIM = function () {
|
||||
//初始化IM相关的监听器
|
||||
try {
|
||||
this.initialIMListeners();
|
||||
|
||||
} catch (error) {
|
||||
console.log(123)
|
||||
}
|
||||
try {
|
||||
this.im.connect({
|
||||
id: this.currentUser.uuid,
|
||||
data: {
|
||||
@ -161,7 +169,12 @@ IMService.prototype.connectIM = function () {
|
||||
this.subscribeFriendsPresence();
|
||||
}).catch(error => {
|
||||
console.log('连接失败,请确保网络正常,appkey和host正确,code:' + error.code + " content:" + error.content);
|
||||
this.connectIM()
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(12323)
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
//IM监听
|
||||
@ -192,9 +205,12 @@ IMService.prototype.initialIMListeners = function () {
|
||||
//如果不是自己发的,朋友未读消息数 +1
|
||||
if (message.senderId != this.currentUser.uuid) {
|
||||
let friend = this.friends[message.senderId];
|
||||
if(friend && friend == undefined){
|
||||
console.log(friend)
|
||||
// return ;
|
||||
let that = this
|
||||
if(!friend && friend == undefined){
|
||||
const token = uni.getStorageSync('token');
|
||||
console.log(token,that.id)
|
||||
console.log(token)
|
||||
uni.request({
|
||||
url:"https://dmmall.sdbairui.com/api/Specialci/getAtwillUserInfo",
|
||||
data:{
|
||||
@ -206,13 +222,28 @@ IMService.prototype.initialIMListeners = function () {
|
||||
},
|
||||
success(res){
|
||||
console.log(res)
|
||||
that.friends[message.senderId] = new Friend(res.data.data.member_id, res.data.data.member_nickname, res.data.data.member_avatar);
|
||||
friend = that.friends[message.senderId];
|
||||
console.log(friend)
|
||||
friend.unReadMessage++;
|
||||
friend.text = message.type != "text" ? "其他消息" : message.payload.text
|
||||
let time = new Date(message.timestamp)
|
||||
friend.time = time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds()
|
||||
that.onFriendListChange(that.friends);
|
||||
console.log(that.friends)
|
||||
}
|
||||
})
|
||||
}else{
|
||||
console.log(friend)
|
||||
friend.unReadMessage++;
|
||||
friend.text = message.type != "text" ? "其他消息" : message.payload.text
|
||||
let time = new Date(message.timestamp)
|
||||
friend.time = time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds()
|
||||
this.onFriendListChange(this.friends);
|
||||
console.log(this.friends)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
//更新私聊消息记录
|
||||
let friendId;
|
||||
|
Loading…
Reference in New Issue
Block a user