From 32649634fe04fcc8172afd753ae5fa291098d45c Mon Sep 17 00:00:00 2001 From: ChenXiaohui <1432297778@qq.com> Date: Tue, 21 Dec 2021 16:08:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E+1=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D@=E9=80=9A=E7=9F=A5=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- src/background/main.js | 1 + src/components/Emoji.vue | 2 +- src/components/HintMessage.vue | 2 +- src/components/Images.vue | 2 +- src/components/Message.vue | 250 ++++++++++++++----------- src/components/Online.vue | 16 +- src/components/RedPacketInfo.vue | 35 ++-- src/components/Send.vue | 114 +++++++----- src/manifest.json | 2 +- src/store/index.js | 17 +- src/svg/plusOne.svg | 1 + src/views/ChatRoom.vue | 308 +++++++++++++++++++------------ 13 files changed, 443 insertions(+), 309 deletions(-) create mode 100644 src/svg/plusOne.svg diff --git a/package.json b/package.json index 9e3d233..ff624ec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pwl-chat-extension", - "version": "0.2.2", + "version": "0.2.3", "private": true, "scripts": { "serve": "vue-cli-service build --mode development --watch", diff --git a/src/background/main.js b/src/background/main.js index d6f6377..0e43374 100644 --- a/src/background/main.js +++ b/src/background/main.js @@ -125,6 +125,7 @@ function messageEvent(message, isMsg) { message.md && -1 !== message.md.indexOf('@' + store.getters.userInfo.userName) ) { + console.log(store.getters.userInfo) notifications(message.userName + '@了你', message.md) } chrome.browserAction.setBadgeText({ text: '' + ++count }) diff --git a/src/components/Emoji.vue b/src/components/Emoji.vue index efa2308..486b37f 100644 --- a/src/components/Emoji.vue +++ b/src/components/Emoji.vue @@ -55,7 +55,7 @@ export default { }); }, selectEmoji(name) { - this.$emit("selectEmoji", ':' + name + ':'); + this.$emit("addContent", ':' + name + ':'); }, judgeEmojiIsImage(value) { return value.startsWith("http"); diff --git a/src/components/HintMessage.vue b/src/components/HintMessage.vue index 42ff6a0..d9f1b77 100644 --- a/src/components/HintMessage.vue +++ b/src/components/HintMessage.vue @@ -7,7 +7,7 @@ {{message.whoGot}} 抢到了 {{message.whoGive}} 的 - 红包 + 红包 ({{message.got}}/{{message.count}}) diff --git a/src/components/Images.vue b/src/components/Images.vue index 2a47627..295d7ca 100644 --- a/src/components/Images.vue +++ b/src/components/Images.vue @@ -40,7 +40,7 @@ export default { }); }, selectImage(image) { - this.$emit("selectImage", image); + this.$emit("sendMessage", '![image.png](' + image + ')'); this.visible = false; }, syncCloudImage(url) { diff --git a/src/components/Message.vue b/src/components/Message.vue index 611bb8a..2aac8cf 100644 --- a/src/components/Message.vue +++ b/src/components/Message.vue @@ -1,53 +1,84 @@ - - - - - - - {{ message.userNickname}} - {{message.userName}} + + + + + + + + {{ message.userNickname }} + {{ + message.userName + }} + + + + + + + + + @他 + 引用 + +1 + 收藏表情 + + + + + {{ getTime(message.time) }} - - - - - @他 - 引用 - 收藏表情 - - - - - {{ getTime(message.time) }} + - + + + + {{message.users.length}} 人+1 + + \ No newline at end of file +iframe { + max-width: 255px; +} + diff --git a/src/components/Online.vue b/src/components/Online.vue index 39825ee..832c714 100644 --- a/src/components/Online.vue +++ b/src/components/Online.vue @@ -1,9 +1,8 @@ + width="257" + trigger="click"> + @click.native="$emit('showUserCard', item.userName)"> - @@ -42,11 +39,6 @@ export default { visible: false } }, - methods: { - showUserCard(userName) { - this.$emit("showUserCard", userName); - }, - } }; \ No newline at end of file + diff --git a/src/manifest.json b/src/manifest.json index b3afd27..deca5e3 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "摸鱼派聊天室", - "version": "0.2.2", + "version": "0.2.3", "homepage_url": "https://github.com/Lemon-cxh/pwl-chat-extension", "description": "摸鱼派聊天室插件", "permissions": [ diff --git a/src/store/index.js b/src/store/index.js index e27fbbb..16485a6 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -50,7 +50,7 @@ export default new Vuex.Store({ }, pageParams: state => { let page = parseInt(state.messageTotal / MESSAGE_LIMIT) + 1 - return { page: page, length: page * MESSAGE_LIMIT - state.messageTotal} + return { page: page, length: page * MESSAGE_LIMIT - state.messageTotal } }, online: state => { return state.online @@ -65,15 +65,24 @@ export default new Vuex.Store({ }, popMessage(state) { let m = state.message.pop() - if (!m.type || m.type === MESSAGE_TYPE.msg) { + if (!m.type || m.type !== MESSAGE_TYPE.msg) { state.messageTotal -= 1 + return } + state.messageTotal -= (1 + m.users ? m.users.length : 0) }, addMessage(state, message) { - state.message.unshift(message.message) if (message.isMsg) { state.messageTotal += 1 + let last = state.message[0] + if (message.message.md === last.md) { + let users = last.users ? last.users : [] + users.unshift({ userName: message.message.userName, userAvatarURL: message.message.userAvatarURL }) + state.message[0].users = users + return + } } + state.message.unshift(message.message) }, concatMessage(state, message) { state.message = state.message.concat(message); @@ -81,7 +90,7 @@ export default new Vuex.Store({ }, clearMessage(state) { state.message = [], - state.messageTotal = 0 + state.messageTotal = 0 }, setOnline(state, online) { state.online = { diff --git a/src/svg/plusOne.svg b/src/svg/plusOne.svg new file mode 100644 index 0000000..7d17448 --- /dev/null +++ b/src/svg/plusOne.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/views/ChatRoom.vue b/src/views/ChatRoom.vue index fb58955..738384f 100644 --- a/src/views/ChatRoom.vue +++ b/src/views/ChatRoom.vue @@ -2,86 +2,95 @@ - - + + - - + + - - - + + + - - - - + + + + - - + + - - + + + - - + + \ No newline at end of file +