群聊中的用户,同步全局用户信息

This commit is contained in:
2022-02-16 15:43:19 +08:00
parent b4e17cc193
commit dc21146917
3 changed files with 28 additions and 15 deletions

View File

@@ -4,14 +4,15 @@
<cell class="cell" v-for="(item, index) in messages" :key="index"> <cell class="cell" v-for="(item, index) in messages" :key="index">
<view class="cell-item" :class="item.messageDirection == 1 ? 'right' : 'left'"> <view class="cell-item" :class="item.messageDirection == 1 ? 'right' : 'left'">
<u-avatar class="avatar" @click="toUser(item)" size="36" shape="square" <u-avatar class="avatar" @click="toUser(item)" size="36" shape="square"
:src="item.content.userInfo.portraitUrl" /> :src="contact(item.senderUserId).portraitUrl" />
<!-- item.content.userInfo.portraitUrl -->
<view class="msg"> <view class="msg">
<show-voice v-if="item.objectName === 'RC:HQVCMsg'" :guest="item.messageDirection == 1" <show-voice v-if="item.objectName === 'RC:HQVCMsg'" :guest="item.messageDirection == 1"
:msg="item.content" :name="item.content.userInfo.name" /> :msg="item.content" :name="contact(item.senderUserId).name" />
<show-image v-if="item.objectName === 'RC:ImgMsg'" :guest="item.messageDirection == 1" <show-image v-if="item.objectName === 'RC:ImgMsg'" :guest="item.messageDirection == 1"
:msg="item.content" :name="item.content.userInfo.name" /> :msg="item.content" :name="contact(item.senderUserId).name" />
<show-text v-if="item.objectName === 'RC:TxtMsg'" :guest="item.messageDirection == 1" <show-text v-if="item.objectName === 'RC:TxtMsg'" :guest="item.messageDirection == 1"
:msg="item.content" :name="item.content.userInfo.name" /> :msg="item.content" :name="contact(item.senderUserId).name" />
</view> </view>
</view> </view>
</cell> </cell>
@@ -50,17 +51,22 @@
name: '' name: ''
} }
} }
}, },
computed: { computed: {
latestMessage() { latestMessage() {
if (this.messages.length > 1) { if (this.messages.length > 1) {
return this.messages[this.messages.length - 1] return this.messages[this.messages.length - 1]
} else { } else {
return { return {
sentTime: 0 sentTime: 0
} }
}
},
contact() {
return function(targetId) {
return this.$store.getters.contactInfo(targetId)
} }
} }
}, },
onLoad(e) { onLoad(e) {
this.targetId = e.targetId this.targetId = e.targetId

View File

@@ -91,7 +91,7 @@
const count = 1000 const count = 1000
const timestamp = 0 const timestamp = 0
RongIMLib.getConversationList([1, 3], count, timestamp, (res) => { RongIMLib.getConversationList([1, 3], count, timestamp, (res) => {
if (res.code === 0) { if (res.code === 0) {
this.conversations = res.conversations this.conversations = res.conversations
} }
}) })

View File

@@ -141,6 +141,13 @@ const addListeners = () => {
}).catch(err => { }).catch(err => {
console.log('ERR', err) console.log('ERR', err)
}) })
}
if (!store.getters.contactIsExist(message.senderUserId)) {
getUserInfo(message.senderUserId).then(res => {
store.dispatch('initContact', res)
}).catch(err => {
console.log('ERR', err)
})
} }
newMessage(message) newMessage(message)
} else if (message.objectName === RongIMLib.ObjectName.ProfileNotification) { } else if (message.objectName === RongIMLib.ObjectName.ProfileNotification) {