From 5a086fa1fa374efbfc85e60a0b201b16d417e233 Mon Sep 17 00:00:00 2001 From: cansnow Date: Thu, 11 Dec 2025 22:33:31 +0800 Subject: [PATCH] 13 --- components/map.vue | 155 ++++++++ components/videoPlayer.vue | 82 +++-- constant/comp.js | 4 +- pages.json | 6 + pages/common/map.vue | 333 ++++++++++++++++++ .../ChatingFooter/ChatingActionBar.vue | 49 +-- .../components/ChatingFooter/index.vue | 272 +++++++------- .../chating/components/ChatingList.vue | 26 +- .../MessageItem/AtTextMessageRender.vue | 24 ++ .../MessageItem/CardMessageRender.vue | 24 ++ .../MessageItem/CustomMessageRender.vue | 24 ++ .../MessageItem/ErrorMessageRender.vue | 22 +- .../MessageItem/FaceMessageRender.vue | 103 ++++++ .../MessageItem/FileMessageRender.vue | 24 ++ .../MessageItem/LocationMessageRender.vue | 24 ++ .../MessageItem/MarkdownMessageRender.vue | 24 ++ .../MessageItem/MediaMessageRender.vue | 81 ----- .../MessageItem/MergeMessageRender.vue | 24 ++ .../MessageItem/OANotificationRender.vue | 24 ++ .../MessageItem/PictureMessageRender.vue | 124 +++++++ .../MessageItem/QuoteMessageRender.vue | 24 ++ .../MessageItem/StreamMessageRender.vue | 24 ++ .../MessageItem/TextMessageRender.vue | 55 ++- .../MessageItem/TypingMessageRender.vue | 24 ++ .../MessageItem/VideoMessageRender.vue | 264 ++++++++++++++ .../MessageItem/VoiceMessageRender.vue | 24 ++ .../chating/components/MessageItem/index.vue | 71 +++- .../components/ConversationItem.vue | 4 +- pages/profile/index/index.vue | 4 +- pages/workbench/index/index.vue | 13 +- .../action_bar/call.png} | Bin .../action_bar/camera.png} | Bin .../action_bar/card.png} | Bin .../action_bar/file.png} | Bin .../action_bar/image.png} | Bin .../action_bar/location.png} | Bin static/images/chat/marker.png | Bin 0 -> 85733 bytes uni_modules/uni-file-picker/changelog.md | 2 + .../uni-file-picker/uni-file-picker.vue | 4 +- uni_modules/uni-file-picker/package.json | 2 +- uni_modules/uni-file-picker/readme.md | 3 +- util/common.js | 236 ++++++++++++- util/imCommon.js | 61 +++- util/index.js | 73 +++- 44 files changed, 1978 insertions(+), 359 deletions(-) create mode 100644 components/map.vue create mode 100644 pages/common/map.vue create mode 100644 pages/conversation/chating/components/MessageItem/AtTextMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/CardMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/CustomMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/FaceMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/FileMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/LocationMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/MarkdownMessageRender.vue delete mode 100644 pages/conversation/chating/components/MessageItem/MediaMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/MergeMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/OANotificationRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/PictureMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/QuoteMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/StreamMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/TypingMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/VideoMessageRender.vue create mode 100644 pages/conversation/chating/components/MessageItem/VoiceMessageRender.vue rename static/images/{chating_action_call.png => chat/action_bar/call.png} (100%) rename static/images/{chating_action_camera.png => chat/action_bar/camera.png} (100%) rename static/images/{chating_action_card.png => chat/action_bar/card.png} (100%) rename static/images/{chating_action_file.png => chat/action_bar/file.png} (100%) rename static/images/{chating_action_image.png => chat/action_bar/image.png} (100%) rename static/images/{chating_action_location.png => chat/action_bar/location.png} (100%) create mode 100644 static/images/chat/marker.png diff --git a/components/map.vue b/components/map.vue new file mode 100644 index 0000000..6f609c0 --- /dev/null +++ b/components/map.vue @@ -0,0 +1,155 @@ + + + + + + + \ No newline at end of file diff --git a/components/videoPlayer.vue b/components/videoPlayer.vue index fcbd6ec..2d3af76 100644 --- a/components/videoPlayer.vue +++ b/components/videoPlayer.vue @@ -1,18 +1,27 @@ + + \ No newline at end of file diff --git a/pages/conversation/chating/components/ChatingFooter/ChatingActionBar.vue b/pages/conversation/chating/components/ChatingFooter/ChatingActionBar.vue index 05b3ec5..3d66297 100644 --- a/pages/conversation/chating/components/ChatingFooter/ChatingActionBar.vue +++ b/pages/conversation/chating/components/ChatingFooter/ChatingActionBar.vue @@ -15,7 +15,7 @@ - + {{ item.title }} @@ -28,10 +28,11 @@ + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/CardMessageRender.vue b/pages/conversation/chating/components/MessageItem/CardMessageRender.vue new file mode 100644 index 0000000..bcfa035 --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/CardMessageRender.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/CustomMessageRender.vue b/pages/conversation/chating/components/MessageItem/CustomMessageRender.vue new file mode 100644 index 0000000..aa5a129 --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/CustomMessageRender.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/ErrorMessageRender.vue b/pages/conversation/chating/components/MessageItem/ErrorMessageRender.vue index e9bcd74..4806d1c 100644 --- a/pages/conversation/chating/components/MessageItem/ErrorMessageRender.vue +++ b/pages/conversation/chating/components/MessageItem/ErrorMessageRender.vue @@ -1,17 +1,17 @@ - + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/FaceMessageRender.vue b/pages/conversation/chating/components/MessageItem/FaceMessageRender.vue new file mode 100644 index 0000000..ccc9005 --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/FaceMessageRender.vue @@ -0,0 +1,103 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/FileMessageRender.vue b/pages/conversation/chating/components/MessageItem/FileMessageRender.vue new file mode 100644 index 0000000..ea4105e --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/FileMessageRender.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/LocationMessageRender.vue b/pages/conversation/chating/components/MessageItem/LocationMessageRender.vue new file mode 100644 index 0000000..192fd2f --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/LocationMessageRender.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/MarkdownMessageRender.vue b/pages/conversation/chating/components/MessageItem/MarkdownMessageRender.vue new file mode 100644 index 0000000..f61a8b5 --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/MarkdownMessageRender.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/MediaMessageRender.vue b/pages/conversation/chating/components/MessageItem/MediaMessageRender.vue deleted file mode 100644 index f395255..0000000 --- a/pages/conversation/chating/components/MessageItem/MediaMessageRender.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - - - diff --git a/pages/conversation/chating/components/MessageItem/MergeMessageRender.vue b/pages/conversation/chating/components/MessageItem/MergeMessageRender.vue new file mode 100644 index 0000000..8754eeb --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/MergeMessageRender.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/OANotificationRender.vue b/pages/conversation/chating/components/MessageItem/OANotificationRender.vue new file mode 100644 index 0000000..89eb2f8 --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/OANotificationRender.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/PictureMessageRender.vue b/pages/conversation/chating/components/MessageItem/PictureMessageRender.vue new file mode 100644 index 0000000..95db604 --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/PictureMessageRender.vue @@ -0,0 +1,124 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/QuoteMessageRender.vue b/pages/conversation/chating/components/MessageItem/QuoteMessageRender.vue new file mode 100644 index 0000000..ac674f1 --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/QuoteMessageRender.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/StreamMessageRender.vue b/pages/conversation/chating/components/MessageItem/StreamMessageRender.vue new file mode 100644 index 0000000..49c176a --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/StreamMessageRender.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/TextMessageRender.vue b/pages/conversation/chating/components/MessageItem/TextMessageRender.vue index 1159e7c..1a77fe4 100644 --- a/pages/conversation/chating/components/MessageItem/TextMessageRender.vue +++ b/pages/conversation/chating/components/MessageItem/TextMessageRender.vue @@ -1,36 +1,33 @@ - + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/TypingMessageRender.vue b/pages/conversation/chating/components/MessageItem/TypingMessageRender.vue new file mode 100644 index 0000000..299543c --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/TypingMessageRender.vue @@ -0,0 +1,24 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/VideoMessageRender.vue b/pages/conversation/chating/components/MessageItem/VideoMessageRender.vue new file mode 100644 index 0000000..d03e36a --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/VideoMessageRender.vue @@ -0,0 +1,264 @@ + + + + + \ No newline at end of file diff --git a/pages/conversation/chating/components/MessageItem/VoiceMessageRender.vue b/pages/conversation/chating/components/MessageItem/VoiceMessageRender.vue new file mode 100644 index 0000000..66d103b --- /dev/null +++ b/pages/conversation/chating/components/MessageItem/VoiceMessageRender.vue @@ -0,0 +1,24 @@ +v + + + + \ 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 4a4d78f..edcbaee 100644 --- a/pages/conversation/chating/components/MessageItem/index.vue +++ b/pages/conversation/chating/components/MessageItem/index.vue @@ -16,9 +16,7 @@ - - - + @@ -35,20 +33,46 @@ import {MessageStatus,MessageType,SessionType,} from "openim-uniapp-polyfill"; import MyAvatar from "@/components/MyAvatar/index.vue"; import TextMessageRender from "./TextMessageRender"; - import MediaMessageRender from "./MediaMessageRender"; + import PictureMessageRender from "./PictureMessageRender"; + import VoiceMessageRender from "./VoiceMessageRender"; + import VideoMessageRender from "./VideoMessageRender"; + import FileMessageRender from "./FileMessageRender"; + import AtTextMessageRender from "./AtTextMessageRender"; + import MergeMessageRender from "./MergeMessageRender"; + import CardMessageRender from "./CardMessageRender"; + import LocationMessageRender from "./LocationMessageRender"; + import CustomMessageRender from "./CustomMessageRender"; + import TypingMessageRender from "./TypingMessageRender"; + import QuoteMessageRender from "./QuoteMessageRender"; + import FaceMessageRender from "./FaceMessageRender"; + import MarkdownMessageRender from "./MarkdownMessageRender"; + import StreamMessageRender from "./StreamMessageRender"; + import OANotificationRender from "./OANotificationRender"; + import ErrorMessageRender from "./ErrorMessageRender"; import {noticeMessageTypes} from "@/constant"; import {tipMessaggeFormat,formatMessageTime} from "@/util/imCommon"; - - const textRenderTypes = [MessageType.TextMessage]; - - const mediaRenderTypes = [MessageType.PictureMessage]; + import { ca } from "date-fns/locale"; export default { components: { MyAvatar, TextMessageRender, - MediaMessageRender, + PictureMessageRender, + VoiceMessageRender, + VideoMessageRender, + FileMessageRender, + AtTextMessageRender, + MergeMessageRender, + CardMessageRender, + LocationMessageRender, + CustomMessageRender, + TypingMessageRender, + QuoteMessageRender, + FaceMessageRender, + MarkdownMessageRender, + StreamMessageRender, + OANotificationRender, ErrorMessageRender }, props: { @@ -57,6 +81,7 @@ type: Boolean, default: false, }, + conversationID:String, isPreview: Boolean, isActive: Boolean, }, @@ -67,6 +92,7 @@ toolTipFlag: false, popPostion:"default", toolTipData: [], + component:"ErrorMessageRender", }; }, computed: { @@ -82,12 +108,6 @@ formattedMessageTime() { return formatMessageTime(this.source.sendTime); }, - showTextRender() { - return textRenderTypes.includes(this.source.contentType); - }, - showMediaRender() { - return mediaRenderTypes.includes(this.source.contentType); - }, getNoticeContent() { const isNoticeMessage = noticeMessageTypes.includes( this.source.contentType @@ -110,7 +130,26 @@ }, }, mounted() { - this.$emit("messageItemRender", this.source.clientMsgID); + const MsgType2Components = { + ['type_'+MessageType.TextMessage] : "TextMessageRender", + ['type_'+MessageType.PictureMessage] : "PictureMessageRender", + ['type_'+MessageType.VoiceMessage] : "VoiceMessageRender", + ['type_'+MessageType.VideoMessage] : "VideoMessageRender", + ['type_'+MessageType.FileMessage] : "FileMessageRender", + ['type_'+MessageType.AtTextMessage] : "AtTextMessageRender", + ['type_'+MessageType.MergeMessage] : "MergeMessageRender", + ['type_'+MessageType.CardMessage] : "CardMessageRender", + ['type_'+MessageType.LocationMessage] : "LocationMessageRender", + ['type_'+MessageType.CustomMessage] : "CustomMessageRender", + ['type_'+MessageType.TypingMessage] : "TypingMessageRender", + ['type_'+MessageType.QuoteMessage] : "QuoteMessageRender", + ['type_'+MessageType.FaceMessage] : "FaceMessageRender", + ['type_'+MessageType.MarkdownMessage] : "MarkdownMessageRender", + ['type_'+MessageType.StreamMessage] : "StreamMessageRender", + ['type_'+MessageType.OANotification] : "OANotificationRender" + }; + this.component = MsgType2Components['type_'+this.source.contentType] || "ErrorMessageRender"; + this.$emit('userEvent',{type:"messageItemRender"},this.source.clientMsgID); this.setSendingDelay(); }, methods: { diff --git a/pages/conversation/conversationList/components/ConversationItem.vue b/pages/conversation/conversationList/components/ConversationItem.vue index 24735f7..fb40f15 100644 --- a/pages/conversation/conversationList/components/ConversationItem.vue +++ b/pages/conversation/conversationList/components/ConversationItem.vue @@ -48,9 +48,7 @@ return getConversationContent(parsedMessage); }, latestMessageTime() { - return this.source.latestMsgSendTime ? - formatConversionTime(this.source.latestMsgSendTime) : - ""; + return this.source.latestMsgSendTime ? formatConversionTime(this.source.latestMsgSendTime) : ""; }, isGroup() { return this.source.conversationType === SessionType.WorkingGroup; diff --git a/pages/profile/index/index.vue b/pages/profile/index/index.vue index 0b68118..1a42514 100644 --- a/pages/profile/index/index.vue +++ b/pages/profile/index/index.vue @@ -1,5 +1,5 @@