diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index d843f34..94a25f7 100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,4 +1,6 @@
-
+
+
+
\ No newline at end of file
diff --git a/App.vue b/App.vue
index 856abbd..424dcbb 100644
--- a/App.vue
+++ b/App.vue
@@ -365,7 +365,6 @@ export default {
isLogStandardOutput: true,
isExternalExtensions: false,
});
- console.log(flag);
if (!flag) {
plus.navigator.closeSplashscreen();
uni.$u.toast("初始化IMSDK失败!");
diff --git a/components/EmojiPicker/index.vue b/components/EmojiPicker/index.vue
new file mode 100644
index 0000000..13f936f
--- /dev/null
+++ b/components/EmojiPicker/index.vue
@@ -0,0 +1,55 @@
+
+
+
+ {{ emoji }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/conversation/chating/components/ChatingFooter/index.vue b/pages/conversation/chating/components/ChatingFooter/index.vue
index 1dffb8e..16806d7 100644
--- a/pages/conversation/chating/components/ChatingFooter/index.vue
+++ b/pages/conversation/chating/components/ChatingFooter/index.vue
@@ -4,59 +4,119 @@
@@ -298,7 +582,7 @@ export default {
min-height: 30px;
max-height: 120px;
margin: 0 24rpx;
- border-radius: 8rpx;
+ border-radius: 16rpx;
position: relative;
.record_btn {
@@ -350,4 +634,18 @@ export default {
color: #fff;
}
}
-
+
+.emoji-mask {
+ position: fixed;
+ left: 0;
+ top: 0;
+ width: 100vw;
+ height: 100vh;
+ background: transparent;
+ z-index: 998;
+}
+.emoji-picker {
+ position: relative;
+ z-index: 999;
+}
+
\ No newline at end of file
diff --git a/pages/conversation/chating/components/ChatingList.vue b/pages/conversation/chating/components/ChatingList.vue
index bc773a9..cb8a73e 100644
--- a/pages/conversation/chating/components/ChatingList.vue
+++ b/pages/conversation/chating/components/ChatingList.vue
@@ -140,10 +140,7 @@ export default {
return;
}
- if (!isInit) {
- this.withAnimation = true;
- setTimeout(() => (this.withAnimation = false), 100);
- }
+ this.withAnimation = true;
this.$nextTick(() => {
uni
@@ -151,14 +148,11 @@ export default {
.in(this)
.select("#scroll_wrap")
.boundingClientRect((res) => {
- // let top = res.height - this.scrollViewHeight;
- // if (top > 0) {
this.scrollTop = this.old.scrollTop
this.$nextTick(() => this.scrollTop = res.height);
if (isInit) {
this.$emit("initSuccess");
}
- // }
})
.exec();
});
diff --git a/pages/conversation/chating/components/MessageItem/TextMessageRender.vue b/pages/conversation/chating/components/MessageItem/TextMessageRender.vue
index 5161350..8ecaeda 100644
--- a/pages/conversation/chating/components/MessageItem/TextMessageRender.vue
+++ b/pages/conversation/chating/components/MessageItem/TextMessageRender.vue
@@ -20,7 +20,8 @@ export default {
},
computed: {
getContent() {
- return parseBr(this.message.textElem?.content);
+ console.log(this.message);
+ return parseBr(this.message.textElem.content);
},
},
data() {
diff --git a/pages/conversation/chating/components/MessageItem/VoiceMessageRender.vue b/pages/conversation/chating/components/MessageItem/VoiceMessageRender.vue
new file mode 100644
index 0000000..e6be4a1
--- /dev/null
+++ b/pages/conversation/chating/components/MessageItem/VoiceMessageRender.vue
@@ -0,0 +1,97 @@
+
+
+
+ {{ durationText }}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/conversation/chating/components/MessageItem/index.vue b/pages/conversation/chating/components/MessageItem/index.vue
index 92934a0..19aaabb 100644
--- a/pages/conversation/chating/components/MessageItem/index.vue
+++ b/pages/conversation/chating/components/MessageItem/index.vue
@@ -37,12 +37,36 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+ [暂未实现] 视频消息
+
+
+ [暂未实现] 文件消息
+
+
+ [暂未实现] @消息
+
+
+ [暂未实现] 位置消息
+
+
+ [暂未实现] 自定义消息
+
+
+ [暂未实现] 系统通知
+
+
+
+
@@ -68,6 +92,7 @@ import MyAvatar from "@/components/MyAvatar/index.vue";
import TextMessageRender from "./TextMessageRender.vue";
import MediaMessageRender from "./MediaMessageRender.vue";
import ErrorMessageRender from "./ErrorMessageRender.vue";
+import VoiceMessageRender from './VoiceMessageRender.vue'
import { noticeMessageTypes } from "@/constant";
import { tipMessaggeFormat, formatMessageTime } from "@/util/imCommon";
@@ -81,6 +106,7 @@ export default {
TextMessageRender,
MediaMessageRender,
ErrorMessageRender,
+ VoiceMessageRender
},
props: {
source: Object,
diff --git a/pages/conversation/conversationList/components/ConversationItem.vue b/pages/conversation/conversationList/components/ConversationItem.vue
index b5af32e..79e7caa 100644
--- a/pages/conversation/conversationList/components/ConversationItem.vue
+++ b/pages/conversation/conversationList/components/ConversationItem.vue
@@ -48,10 +48,13 @@ export default {
},
computed: {
latestMessage() {
+
if (this.source.latestMsg === "") return "";
let parsedMessage;
try {
parsedMessage = JSON.parse(this.source.latestMsg);
+ console.log(parsedMessage);
+
} catch (e) {}
if (!parsedMessage) return "";
return getConversationContent(parsedMessage);
diff --git a/util/imCommon.js b/util/imCommon.js
index 245bd21..c56e3c8 100644
--- a/util/imCommon.js
+++ b/util/imCommon.js
@@ -128,6 +128,8 @@ export const parseMessageByType = (pmsg) => {
return pmsg.textElem.content;
case MessageType.PictureMessage:
return `[图片]`;
+ case MessageType.VoiceMessage:
+ return `[语音]`;
case MessageType.FriendAdded:
return "你们已经是好友了,开始聊天吧~";
case MessageType.MemberEnter: