From fbf9d7db3175f00d65367ccdf96b10d1a4f6c921 Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 9 Feb 2022 09:34:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=98=B5=E7=A7=B0=EF=BC=8C?= =?UTF-8?q?=E5=A4=B4=E5=83=8F=EF=BC=8C=E6=9C=AC=E5=9C=B0=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E4=B8=8E=E6=9B=B4=E6=96=B0=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/im/friends/info.vue | 6 +++--- pages/im/index.vue | 5 ++--- pages/im/private/chat.nvue | 8 ++------ store/modules/im.js | 19 ++++++++++++++----- utils/im/index.js | 5 ++++- utils/im/profile-update.json | 20 ++++++++++++++++++++ 6 files changed, 45 insertions(+), 18 deletions(-) create mode 100644 utils/im/profile-update.json diff --git a/pages/im/friends/info.vue b/pages/im/friends/info.vue index f717f07..5e7534a 100644 --- a/pages/im/friends/info.vue +++ b/pages/im/friends/info.vue @@ -108,8 +108,8 @@ onLoad(e) { this.targetId = e.targetId getFriendInfo(e.targetId).then(res => { - this.userInfo = res - // 获取到用户信息之后,去检查一下要不要更新 + this.userInfo = res + // 获取到用户信息之后,去检查一下要不要更新 this.$store.dispatch('updateFriend', res) uni.setNavigationBarTitle({ title: res.name @@ -143,7 +143,7 @@ }, toPrivate() { uni.redirectTo({ - url: '/pages/im/private/chat?conversationType=1&targetId=' + this.targetId + url: '/pages/im/private/chat?targetId=' + this.targetId }); }, setRemark() { diff --git a/pages/im/index.vue b/pages/im/index.vue index 5eaf02e..5680aae 100644 --- a/pages/im/index.vue +++ b/pages/im/index.vue @@ -44,7 +44,7 @@ - {{ friend(item.targetId).name || '未知用户' }} + {{ friend(item.targetId).name }} {{ item.sentTime|timeCustomCN }} @@ -218,8 +218,7 @@ toDetail(item) { this.hidePop() uni.navigateTo({ - url: '/pages/im/private/chat?targetId=' + item.targetId + '&conversationType=' + item - .conversationType + url: '/pages/im/private/chat?targetId=' + item.targetId }) }, toFriend(targetId) { diff --git a/pages/im/private/chat.nvue b/pages/im/private/chat.nvue index 0fffb02..d1af30e 100644 --- a/pages/im/private/chat.nvue +++ b/pages/im/private/chat.nvue @@ -87,16 +87,12 @@ }, onLoad(e) { this.targetId = e.targetId - this.conversationType = e.conversationType // 会话类型 this.userInfo = this.$store.getters.userInfo(this.targetId) - - console.log(this.userInfo); - // 获取消息列表 - this.initMessageList() - uni.setNavigationBarTitle({ title: this.userInfo.name }) + // 获取消息列表 + this.initMessageList() // 监听消息已读状态 uni.$on('onReadReceiptReceived', (data) => { if (data.targetId == this.targetId) { diff --git a/store/modules/im.js b/store/modules/im.js index e6f0305..dc589f6 100644 --- a/store/modules/im.js +++ b/store/modules/im.js @@ -58,6 +58,7 @@ export default { model.find('userId=' + userInfo.userId, (err, result) => { if (userInfo.hash != result[0].hash) { commit('updateFriendInfo', userInfo) + console.log(userInfo); if (userInfo.portraitUrl && userInfo.portraitUrl != result[0].portraitUrl) { saveAvatar(userInfo, (savedFilePath) => { const info = { @@ -67,7 +68,9 @@ export default { portraitUrl: userInfo.portraitUrl, localAvatar: savedFilePath } - model.update('userId=' + userInfo.userId, info) + model.update('userId=' + userInfo.userId, info, (err, res) => { + console.log('保存结果', err, res); + }) commit('updateFriendInfo', info) }) } else { @@ -76,9 +79,11 @@ export default { name: userInfo.name, hash: userInfo.hash, portraitUrl: userInfo.portraitUrl, - localAvatar: '' + localAvatar: result[0].localAvatar } - model.update('userId=' + userInfo.userId, info) + model.update('userId=' + userInfo.userId, info, (err, res) => { + console.log('保存结果', err, res); + }) } } else { console.log('不用更新的用户', userInfo.userId, userInfo.name); @@ -102,7 +107,9 @@ export default { portraitUrl: userInfo.portraitUrl, localAvatar: savedFilePath } - model.insert(info) + model.insert(info, (err, res) => { + console.log('保存结果', err, res); + }) // 保存头像后,更新信息 commit('updateFriendInfo', info) }) @@ -115,7 +122,9 @@ export default { portraitUrl: userInfo.portraitUrl, localAvatar: '' } - model.insert(info) + model.insert(info, (err, res) => { + console.log('保存结果', err, res); + }) } } } diff --git a/utils/im/index.js b/utils/im/index.js index ef106b3..b992c67 100644 --- a/utils/im/index.js +++ b/utils/im/index.js @@ -136,8 +136,11 @@ const addListeners = () => { console.log('收到消息', res.data.message); const message = res.data.message if (inArray(message.objectName, notifyMsgTypes)) { - console.log('new Message'); + console.log('通知并计数的消息'); newMessage(message) + } else if (message.objectName === 'RC:ProfileNtf') { + console.log('更新资料消息', JSON.parse(message.content.data)); + store.dispatch('updateFriend', JSON.parse(message.content.data)) } }) diff --git a/utils/im/profile-update.json b/utils/im/profile-update.json new file mode 100644 index 0000000..c3d1147 --- /dev/null +++ b/utils/im/profile-update.json @@ -0,0 +1,20 @@ +{ + "objectName": "RC:ProfileNtf", + "receivedTime": 1644312766084, + "extra": "", + "messageUId": "BUR2-MQHQ-SMIO-I32D", + "conversationType": 6, + "messageDirection": 2, + "senderUserId": "10047", + "content": { + "extra": "", + "operation": "Update", + "objectName": "RC:ProfileNtf", + "data": "{\"a\":2,\"m\":\"修改用户信息\"}" + }, + "targetId": "10047", + "sentTime": 1644312766699, + "messageId": 26, + "receivedStatus": 0, + "sentStatus": 30 +} \ No newline at end of file