From 103679c372b24e289c3506d9941dd8ab96a8662a Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 23 Feb 2022 17:01:26 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E5=A5=BD=E5=8F=8B=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E9=80=9A=E7=9F=A5=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/im/components/friendApplyCell.vue | 11 ++-- pages/im/friends/index.vue | 79 ++++++++++++++----------- pages/im/index.vue | 6 +- 3 files changed, 54 insertions(+), 42 deletions(-) diff --git a/pages/im/components/friendApplyCell.vue b/pages/im/components/friendApplyCell.vue index 65b89f6..b962aa9 100644 --- a/pages/im/components/friendApplyCell.vue +++ b/pages/im/components/friendApplyCell.vue @@ -36,7 +36,6 @@ methods: { resolve() { resolveFriend(this.message.sourceUserId).then(res => { - this.clearMessages() uni.showToast({ icon: 'none', title: '通过好友申请' @@ -47,6 +46,8 @@ icon: 'none', title: err.message }) + }).finally(() => { + this.clearMessages() }) }, reject() { @@ -67,12 +68,12 @@ }) }, // 不管是通过还是拒绝,都要把相关的信息清理 - clearMessages() { + clearMessages() { RongIMLib.deleteMessages(RongIMLib.ConversationType.SYSTEM, this.message.sourceUserId) this.$emit('success') - uni.$emit('onNewContactConversation', message) - uni.$emit('onNewContactFriends', message) - uni.$emit('onNewContactPendings', message) + uni.$emit('onNewContactConversation') + uni.$emit('onNewContactFriends') + uni.$emit('onNewContactPendings') } } } diff --git a/pages/im/friends/index.vue b/pages/im/friends/index.vue index 7179b89..e563914 100644 --- a/pages/im/friends/index.vue +++ b/pages/im/friends/index.vue @@ -10,25 +10,33 @@ 我的群聊 - + - - - - {{ contact(friendItem.targetId).name }} + + + + + {{ contact(friendItem.targetId).name }} + - - - 暂无好友列表~ + + + 暂无好友列表~ @@ -159,19 +165,20 @@ font-size: 14px; line-height: 24px; background-color: #fff; - } - .no-lists { - padding-top: $padding * 3; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - box-sizing: border-box; - font-size: $title-size-m; - color: $text-gray-m; - - span { - padding-top: $padding; - } + } + + .no-lists { + padding-top: $padding * 3; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + box-sizing: border-box; + font-size: $title-size-m; + color: $text-gray-m; + + span { + padding-top: $padding; + } } diff --git a/pages/im/index.vue b/pages/im/index.vue index ef370a6..c514884 100644 --- a/pages/im/index.vue +++ b/pages/im/index.vue @@ -57,7 +57,11 @@ // 好友申请数量 this.checkNewFriendPending() // 监听新的好友申请 - uni.$on('onNewContactConversation', this.checkNewFriendPending) + uni.$on('onNewContactConversation', () => { + console.log('更新好友申请数量'); + // 更新好友申请数量 + this.checkNewFriendPending() + }) }, onShow() { if (this.$store.state.token !== '') { From d9748d0827e2e5cf722a05747640d261ddc67cae Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 23 Feb 2022 17:07:14 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E5=9B=BE=E7=89=87=E9=A2=84=E8=A7=88?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/im/components/show/showImage.vue | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pages/im/components/show/showImage.vue b/pages/im/components/show/showImage.vue index ca752d6..c41e618 100644 --- a/pages/im/components/show/showImage.vue +++ b/pages/im/components/show/showImage.vue @@ -45,27 +45,27 @@ } } }, - methods: { - showImage(path) { - uni.previewImage({ - urls: [ - path - ] - }) + methods: { + showImage(path) { + uni.previewImage({ + urls: [ + path + ] + }) }, - previewImage() { + previewImage() { if (this.content.local && this.content.local.indexOf('///data/user/') < 0) { this.showImage(this.content.local) } else { + this.showImage(this.content.remote) RongIMLib.downloadMediaMessage(this.message.messageId, { success: (path) => { this.content.local = path - this.showImage(path) }, - error: (errorCode, messageId) => { - uni.showToast({ - icon: 'none', - title: errorCode + error: (errorCode, messageId) => { + uni.showToast({ + icon: 'none', + title: errorCode }) } }) From 1d648f2dc12ae2cf71aa7ba6e3ce8c8501d51834 Mon Sep 17 00:00:00 2001 From: zhangdongxue Date: Wed, 23 Feb 2022 17:08:28 +0800 Subject: [PATCH 03/19] ... --- pages/im/components/messageCell.vue | 5 +++-- pages/im/index.vue | 26 ++++++++++++++++++-------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/pages/im/components/messageCell.vue b/pages/im/components/messageCell.vue index 87ec20e..0e465d6 100644 --- a/pages/im/components/messageCell.vue +++ b/pages/im/components/messageCell.vue @@ -2,12 +2,13 @@ - + + - {{ contact(item.targetId).name }} + {{ contact(item.targetId).name }} {{item.portraitUrl}} [群] {{ item.sentTime|timeCustomCN }} diff --git a/pages/im/index.vue b/pages/im/index.vue index ef370a6..c513af7 100644 --- a/pages/im/index.vue +++ b/pages/im/index.vue @@ -5,7 +5,9 @@ - 聊聊 + 全部 + 私聊 + 群聊 @@ -46,7 +48,8 @@ return { conversations: [], // 会话列表 connection: 0, - hasNewFriends: 0 + hasNewFriends: 0, + activeId:'all', } }, components: { @@ -54,12 +57,14 @@ connectionStatus }, onLoad() { - // 好友申请数量 - this.checkNewFriendPending() + // 监听新的好友申请 uni.$on('onNewContactConversation', this.checkNewFriendPending) }, - onShow() { + onShow() { + // 好友申请数量 + this.checkNewFriendPending() + if (this.$store.state.token !== '') { this.getConversationList() } @@ -76,11 +81,14 @@ }) }, onHide() { - // 页面隐藏的时候,不监听了,性能可能会好一点 uni.$off('onReceiveMessage') uni.$off('onConnectionStatusChange') }, - methods: { + methods: { + // 切换聊天模式 + tabsClick(type){ + this.activeId = type + }, checkNewFriendPending() { im.getPendingList((pendings) => { this.hasNewFriends = pendings.length @@ -103,7 +111,9 @@ code, conversations }) => { - if (code === 0) { + if (code === 0) { + console.log(conversations) + console.log("item.conversationType === 3............") this.conversations = conversations } }) From f4e44de777cd222695d7657214c24642dd2ba4cb Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 23 Feb 2022 17:28:42 +0800 Subject: [PATCH 04/19] im-MIXINS --- pages/im/components/groupUserList.vue | 15 +++++------ pages/im/components/messageCell.vue | 24 +++++------------ pages/im/components/showMessageCell.vue | 23 +++++----------- pages/im/friends/index.vue | 8 ++++-- pages/im/group/announcement.vue | 6 +++-- pages/im/group/apply.vue | 2 ++ pages/im/group/chat.vue | 6 +++-- pages/im/group/index.vue | 2 +- pages/im/group/info.vue | 8 +++--- pages/im/group/invite.vue | 11 +++----- pages/im/group/reviewed.vue | 4 ++- pages/im/index.vue | 36 +++++++++---------------- pages/im/private/chat.vue | 9 +++---- utils/im/imBase.js | 24 +++++++++++++++++ 14 files changed, 87 insertions(+), 91 deletions(-) create mode 100644 utils/im/imBase.js diff --git a/pages/im/components/groupUserList.vue b/pages/im/components/groupUserList.vue index 5283b15..031a03d 100644 --- a/pages/im/components/groupUserList.vue +++ b/pages/im/components/groupUserList.vue @@ -38,8 +38,12 @@ transferGroupOwner } from '@/apis/interfaces/im.js' import utils from '@/utils/index.js' - - export default { + import imBase from '@/utils/im/imBase.js' + + export default { + mixins: [ + imBase + ], props: { targetId: { type: String, @@ -67,13 +71,6 @@ iconSize: 14 } }, - computed: { - contact() { - return function(targetId) { - return this.$store.getters.contactInfo(targetId) - } - } - }, created() { this.avatarSize = utils.rpx2px(84) this.labelSize = utils.rpx2px(24) diff --git a/pages/im/components/messageCell.vue b/pages/im/components/messageCell.vue index 0e465d6..06147f9 100644 --- a/pages/im/components/messageCell.vue +++ b/pages/im/components/messageCell.vue @@ -2,13 +2,12 @@ - - + - {{ contact(item.targetId).name }} {{item.portraitUrl}} + {{ contact(item.targetId).name }} [群] {{ item.sentTime|timeCustomCN }} @@ -22,8 +21,12 @@ - - diff --git a/pages/im/components/friendSearchList.vue b/pages/im/components/friendSearchList.vue index 0bbb506..0e92d43 100644 --- a/pages/im/components/friendSearchList.vue +++ b/pages/im/components/friendSearchList.vue @@ -3,7 +3,7 @@ - + @@ -21,7 +21,12 @@