Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-im
提交
cd02a5f0
U
uni-im
项目概览
DCloud
/
uni-im
通知
3
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-im
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
cd02a5f0
编写于
5月 08, 2024
作者:
DCloud_JSON
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新 优化多个会话切换的草稿功能,提升性能
上级
e1b28dd3
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
21 addition
and
32 deletion
+21
-32
pages/chat/chat.nvue
pages/chat/chat.nvue
+21
-32
未找到文件。
pages/chat/chat.nvue
浏览文件 @
cd02a5f0
...
@@ -253,7 +253,9 @@
...
@@ -253,7 +253,9 @@
aboutUserKeyword: '',
aboutUserKeyword: '',
memberListScrollTop: 0,
memberListScrollTop: 0,
chooseMoreMsg: false,
chooseMoreMsg: false,
checkedMsgList: []
checkedMsgList: [],
// 聊天输入框内容
chatInputContent: '',
};
};
},
},
props: {
props: {
...
@@ -319,24 +321,6 @@
...
@@ -319,24 +321,6 @@
})
})
},
},
//聊天数据
//聊天数据
//当前会话的聊天框文字内容
chatInputContent: {
get() {
// console.log('this.conversation',this.conversation);
return this.conversation?.chatInputContent || '';
},
set(chatInputContent) {
// #ifdef APP-NVUE
if(this.nvueSetChatInputContent){
clearTimeout(this.nvueSetChatInputContent)
}
this.nvueSetChatInputContent = setTimeout(()=>this.conversation.chatInputContent = chatInputContent,1000)
// #endif
// #ifndef APP-NVUE
this.conversation.chatInputContent = chatInputContent
// #endif
}
},
canSend() {
canSend() {
if(typeof this.chatInputContent === 'string'){
if(typeof this.chatInputContent === 'string'){
return this.chatInputContent.trim() != ''
return this.chatInputContent.trim() != ''
...
@@ -577,14 +561,14 @@
...
@@ -577,14 +561,14 @@
},
},
onUnload() {
onUnload() {
// console.log('onUnload');
// console.log('onUnload');
// 关闭监听消息推送事件
// 关闭监听消息推送事件
uniIm.offMsg(this.onImMsg);
uniIm.offMsg(this.onImMsg);
// #ifndef H5
// #ifndef H5
uni.offKeyboardHeightChange(this.onKeyboardHeightChange)
uni.offKeyboardHeightChange(this.onKeyboardHeightChange)
// #endif
// #endif
//页面销毁之前销毁 全局变量 正在聊天的用户的id
//页面销毁之前销毁 全局变量 正在聊天的用户的id
uniIm.currentConversationId = false
uniIm.currentConversationId = false
// console.log('beforeDestroy');
// console.log('beforeDestroy');
...
@@ -660,9 +644,15 @@
...
@@ -660,9 +644,15 @@
async load(param) {
async load(param) {
this.answerMsg = false
this.answerMsg = false
// conversation_id = "single_eff0518ad35e16a8a025cc8af03e0388"
// conversation_id = "single_eff0518ad35e16a8a025cc8af03e0388"
if(this.conversation.id){
// 设置(含清空)上一个会话的chatInputContent 实现多个会话之间的草稿功能
this.conversation.chatInputContent = this.chatInputContent
}
// console.log('conversation_id',conversation_id);
// console.log('conversation_id',conversation_id);
this.conversation = await uniIm.conversation.get(param)
this.conversation = await uniIm.conversation.get(param)
// 初始化会话的chatInputContent
this.chatInputContent = this.conversation.chatInputContent
// this.conversation.call_list = []
// this.conversation.call_list = []
// console.log('this.conversation',this.conversation)
// console.log('this.conversation',this.conversation)
...
@@ -1118,10 +1108,7 @@
...
@@ -1118,10 +1108,7 @@
msg.body = msg.body.trim();
msg.body = msg.body.trim();
// 阻止发送空消息
// 阻止发送空消息
if (!msg.body.length) {
if (!msg.body.length) {
this.$nextTick(() => {
this.resetChatInput()
this.chatInputContent = '';
this.textareaHeight = 26;
});
return uni.showToast({
return uni.showToast({
title: '不能发送空消息',
title: '不能发送空消息',
icon: 'none'
icon: 'none'
...
@@ -1162,12 +1149,6 @@
...
@@ -1162,12 +1149,6 @@
})
})
}
}
}
}
this.$nextTick(e => {
this.chatInputContent = '';
this.textareaHeight = 26;
this.answerMsg = false
});
//如果是回复某一条消息,需要带上相关id
//如果是回复某一条消息,需要带上相关id
if (this.answerMsg !== false) {
if (this.answerMsg !== false) {
...
@@ -1176,6 +1157,8 @@
...
@@ -1176,6 +1157,8 @@
// 消息列表追加此消息。此时消息状态值为0,表示发送中
// 消息列表追加此消息。此时消息状态值为0,表示发送中
let resMsg = this.conversation.msgList.push(msg)
let resMsg = this.conversation.msgList.push(msg)
this.resetChatInput()
this.$nextTick(() => {
this.$nextTick(() => {
this.showLast()
this.showLast()
...
@@ -1197,6 +1180,12 @@
...
@@ -1197,6 +1180,12 @@
return msg;
return msg;
}
}
},
},
resetChatInput() {
this.chatInputContent = ''
this.textareaHeight = 26
// 关闭引用的消息
this.answerMsg = false
},
getCallUid(param){
getCallUid(param){
let aboutNicknameList = []
let aboutNicknameList = []
if( this.isWidescreen){
if( this.isWidescreen){
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录