This commit is contained in:
唐明明
2022-02-24 14:19:39 +08:00
8 changed files with 60 additions and 26 deletions

View File

@@ -104,7 +104,10 @@
hideAction(item) {
this.actionShow = false
},
showAction(item) {
showAction(item) {
if (item.is_admin == 2) {
return
}
this.currentUser = item
this.actionTitle = item.name
// 只有管理员以上才会弹窗

View File

@@ -121,8 +121,8 @@
icon: 'none',
title: '消息撤回成功'
})
IMLib.getMessage(this.message.messageId, res => {
uni.$emit('onRecallMessage', res.message)
IMLib.getMessage(this.message.messageId, res => {
uni.$emit('onRecallMessage_' + this.message.targetId, res.message)
})
} else {
uni.showToast({

View File

@@ -4,7 +4,7 @@
<!-- 用户信息 -->
<view class="info-flex">
<view class="info-flex-item">
<u-avatar :src="infoObj.portraitUrl" shape="square" size="210rpx" bg-color="#fff" class="avatar" />
<u-avatar :src="infoObj.portraitUrl" @click='previewImg(infoObj.portraitUrl)' shape="square" size="210rpx" bg-color="#fff" class="avatar" />
<view class="nickname">{{infoObj.name}}</view>
<view class="address">{{infoObj.address}}</view>
<view class="info-code">
@@ -47,7 +47,13 @@
this.infoObj = res
})
},
methods: {
methods: {
previewImg(item){
console.log(item)
uni.previewImage({
urls:[item]
})
},
copy() {
uni.setClipboardData({
data: this.downUrl,
@@ -100,7 +106,7 @@
.avatar {
// padding: 14rpx;
border-radius: 10rpx;
border-radius: 20rpx;
background-color: #fff;
border: solid 14rpx rgba($color: #fff, $alpha:1);
}

View File

@@ -84,8 +84,18 @@
}
})
})
uni.$once('onUserDelete_' + this.targetId, () => {
uni.showToast({
icon: 'none',
title: '好友关系已解除'
})
uni.switchTab({
url: '/pages/im/index'
})
})
},
onUnload() {
uni.$off('onUserDelete_' + this.targetId)
uni.$off('onReceiveMessage_' + this.targetId)
uni.$off('onRecallMessage_' + this.targetId)
uni.$off('onRecallMessage')

View File

@@ -76,7 +76,8 @@ export default {
name: contactInfo.name,
hash: contactInfo.hash,
portraitUrl: contactInfo.portraitUrl,
localAvatar: savedFilePath
localAvatar: savedFilePath,
type: contactInfo.type
}
model.update('targetId="' + contactInfo.targetId + '"', info, (err,
res) => {
@@ -90,7 +91,8 @@ export default {
name: contactInfo.name,
hash: contactInfo.hash,
portraitUrl: contactInfo.portraitUrl,
localAvatar: result[0].localAvatar
localAvatar: result[0].localAvatar,
type: contactInfo.type
}
model.update('targetId="' + contactInfo.targetId + '"', info, (err, res) => {
console.log('UPDATE NAME, ERR', err, info);
@@ -117,7 +119,8 @@ export default {
name: contactInfo.name,
hash: contactInfo.hash,
portraitUrl: contactInfo.portraitUrl,
localAvatar: savedFilePath
localAvatar: savedFilePath,
type: contactInfo.type
}
model.insert(info, (err, res) => {})
// 保存头像后,更新信息
@@ -130,7 +133,8 @@ export default {
name: contactInfo.name,
hash: contactInfo.hash,
portraitUrl: contactInfo.portraitUrl,
localAvatar: ''
localAvatar: '',
type: contactInfo.type
}
model.insert(info, (err, res) => {})
}

View File

@@ -62,7 +62,7 @@ const connect = (token, userInfo, callback) => {
// 设置未读消息数量
setNotifyBadge()
// 首次运行获取好友列表
const FK = 'ZHKD_' + userInfo.targetId
const FK = 'ZH_V_' + userInfo.targetId
uni.getStorage({
key: FK,

View File

@@ -67,7 +67,7 @@ const imLibListeners = () => {
// 添加消息监听函数
IMLib.addReceiveMessageListener((res) => {
const message = res.data.message
console.error('[收到消息]',IMLib.ObjectName.GroupNotification, message)
console.error('[收到消息]', message)
checkContactExists(message)
if (utils.inArray(message.objectName, notifyMsgTypes)) {
onReceiveMessage(message)
@@ -78,29 +78,36 @@ const imLibListeners = () => {
// 调用完更新之后,删除这条消息
IMLib.deleteMessagesByIds([message.messageId])
} else if (message.objectName === IMLib.ObjectName.ContactNotification) {
// 触发一个新好友的通知事件,【会话列表,通讯录,新朋友】页面
uni.$emit('onNewContactConversation', message)
uni.$emit('onNewContactFriends', message)
uni.$emit('onNewContactPendings', message)
} else if (message.objectName === IMLib.ObjectName.GroupNotification) {
console.log('踢出用户',message);
if (message.content.operation === 'Request') {
// 触发一个新好友的通知事件,【会话列表,通讯录,新朋友】页面
uni.$emit('onNewContactConversation', message)
uni.$emit('onNewContactFriends', message)
uni.$emit('onNewContactPendings', message)
} else if (message.content.operation === 'Delete') {
IMLib.cleanHistoryMessages(1, message.targetId, message.sentTime, false)
// 解散了就删了吧
IMLib.removeConversation(1, message.targetId)
// 刷新会话列表
uni.$emit('onUserDelete_' + message.targetId)
uni.$emit('onReceiveMessage', message)
}
} else if (message.objectName === IMLib.ObjectName.GroupNotification) {
// 解散群
if (message.content.operation === 'Dismiss') {
IMLib.cleanHistoryMessages(message.conversationType, message.targetId, message.sentTime,
IMLib.cleanHistoryMessages(3, message.targetId, message.sentTime,
false)
// 解散了就删了吧
IMLib.removeConversation(message.conversationType, message.targetId)
IMLib.removeConversation(3, message.targetId)
// 发布群解散的消息
uni.$emit('onGroupDismiss')
uni.$emit('onGroupDismiss_' + message.targetId)
} else if (message.content.operation === 'REMOVE') {
console.log('踢出', message.content);
} else if (message.content.operation === 'REMOVE') {
// 要判断是否当前用户,然后把当前用户踢出到主页去, 删除聊天记录,会话列表
if (message.content.extra == store.getters.sender.userId) {
IMLib.cleanHistoryMessages(message.conversationType, message.targetId, message.sentTime,
IMLib.cleanHistoryMessages(3, message.targetId, message.sentTime,
false)
// 解散了就删了吧
IMLib.removeConversation(message.conversationType, message.targetId)
IMLib.removeConversation(3, message.targetId)
// 为了更新群列表
uni.$emit('onGroupDismiss')
uni.$emit('onGroupRemoveYou_' + message.targetId)

View File

@@ -13,9 +13,13 @@ const contactModel = usqlite.model('contacts', {
type: String,
unique: true
},
portraitUrl: String,
type: {
type: Number,
default: 0
},
portraitUrl: String,
localAvatar: String
})
})
export default {
contactModel