From acaaa53ae933cf27f16457d92bf25508ea971a1d Mon Sep 17 00:00:00 2001 From: DCloud_JSON Date: Mon, 17 Jun 2024 17:07:34 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=87=8D=E8=A6=81=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E3=80=91=E5=8E=BB=E6=8E=89=E6=89=80=E6=9C=89nvue=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=EF=BC=8C=E6=B6=88=E6=81=AF=E8=BE=93=E5=85=A5=E6=A1=86?= =?UTF-8?q?=E6=94=B9=E7=94=A8renderjs=E5=AE=9E=E7=8E=B0=EF=BC=8C=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=88=97=E8=A1=A8=E6=94=B9=E7=94=A8=E7=BF=BB=E8=BD=AC?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=88=97=E8=A1=A8=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/uni-im-chat-input/emojiCodes.js | 1 + .../uni-im-chat-input/uni-im-chat-input.vue | 832 ++++++----- .../uni-im-contextmenu/uni-im-contextmenu.vue | 34 +- .../uni-im-conversation-list.vue | 137 +- .../uni-im-conversation.vue | 90 +- components/uni-im-editor/uni-im-editor.vue | 522 +++++++ .../uni-im-filtered-conversation-list.vue | 13 +- components/uni-im-icons/uni-im-icons.vue | 11 - .../uni-im-info-card/uni-im-info-card.vue | 240 +++ .../uni-im-load-state/uni-im-load-state.vue | 14 +- .../components/uni-im-list/uni-im-list.vue | 196 +-- .../uni-im-msg-list/uni-im-msg-list.vue | 475 +++--- components/uni-im-msg/popup-control.vue | 52 +- components/uni-im-msg/types/code.vue | 17 +- components/uni-im-msg/types/file.vue | 2 - components/uni-im-msg/types/history.vue | 4 - components/uni-im-msg/types/image.vue | 3 + components/uni-im-msg/types/rich-text.vue | 21 +- components/uni-im-msg/types/sound.vue | 13 +- components/uni-im-msg/types/system.vue | 5 - components/uni-im-msg/types/text.vue | 52 +- components/uni-im-msg/types/userinfo-card.vue | 2 - components/uni-im-msg/types/video.vue | 3 - components/uni-im-msg/uni-im-msg.vue | 118 +- components/uni-im-sound/uni-im-sound.vue | 85 +- .../uni-im-view-msg/uni-im-view-msg.vue | 2 +- package.json | 3 +- pages/chat/chat-filtered.vue | 252 ++++ pages/chat/chat.vue | 1328 +++++++++++++++++ pages/chat/cmp/chat-fragment.vue | 160 ++ pages/chat/info.vue | 225 +++ pages/common/video/video.vue | 117 ++ .../common/view-code-page/view-code-page.vue | 40 + .../addPeopleGroups/addPeopleGroups.vue | 350 +++++ pages/contacts/contacts.vue | 364 +++++ pages/contacts/createGroup/createGroup.vue | 251 ++++ pages/contacts/groupList/groupList.vue | 76 + pages/contacts/notification/notification.vue | 281 ++++ pages/group/groupQRCode.vue | 160 ++ pages/group/info.vue | 473 ++++++ pages/group/members.vue | 512 +++++++ pages/index/index.scss | 392 +++-- pages/index/index.vue | 629 ++++++++ pages/userList/userList.vue | 6 +- readme.md | 1 - sdk/init/checkVersion.js | 4 - sdk/init/index.js | 24 +- sdk/init/msgEvent.js | 2 +- .../conversation/Conversation.class.js | 6 +- sdk/methods/conversation/index.js | 5 +- sdk/state/index.js | 63 +- sdk/utils/highlight/github-dark.min.scss | 12 + sdk/utils/index.js | 5 +- static/flex.scss | 16 + static/pinned.png | Bin 2135 -> 2694 bytes uniCloud/database/uni-id-users.schema.ext.js | 9 - 56 files changed, 7213 insertions(+), 1497 deletions(-) create mode 100644 components/uni-im-chat-input/emojiCodes.js create mode 100644 components/uni-im-editor/uni-im-editor.vue create mode 100644 components/uni-im-info-card/uni-im-info-card.vue create mode 100644 pages/chat/chat-filtered.vue create mode 100644 pages/chat/chat.vue create mode 100644 pages/chat/cmp/chat-fragment.vue create mode 100644 pages/chat/info.vue create mode 100644 pages/common/video/video.vue create mode 100644 pages/common/view-code-page/view-code-page.vue create mode 100644 pages/contacts/addPeopleGroups/addPeopleGroups.vue create mode 100644 pages/contacts/contacts.vue create mode 100644 pages/contacts/createGroup/createGroup.vue create mode 100644 pages/contacts/groupList/groupList.vue create mode 100644 pages/contacts/notification/notification.vue create mode 100644 pages/group/groupQRCode.vue create mode 100644 pages/group/info.vue create mode 100644 pages/group/members.vue create mode 100644 pages/index/index.vue create mode 100644 sdk/utils/highlight/github-dark.min.scss create mode 100644 static/flex.scss diff --git a/components/uni-im-chat-input/emojiCodes.js b/components/uni-im-chat-input/emojiCodes.js new file mode 100644 index 0000000..87333d1 --- /dev/null +++ b/components/uni-im-chat-input/emojiCodes.js @@ -0,0 +1 @@ +export default `😀,😁,😂,🤣,😃,😄,😅,😆,😉,😊,😋,😎,😍,😘,😗,😙,😚,☺️,🙂,🤗,🤩,🤔,🤨,😐,😑,😶,🙄,😏,😣,😥,😮,🤐,😯,😪,😫,😴,😌,😛,😜,😝,🤤,😒,😓,😔,😕,🙃,🤑,😲,☹️,🙁,😖,😞,😟,😤,😢,😭,😦,😧,😨,😩,🤯,😬,😰,😱,😳,🤪,😵,😡,😠,🤬,😷,🤒,🤕,🤢,🤮,🤧,😇,🤠,🤡,🤥,🤫,🤭,🧐,🤓,😈,👿,👹,👺,💀,☠️,👻,👽,🤖,😺,😸,😹,😻,😼,😽,🙀,😿,😾,🙈,🙉,🙊,👶,🧒,👦,👧,🧑,👨,👩,🧓,👴,👵,👨‍⚕️,👩‍⚕️,👨‍🎓,👩‍🎓,👨‍🏫,👩‍🏫,👨‍⚖️,👩‍⚖️,👨‍🌾,👩‍🌾,👨‍🍳,👩‍🍳,👨‍🔧,👩‍🔧,👨‍🏭,👩‍🏭,👨‍💼,👩‍💼,👨‍🔬,👩‍🔬,👨‍💻,👩‍💻,👨‍🎤,👩‍🎤,👨‍🎨,👩‍🎨,👨‍✈️,👩‍✈️,👨‍🚀,👩‍🚀,👨‍🚒,👩‍🚒,👮,👮‍♂️,👮‍♀️,🕵️,🕵️‍♂️,🕵️‍♀️,💂,💂‍♂️,💂‍♀️,👷,👷‍♂️,👷‍♀️,🤴,👸,👳,👳‍♂️,👳‍♀️,👲,🧕,🧔,👱,👱‍♂️,👱‍♀️,🤵,👰,🤰,🤱,👼,🎅,🤶,🧙,🧙‍♀️,🧙‍♂️,🧚,🧚‍♀️,🧚‍♂️,🧛,🧛‍♀️,🧛‍♂️,🧜,🧜‍♀️,🧜‍♂️,🧝,🧝‍♀️,🧝‍♂️,🧞,🧞‍♀️,🧟,🧟‍♀️,🙍,🙍‍♂️,🙍‍♀️,🙎,🙎‍♂️,🙎‍♀️,🙅,🙅‍♂️,🙅‍♀️,🙆,🙆‍♂️,🙆‍♀️,💁,💁‍♂️,💁‍♀️,🙋,🙋‍♂️,🙋‍♀️,🙇,🙇‍♂️,🙇‍♀️,🤦,🤦‍♂️,🤦‍♀️,🤷,🤷‍♂️,🤷‍♀️,💆,💆‍♂️,💆‍♀️,💇,💇‍♂️,💇‍♀️,🚶,🚶‍♂️,🚶‍♀️,🏃,🏃‍♂️,🏃‍♀️,💃,🕺,👯,👯‍♂️,👯‍♀️,🧖,🧖‍♀️,🧖‍♂️,🧗,🧗‍♀️,🧗‍♂️,🧘,🧘‍♀️,🧘‍♂️,🕴️,👤,👥,👫,👬,👭,💏,👨‍❤️‍💋‍👨,👩‍❤️‍💋‍👩,💑,👨‍❤️‍👨,👩‍❤️‍👩,👪,👨‍👩‍👧,👨‍👩‍👧‍👦,👨‍👩‍👦‍👦,👨‍👩‍👧‍👧,👨‍👨‍👦,👨‍👨‍👧,👨‍👨‍👧‍👦,👨‍👨‍👦‍👦,👨‍👨‍👧‍👧,👩‍👩‍👦,👩‍👩‍👧,👩‍👩‍👧‍👦,👩‍👩‍👦‍👦,👩‍👩‍👧‍👧,👨‍👦,👨‍👧,👨‍👧‍👦,👨‍👧‍👧,👩‍👦‍👦,👩‍👧,👩‍👧‍👦,🤳,👃,👅,👄,💋,💘,❤️,💓,💔,💕,💖,💗,💙,💚,💛,🧡,💜,🖤,💝,💞,❣️,💌,💬,🌬️,☃️,⛄,🎎,🗿,👾,💩,🛀,🛌,💅,👂,👣,👀,👁️,🧠,💭,👓,👔,👕,👖,🧣,🧤,🧥,🧦,👗,👘,👙,👚,👛,👜,👝,🎒,👞,👟,👠,👡,👢,👑,👒,🎩,🎓,🧢,📿,💄,💍,💎,🥄,🔪,🏺,🗺️,🗾,🎠,🎡,🎢,💈,🎪,🛰️,🚀,🛸,🛎️,⌛,⏳,⌚,⏰,🕰️,🌡️,🌂,☂️,☔,⛱️,⚡,🎃,🎄,🎆,🎇,🎈,🎉,🎊,🎏,🎐,🎑,🎀,🎁,🎗️,🎟️,🎫,🔮,🎮,🕹️,🎰,🃏,🎴,🎭,🖼️,🎨,🔇,🔈,🔉,🔊,📢,📣,📯,🔔,🔕,🎼,🎵,🎶,🎙️,🎚️,🎛️,🎤,🎧,📻,🎷,🎸,🎹,🎺,🎻,🥁,📱,📲,☎️,📞,📟,📠,🔋,🔌,💻,🖥️,🖨️,⌨️,🖱️,🖲️,💽,💾,💿,📀,🎥,🎞️,📽️,🎬,📺,📷,📸,📹,📼,🔍,🔎,💡,🔦,🏮,📔,📕,📖,📗,📘,📙,📚,📓,📒,📃,📜,📄,📰,📑,🔖,💰,💴,💵,💶,💷,💸,💳,✉️,📧,📨,📩,📤,📥,📦,📫,📪,📬,📭,📮,✏️,✒️,📝,💼,📁,📂,📅,📆,📇,📈,📉,📊,📋,📌,📍,📎,📏,📐,✂️,🔒,🔓,🔏,🔐,🔑,🔨,🔫,🔧,🔩,🔬,🔭,📡,💉,💊,🚪,🚽,🚿,🛁,🛒,🚬,🔅,🔆,⚜️,🔱,📛,🚂,🚃,🚄,🚅,🚆,🚇,🚈,🚉,🚊,🚝,🚞,🚋,🚌,🚍,🚎,🚐,🚑,🚒,🚓,🚔,🚕,🚖,🚗,🚘,🚙,🚚,🚛,🚜,🚲,🛴,🛵,🚏,🛣️,🛤️,🛢️,⛽,🚨,🚥,🚦,🛑,🚧,⛵,🛶,🚤,🛳️,⛴️,🛥️,🚢,✈️,🛩️,🛫,🛬,💺,🚁,🚟,🚠,🚡,⚠️,⛔,🦗,🍇,🍈,🍉,🍊,🍋,🍌,🍍,🍎,🍏,🍐,🍑,🍒,🍓,🥝,🍅,🥥,🥑,🍆,🥔,🥕,🌽,🌶️,🥒,🥦,🥜,🍞,🥐,🥖,🥨,🥞,🧀,🍖,🍗,🥩,🥓,🍔,🍟,🍕,🌭,🥪,🌮,🌯,🥙,🥚,🍳,🥘,🍲,🥣,🥗,🍿,🥫,🍱,🍘,🍙,🍚,🍛,🍜,🍝,🍠,🍢,🍣,🍤,🍥,🍡,🥟,🥠,🥡,🍦,🍧,🍨,🍩,🍪,🎂,🍰,🥧,🍫,🍬,🍭,🍮,🍯,🍼,🥛,☕,🍵,🍶,🍾,🍷,🍸,🍹,🍺,🍻,🥂,🥃,🥤,🥢,🍽️,🍴`.split(',') diff --git a/components/uni-im-chat-input/uni-im-chat-input.vue b/components/uni-im-chat-input/uni-im-chat-input.vue index 340e335..8d47760 100644 --- a/components/uni-im-chat-input/uni-im-chat-input.vue +++ b/components/uni-im-chat-input/uni-im-chat-input.vue @@ -1,403 +1,479 @@ - \ No newline at end of file diff --git a/components/uni-im-contextmenu/uni-im-contextmenu.vue b/components/uni-im-contextmenu/uni-im-contextmenu.vue index fdaabe9..a417981 100644 --- a/components/uni-im-contextmenu/uni-im-contextmenu.vue +++ b/components/uni-im-contextmenu/uni-im-contextmenu.vue @@ -87,22 +87,12 @@ setTimeout(() => { // 根据实际渲染出的组件大小修正定位 - // #ifdef APP-NVUE - const dom = weex.requireModule("dom"); - const result = dom.getComponentRect(this.$refs.contextmenu, option => { - const {top, left, width, height} = option.size - this.style = calcPosition(top, left, width, height) - }); - // #endif - - // #ifndef APP-NVUE const query = uni.createSelectorQuery().in(this) query.select('.contextmenu').boundingClientRect(option => { const { width, height } = option this.style = calcPosition(top, left, width, height) this.style.opacity = 1 }).exec() - // #endif }, 0) }, closeMe(){ @@ -126,7 +116,7 @@ .contextmenu{ position: fixed; background-color: #fff; - z-index: 99999; + z-index: 99; border-radius: 10px; box-shadow: 0 0 10px #888; background-color:#FFF; @@ -143,15 +133,11 @@ margin: 5px; opacity: 0.9; text-align: left; - + height: 40px; + align-content: center; /* #ifdef H5 */ cursor: pointer; /* #endif */ - - /* #ifdef APP-NVUE */ - width: 120px; - height: 40px; - /* #endif */ } .item:hover{ @@ -163,21 +149,9 @@ position: fixed; top: 0; left: 0; - width: 750rpx; - flex: 1; - height: 9000px; - - /* #ifndef APP-NVUE */ width: 100vw; height: 100vh; - z-index: 9999; - /* #endif */ - - /* #ifdef H5 */ - // 解决:通过*选择器设置了最大宽高 引起的大小撑不开的问题 - max-height:100vh; - max-width:100vw; - /* #endif */ + z-index:10; background-color: rgba(0,0,0,0.5); } diff --git a/components/uni-im-conversation-list/uni-im-conversation-list.vue b/components/uni-im-conversation-list/uni-im-conversation-list.vue index cfd781f..4886605 100644 --- a/components/uni-im-conversation-list/uni-im-conversation-list.vue +++ b/components/uni-im-conversation-list/uni-im-conversation-list.vue @@ -1,77 +1,49 @@ @@ -80,6 +52,7 @@ import uniIm from '@/uni_modules/uni-im/sdk/index.js'; const db = uniCloud.database(); let currentScrollTop = 0; export default { + emits: ['change', 'clickItem', 'onScroll'], props: { keyword: { type: String, @@ -107,11 +80,6 @@ export default { conversationHasMore() { return uniIm.conversation.hasMore }, - // #ifdef APP-NVUE - wHeight() { - return uni.getSystemInfoSync().windowHeight + 'px' - }, - // #endif loadMoreContentText() { return { contentrefresh: "正在加载...", @@ -190,13 +158,16 @@ export default { this.$emit('clickItem', item) }, openConversationMenu(e, index) { - // #ifdef H5 let conversation = this.conversationList[index] conversation.focus = true const myContextmenu = this.$refs['uni-im-contextmenu'] + + const clientY = e.clientY || e.changedTouches[0].clientY + const clientX = e.clientX || e.changedTouches[0].clientX + const position = { - "top": e.clientY + 35, - "left": e.clientX + "top": clientY + 35, + "left": clientX } let menuList = [{ "title": "置顶", @@ -247,7 +218,6 @@ export default { myContextmenu.onClose(() => { conversation.focus = false }) - // #endif }, async loadMore() { let data = await uniIm.conversation.loadMore() @@ -260,35 +230,32 @@ export default { \ No newline at end of file diff --git a/components/uni-im-editor/uni-im-editor.vue b/components/uni-im-editor/uni-im-editor.vue new file mode 100644 index 0000000..aa90e34 --- /dev/null +++ b/components/uni-im-editor/uni-im-editor.vue @@ -0,0 +1,522 @@ + + + + + + + \ No newline at end of file diff --git a/components/uni-im-filtered-conversation-list/uni-im-filtered-conversation-list.vue b/components/uni-im-filtered-conversation-list/uni-im-filtered-conversation-list.vue index adf3d32..2b6c657 100644 --- a/components/uni-im-filtered-conversation-list/uni-im-filtered-conversation-list.vue +++ b/components/uni-im-filtered-conversation-list/uni-im-filtered-conversation-list.vue @@ -8,7 +8,7 @@ - diff --git a/pages/chat/chat.vue b/pages/chat/chat.vue new file mode 100644 index 0000000..08abe33 --- /dev/null +++ b/pages/chat/chat.vue @@ -0,0 +1,1328 @@ + + + + + \ No newline at end of file diff --git a/pages/chat/cmp/chat-fragment.vue b/pages/chat/cmp/chat-fragment.vue new file mode 100644 index 0000000..07cf311 --- /dev/null +++ b/pages/chat/cmp/chat-fragment.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/pages/chat/info.vue b/pages/chat/info.vue new file mode 100644 index 0000000..96aa2e5 --- /dev/null +++ b/pages/chat/info.vue @@ -0,0 +1,225 @@ + + + + + \ No newline at end of file diff --git a/pages/common/video/video.vue b/pages/common/video/video.vue new file mode 100644 index 0000000..1d2577b --- /dev/null +++ b/pages/common/video/video.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/pages/common/view-code-page/view-code-page.vue b/pages/common/view-code-page/view-code-page.vue new file mode 100644 index 0000000..b44cbad --- /dev/null +++ b/pages/common/view-code-page/view-code-page.vue @@ -0,0 +1,40 @@ + + + + + \ No newline at end of file diff --git a/pages/contacts/addPeopleGroups/addPeopleGroups.vue b/pages/contacts/addPeopleGroups/addPeopleGroups.vue new file mode 100644 index 0000000..7716712 --- /dev/null +++ b/pages/contacts/addPeopleGroups/addPeopleGroups.vue @@ -0,0 +1,350 @@ + + + + + diff --git a/pages/contacts/contacts.vue b/pages/contacts/contacts.vue new file mode 100644 index 0000000..e4fd856 --- /dev/null +++ b/pages/contacts/contacts.vue @@ -0,0 +1,364 @@ + + + + + \ No newline at end of file diff --git a/pages/contacts/createGroup/createGroup.vue b/pages/contacts/createGroup/createGroup.vue new file mode 100644 index 0000000..3efcc1d --- /dev/null +++ b/pages/contacts/createGroup/createGroup.vue @@ -0,0 +1,251 @@ + + + + + \ No newline at end of file diff --git a/pages/contacts/groupList/groupList.vue b/pages/contacts/groupList/groupList.vue new file mode 100644 index 0000000..bc3579e --- /dev/null +++ b/pages/contacts/groupList/groupList.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/pages/contacts/notification/notification.vue b/pages/contacts/notification/notification.vue new file mode 100644 index 0000000..1f96c26 --- /dev/null +++ b/pages/contacts/notification/notification.vue @@ -0,0 +1,281 @@ + + + + + \ No newline at end of file diff --git a/pages/group/groupQRCode.vue b/pages/group/groupQRCode.vue new file mode 100644 index 0000000..294ea33 --- /dev/null +++ b/pages/group/groupQRCode.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/pages/group/info.vue b/pages/group/info.vue new file mode 100644 index 0000000..f376bb1 --- /dev/null +++ b/pages/group/info.vue @@ -0,0 +1,473 @@ + + + + + \ No newline at end of file diff --git a/pages/group/members.vue b/pages/group/members.vue new file mode 100644 index 0000000..6939840 --- /dev/null +++ b/pages/group/members.vue @@ -0,0 +1,512 @@ + + + + + \ No newline at end of file diff --git a/pages/index/index.scss b/pages/index/index.scss index 4a1eddc..f53efde 100644 --- a/pages/index/index.scss +++ b/pages/index/index.scss @@ -2,12 +2,13 @@ flex: 1; } -/* #ifndef APP-NVUE */ #center-view{ height: 100vh; + /* #ifdef H5 */ + height: calc(100vh - 44px); + /* #endif */ background-color: #f5f5f5 !important; } -/* #endif */ /* #ifdef H5 */ @media screen and (min-device-width:960px){ @@ -22,6 +23,151 @@ width: 100vw; background-color: #2e2e3e; min-width:960px; + + #left-view, + #center-view, + #right-view { + height: 95vh; + position: relative; + top: -2vh; + background-color: #FFFFFF; + } + + #center-view { + #conversation-list-box ::v-deep .conversation-list{ + max-height: calc(95vh - 70px); + .conversation-list-item{ + margin: 5px; + } + } + } + #left-view { + & > *{ + cursor: pointer; + margin-top: 36px; + } + & > *:hover{ + /* border: 1px solid #fefefe; */ + box-shadow: 0 0 20px 2px #fefefe; + border-radius: 10px; + } + width:60px; + align-items: center; + padding-top: 100px; + background-color: #ececec; + border-radius: 20px 0 0 20px; + } + #center-view{ + width:300px; + #search-bar-box { + flex-direction: row; + align-items: center; + height: 70px; + padding:0 10px; + } + #search-bar { + flex: 1; + } + #uni-im-contacts-box { + z-index: 10; + height: 95vh; + width: 100%; + position: absolute; + background-color: #f5f5f5; + /* pc端隐藏删除好友的按钮,后续改成长按(右键)可见 */ + ::v-deep .delete-btn{ + display: none; + } + } + } + + #right-view { + width: calc(100% - 370px); + border-radius: 0 20px 20px 0; + overflow: hidden; + position: relative; + #chat-view-box { + #ccid-is-null-tip{ + height: 95vh; + padding-top: 30vh; + align-items: center; + background-color: #efefef; + .img { + width: 130px; + margin-bottom: 15px; + } + .text { + color: #999; + } + } + } + #chat-header{ + height: 70px; + padding:0 20px; + flex-direction: row; + justify-content: end; + align-items: center; + .more{ + cursor: pointer; + } + } + #chat-view { + max-height:calc(95vh - 70px); + } + #chat-view ::v-deep #uni-im-chat{ + #web-pc-chat-title + { + position: absolute; + z-index: 9; + top: -45px; + left: 15px; + } + .unread_count { + display: none; + } + .msg-list .uni-im-list .uni-im-msg{ + padding:0 10px; + } + } + .chatInfoBox { + z-index: 999; + position: absolute; + right:0; + top: 70px; + background-color: rgba(0,0,0,0.2); + height: calc(95vh - 70px); + align-items: flex-end; + width: 100%; + ::v-deep .group-info-text{ + max-width: 250px !important; + text-align: left; + word-break: break-all; + } + } + #dynamic-component-box { + z-index: 9; + width: 100%; + height: 95vh; + background-color: #fff; + position: absolute; + right: 0; + .dynamic-component-title{ + padding-left: 15px; + height: 70px; + justify-content: center; + border: 1px solid #efefef; + } + .system-notice-box{ + width: 100%; + } + .create-group-box .header-box{ + width: 100%; + .uni-searchbar { + width: 100%; + } + } + } + } } #foot { @@ -29,227 +175,29 @@ bottom: 10px; flex-direction: row; color: #FFFFFF; + .uni-link:hover{ + color: #00aa55 !important; + } + .item { + flex-direction: row; + margin:0 50px; + align-items: center; + .icon { + width: 20px; + height: 20px; + margin-right: 5px; + } + .link { + margin-left: 5px; + } + } } - #foot .uni-link:hover{ - color: #00aa55 !important; - } - - #foot .item { - flex-direction: row; - margin:0 50px; - align-items: center; - } - #foot .item .icon { - width: 20px; - height: 20px; - margin-right: 5px; - } - #foot .item .link { - margin-left: 5px; - } - - #left-view, - #center-view, - #right-view{ - height: 95vh; - position: relative; - top: -2vh; - background-color: #FFFFFF; - } - - - #center-view #conversation-list-box ::v-deep .conversation-list{ - max-height: calc(95vh - 70px); - padding-top: 5px; - } - - #left-view > *{ - cursor: pointer; - margin-top: 36px; - } - #left-view > *:hover{ - /* border: 1px solid #fefefe; */ - box-shadow: 0 0 20px 2px #fefefe; - border-radius: 10px; - } - - #left-view{ - width:60px; - align-items: center; - padding-top: 100px; - background-color: #ececec; - border-radius: 20px 0 0 20px; - } - - #center-view{ - width:300px; - } - - #center-view #search-bar-box { - flex-direction: row; - align-items: center; - height: 70px; - padding:0 10px; - } - #center-view #search-bar { - flex: 1; - } - - - .windows #center-view #conversation-list-box ::v-deep .conversation-list-item .uni-list-chat__container{ - padding-right: 10px; - } - - #right-view{ - width: calc(100% - 370px); - border-radius: 0 20px 20px 0; - overflow: hidden; - position: relative; - } - - #right-view #chat-header{ - height: 70px; - padding:0 20px; - flex-direction: row; - justify-content: end; - align-items: center; - } - #right-view #chat-header .more{ - cursor: pointer; - } - - #right-view #chat-view - { - max-height:calc(95vh - 70px); - } - - #right-view #chat-view ::v-deep .page { - flex: auto; - } - - #right-view #chat-view ::v-deep .unread_count { - display: none; - } - - #right-view #chat-view ::v-deep .msg-list .uni-im-list .scroll-view{ - height: calc(95vh - 330px); - } - #right-view #chat-view ::v-deep .msg-list .uni-im-list .uni-im-msg{ - padding:0 10px; - } - - #right-view #chat-view ::v-deep .msg-list .uni-im-list .uni-im-msg .cite-box{ - max-width:500px; - } - - #right-view #chat-view ::v-deep .chat-foot, - #right-view #chat-view ::v-deep .disable-input - { - position: relative; - bottom: 0; - width:100%; - } - - #right-view #chat-view ::v-deep .chat-foot .pc, - #right-view #chat-view ::v-deep .disable-input - { - display: flex; - height: 260px; - position: absolute; - bottom:0; - background-color: #f7f7f7; - width: 100%; - justify-content: center; - align-items: center; - padding: 0 16px; - } - #right-view #chat-view ::v-deep .chat-foot .pc > *{ - width: 100%; - } - - #right-view #chat-view ::v-deep .chat-foot .pc .tool-bar, - #right-view #chat-view ::v-deep .chat-foot .pc .tool-bar .icons{ - flex-direction: row; - height: 50px; - align-items: center; - } - #right-view #chat-view ::v-deep .chat-foot .pc .tool-bar .icons .uni-im-icons{ - padding-right:30px; - } - - #right-view #chat-view ::v-deep .chat-foot .pc .answer-msg{ - padding: 6px 10px; - margin-bottom: 6px; - } - - #right-view #chat-view ::v-deep .chat-foot .pc .textarea{ - height: 200px; - background-color: #f7f7f7; - } - - #right-view .chatInfoBox { - z-index: 999; - position: absolute; - right:0; - top: 70px; - background-color: rgba(0,0,0,0.2); - height: calc(95vh - 70px); - align-items: flex-end; - width: 100%; - } - - #right-view .chatInfoBox ::v-deep .group-info-text{ - max-width: 250px !important; - text-align: left; - word-break: break-all; - } - - #uni-im-contacts-box { - z-index: 10; - height: 95vh; - width: 100%; - position: absolute; - background-color: #f5f5f5; - } - - /* pc端隐藏删除好友的按钮,后续改成长按(右键)可见 */ - #uni-im-contacts-box ::v-deep .delete-btn{ - display: none; - } - - #ccid-is-null-tip{ - height: 95vh; - padding-top: 15vh; - align-items: center; - background-color: #efefef; - color: #999; - } - - #dynamic-component-box { - z-index: 9; - width: 100%; - height: 95vh; - background-color: #fff; - position: absolute; - right: 0; - } - - #dynamic-component-box .dynamic-component-title{ - padding-left: 15px; - height: 70px; - justify-content: center; - border: 1px solid #efefef; - } - - #right-view #dynamic-component-box .system-notice-box{ - width: 100%; - } - #right-view ::v-deep #dynamic-component-box .create-group-box .header-box{ - width: 100%; - } - #right-view ::v-deep #dynamic-component-box .create-group-box .header-box .uni-searchbar { - width: 100%; - } + + .windows { + #center-view #conversation-list-box ::v-deep .conversation-list-item .uni-list-chat__container{ + padding-right: 10px; + } + } } /* #endif */ \ No newline at end of file diff --git a/pages/index/index.vue b/pages/index/index.vue new file mode 100644 index 0000000..e52411a --- /dev/null +++ b/pages/index/index.vue @@ -0,0 +1,629 @@ + + + + + \ No newline at end of file diff --git a/pages/userList/userList.vue b/pages/userList/userList.vue index 588719d..b7bc9e5 100644 --- a/pages/userList/userList.vue +++ b/pages/userList/userList.vue @@ -1,15 +1,16 @@