群邀请的数据列表

This commit is contained in:
2022-02-18 14:11:38 +08:00
parent 9357a686a0
commit 1f6e3078d3
5 changed files with 37 additions and 20 deletions

View File

@@ -373,9 +373,7 @@
{ {
"path": "pages/im/private/chat", "path": "pages/im/private/chat",
"style": { "style": {
"disableScroll": true,
"navigationBarTitleText": "聊天", "navigationBarTitleText": "聊天",
"enablePullDownRefresh": false,
"navigationBarBackgroundColor": "#F3F6FB" "navigationBarBackgroundColor": "#F3F6FB"
} }
}, },

View File

@@ -17,9 +17,9 @@
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<!-- content --> <!-- content -->
<view v-if="$store.state.token !== ''"> <view v-if="$store.state.token !== ''">
<connection-status :connection="connection" /> <connection-status :connection="connection" />
<conversation-list @refresh="getConversationList()" :conversations="conversations" /> <conversation-list @refresh="getConversationList()" :conversations="conversations" />
</view> </view>
@@ -38,7 +38,7 @@
import * as RongIMLib from '@/uni_modules/RongCloud-IMWrapper/js_sdk/index' import * as RongIMLib from '@/uni_modules/RongCloud-IMWrapper/js_sdk/index'
import im from '@/utils/im/index.js' import im from '@/utils/im/index.js'
import userAuth from '@/public/userAuth' import userAuth from '@/public/userAuth'
import conversationList from './components/conversationList' import conversationList from './components/conversationList'
import connectionStatus from './components/connectionStatus' import connectionStatus from './components/connectionStatus'
export default { export default {
@@ -50,7 +50,7 @@
} }
}, },
components: { components: {
conversationList, conversationList,
connectionStatus connectionStatus
}, },
onLoad() { onLoad() {
@@ -99,7 +99,7 @@
code, code,
conversations conversations
}) => { }) => {
if (code === 0) { if (code === 0) {
this.conversations = conversations this.conversations = conversations
} }
}) })

View File

@@ -2,10 +2,11 @@
<view class="chat"> <view class="chat">
<!-- chat --> <!-- chat -->
<view class="body"> <view class="body">
<view class="cell" v-for="(item, index) in messages" :key="index"> <view class="cell" v-for="(item, index) in messages" :key="index">
<view class="time">{{ item.sentTime|timeCustomCN }}</view> <view class="time">{{ item.sentTime|timeCustomCN }}</view>
<view :class="['cell-item', item.messageDirection == 1 ? 'right' : 'left']"> <view :class="['cell-item', item.messageDirection == 1 ? 'right' : 'left']">
<u-avatar class="avatar" size="40" shape="square" @click="showUser(item.senderUserId, item.messageDirection)" <u-avatar class="avatar" size="40" shape="square"
@click="showUser(item.senderUserId, item.messageDirection)"
:src="contact(item.senderUserId).portraitUrl" /> :src="contact(item.senderUserId).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"
@@ -107,8 +108,8 @@
this.latestMessage.sentTime || 0, this.latestMessage.sentTime || 0,
1, 1,
false, false,
(messages) => { (messages) => {
this.messages.unshift(...messages) this.messages.unshift(...messages)
// this.scrollBottom() // this.scrollBottom()
}) })
}, },
@@ -158,20 +159,20 @@
<style scoped lang="scss"> <style scoped lang="scss">
/* 窗口 */ /* 窗口 */
.chat { .chat {
background: $window-color;
height: 100vh; height: 100vh;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
overflow: scroll;
.body { .body {
flex: 1; background: blue;
overflow-y: scroll; height: 90vh;
display: flex; display: flex;
flex-direction: column-reverse; flex-direction: column-reverse;
justify-content: flex-end; justify-content: flex-end;
.cell { .cell {
padding: 10rpx 30rpx; padding: 10rpx 30rpx;
.time { .time {
text-align: center; text-align: center;

View File

@@ -69,7 +69,8 @@ const imLibListeners = () => {
store.dispatch('updateContact', JSON.parse(message.content.data)) store.dispatch('updateContact', JSON.parse(message.content.data))
// 调用完更新之后,删除这条消息 // 调用完更新之后,删除这条消息
IMLib.deleteMessagesByIds([message.messageId]) IMLib.deleteMessagesByIds([message.messageId])
} else if (message.objectName === IMLib.ObjectName.ContactNotification) { } else if (message.objectName === IMLib.ObjectName.ContactNotification) {
console.error('触发一个新好友的通知事件', message);
// 触发一个新好友的通知事件 // 触发一个新好友的通知事件
uni.$emit('onContactNotification', message) uni.$emit('onContactNotification', message)
} else if (message.objectName === IMLib.ObjectName.GroupNotification) { } else if (message.objectName === IMLib.ObjectName.GroupNotification) {

View File

@@ -15,7 +15,7 @@ const getMessageList = (conversationType, targetId, timeStamp, count, isForward,
'RC:LBSMsg', 'RC:LBSMsg',
'RC:SightMsg', 'RC:SightMsg',
'RC:ReferenceMsg', 'RC:ReferenceMsg',
'RC:CombineMsg', 'RC:CombineMsg',
'RC:GrpNtf' 'RC:GrpNtf'
] ]
@@ -57,6 +57,22 @@ const getPendingList = (callback, total) => {
}) })
} }
// 群组申请列表,邀请列表
const getGroupPendinglist = (targetId, callback) => {
total = total || 100
RongIMLib.getConversationList([RongIMLib.ConversationType.SYSTEM], total, 0, (res) => {
if (res.code === 0) {
const pendings = res.conversations.filter((item) => {
return item.targetId == targetId &&
item.objectName == RongIMLib.ObjectName.ContactNotification &&
item.latestMessage.operation === 'GroupPending'
})
callback(pendings)
}
})
}
/** /**
* 发送文本消息 * 发送文本消息
* @param {number} conversationType 消息类型 * @param {number} conversationType 消息类型
@@ -209,6 +225,7 @@ const sendFile = (conversationType, targetId, fileUrl, time, user, callback) =>
export default { export default {
getMessageList, getMessageList,
getPendingList, getPendingList,
getGroupPendinglist,
sentText, sentText,
sentVoice, sentVoice,
sentImage, sentImage,