From 7a7d97fd17005ecc40b47a297c2941b74d7dec31 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Thu, 16 Mar 2023 09:04:58 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E7=A7=BB=E5=8A=A8=E7=AB=AF=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E6=B6=88=E6=81=AF=E6=94=AF=E6=8C=81=E6=BB=91=E5=8A=A8?= =?UTF-8?q?=E5=8F=96=E6=B6=88=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/js/components/Mobile/Back.vue | 26 ++++++++++++++++++- .../assets/js/pages/manage/messenger.vue | 16 +++++++++--- resources/assets/js/store/state.js | 3 +++ 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/resources/assets/js/components/Mobile/Back.vue b/resources/assets/js/components/Mobile/Back.vue index f4034db0c..ab00d90c6 100644 --- a/resources/assets/js/components/Mobile/Back.vue +++ b/resources/assets/js/components/Mobile/Back.vue @@ -44,7 +44,7 @@ export default { }, computed: { - ...mapState(['fileLists']), + ...mapState(['fileLists', 'messengerSearchKey']), style() { const offset = 135; @@ -119,6 +119,17 @@ export default { if (this.fileFolderId > 0) { return true; } + if (this.routeName === 'manage-messenger') { + if (this.$route.params.dialogAction === 'contacts') { + if (this.messengerSearchKey.contacts) { + return true; + } + } else { + if (this.messengerSearchKey.dialog) { + return true; + } + } + } return false; }, @@ -138,6 +149,19 @@ export default { this.goForward({name: 'manage-file'}); return; } + if (this.routeName === 'manage-messenger') { + if (this.$route.params.dialogAction === 'contacts') { + if (this.messengerSearchKey.contacts) { + this.$store.state.messengerSearchKey.contacts = "" + return; + } + } else { + if (this.messengerSearchKey.dialog) { + this.$store.state.messengerSearchKey.dialog = "" + return; + } + } + } this.goBack(); }, diff --git a/resources/assets/js/pages/manage/messenger.vue b/resources/assets/js/pages/manage/messenger.vue index 47d1c2a0e..db020dbab 100644 --- a/resources/assets/js/pages/manage/messenger.vue +++ b/resources/assets/js/pages/manage/messenger.vue @@ -257,7 +257,7 @@ export default { }, computed: { - ...mapState(['cacheDialogs', 'loadDialogs', 'dialogId', 'appNotificationPermission']), + ...mapState(['cacheDialogs', 'loadDialogs', 'dialogId', 'messengerSearchKey', 'appNotificationPermission']), routeName() { return this.$route.name @@ -456,13 +456,22 @@ export default { immediate: true }, + messengerSearchKey: { + handler(obj) { + this.dialogSearchKey = obj.dialog + this.contactsKey = obj.contacts + }, + deep: true + }, + dialogSearchKey(val) { + this.$store.state.messengerSearchKey.dialog = val switch (val) { case 'log.o': - $A.IDBSet("logOpen", "open").then(_ => $A.reloadUrl()); + $A.IDBSet("logOpen", "open").then($A.reloadUrl); break; case 'log.c': - $A.IDBSet("logOpen", "close").then(_ => $A.reloadUrl()); + $A.IDBSet("logOpen", "close").then($A.reloadUrl); break; } // @@ -477,6 +486,7 @@ export default { }, contactsKey(val) { + this.$store.state.messengerSearchKey.contacts = val if (val == '') { return; } diff --git a/resources/assets/js/store/state.js b/resources/assets/js/store/state.js index e1e886533..a9bf4b9e1 100644 --- a/resources/assets/js/store/state.js +++ b/resources/assets/js/store/state.js @@ -86,6 +86,9 @@ export default { dialogInputCache: [], dialogMsgTransfer: {time: 0}, + // 搜索关键词(主要用于移动端判断滑动返回) + messengerSearchKey: {dialog: '', contacts: ''}, + // 文件 fileLists: [], fileLinks: [],