消息操作弹窗,删除、撤回、
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
<view>
|
||||
<view class="shade" @click="hidePop" @touchmove="hidePop" v-show="showPop">
|
||||
<view class="pop" :style="popStyle" :class="{'show':showPop}">
|
||||
<view v-for="(item, index) in popButton" :key="index" @click="pickerMenu" :data-index="index">
|
||||
{{item}}
|
||||
<view v-for="(item, index) in popButton" :key="index" @click="pickerMenu(index)">
|
||||
{{ item }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -66,9 +66,7 @@
|
||||
}, 250)
|
||||
},
|
||||
// 点击会话功能菜单
|
||||
pickerMenu(e) {
|
||||
const index = Number(e.currentTarget.dataset.index)
|
||||
|
||||
pickerMenu(index) {
|
||||
if (index == 0) {
|
||||
RongIMLib.setConversationToTop(this.pickedItem.conversationType, this.pickedItem.targetId, !this
|
||||
.pickedItem.isTop)
|
||||
@@ -145,7 +143,8 @@
|
||||
height: 100%;
|
||||
z-index: 999;
|
||||
|
||||
.pop {
|
||||
.pop {
|
||||
border-radius: 10rpx;
|
||||
position: fixed;
|
||||
z-index: 101;
|
||||
width: 200rpx;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<view v-else :class="['cell-item', message.messageDirection == 1 ? 'right' : 'left']">
|
||||
<u-avatar class="avatar" @click="toUser(message)" :size="avatarSize" shape="square"
|
||||
:src="contact(message.senderUserId).portraitUrl" />
|
||||
<view class="msg" @longpress="backMessage">
|
||||
<view class="msg" @longpress="messageAction($event, message)">
|
||||
<show-text v-if="message.objectName === 'RC:TxtMsg'" :message="message" :isGroup="isGroup" />
|
||||
<show-voice v-else-if="message.objectName === 'RC:HQVCMsg'" :message="message" :isGroup="isGroup" />
|
||||
<show-image v-else-if="message.objectName === 'RC:ImgMsg'" :message="message" :isGroup="isGroup" />
|
||||
@@ -60,6 +60,12 @@
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
messageAction(event, message) {
|
||||
this.$emit('messageAction', {
|
||||
event,
|
||||
message
|
||||
})
|
||||
},
|
||||
toUser(item) {
|
||||
if (item.messageDirection == 1) {
|
||||
uni.navigateTo({
|
||||
@@ -79,7 +85,7 @@
|
||||
url: '/pages/im/group/announceCreate?type=check&targetId=' + message
|
||||
.targetId + '&aId=' + message.content.extra
|
||||
})
|
||||
}).catch(err => {
|
||||
}).catch(err => {
|
||||
IMLib.deleteMessagesByIds([message.messageId], ({
|
||||
code
|
||||
}) => {
|
||||
@@ -98,40 +104,6 @@
|
||||
title: '旧版本,无链接'
|
||||
})
|
||||
}
|
||||
},
|
||||
// 撤回消息测试
|
||||
backMessage() {
|
||||
if (this.$store.getters.sender.userId != this.message.senderUserId) {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '不能撤回别人的消息'
|
||||
})
|
||||
return
|
||||
}
|
||||
// 判断时间超过了多久 就不能撤回 TODO
|
||||
// this.message.sentTime
|
||||
const pushContent = this.$store.getters.sender.name + '撤回了一条消息'
|
||||
IMLib.recallMessage(this.message.messageId, pushContent,
|
||||
({
|
||||
code,
|
||||
message
|
||||
}) => {
|
||||
if (code === 0) {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '消息撤回成功'
|
||||
})
|
||||
IMLib.getMessage(this.message.messageId, res => {
|
||||
uni.$emit('onRecallMessage_' + this.message.targetId, res.message)
|
||||
})
|
||||
} else {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '撤回失败' + code
|
||||
})
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user