From 17c16ec9c8722272ed4f5ebf1e9db80052a612f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?TOP=E7=B3=AF=E7=B1=B3?= <1130395124@qq.com> Date: Sun, 12 Mar 2023 17:05:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/auth/login-box.vue | 14 +++++++++++++- src/core/libs/utils.js | 2 +- src/pages/auth/auth.vue | 16 +++++++++++++++- src/pages/member/setting.vue | 8 ++++++-- 4 files changed, 35 insertions(+), 5 deletions(-) diff --git a/src/components/auth/login-box.vue b/src/components/auth/login-box.vue index 12e26f5..015c89a 100644 --- a/src/components/auth/login-box.vue +++ b/src/components/auth/login-box.vue @@ -28,11 +28,23 @@ export default { mounted() {}, destroyed() {}, methods: { + /** + * 关闭弹窗 + * 如果在tabBar页面则relaunch,否则返回 + */ closeModal() { this.$store.commit("user/showLoginModal", false); + if (getCurrentPages().length <= 1) { + this.$utils.toPage("/pages/index/index", {}, "relaunch"); + } else { + this.$utils.toPage("", {}, "back"); + } }, + /** + * 登录页面 + */ toLogin() { - this.closeModal(); + this.$store.commit("user/showLoginModal", false); this.$utils.toPage("/pages/auth/auth"); }, }, diff --git a/src/core/libs/utils.js b/src/core/libs/utils.js index 913b611..5d531e0 100644 --- a/src/core/libs/utils.js +++ b/src/core/libs/utils.js @@ -169,7 +169,7 @@ function toPage(url, options, type) { currentPage.onShow(currentPage.options); break; case "back": - uni.navigateBack({ delta: 1 }); + uni.navigateBack({ ...{ delta: 1 }, ...options }); break; case "relaunch": uni.reLaunch(params); diff --git a/src/pages/auth/auth.vue b/src/pages/auth/auth.vue index 7c7d9c7..a83f6c3 100644 --- a/src/pages/auth/auth.vue +++ b/src/pages/auth/auth.vue @@ -185,7 +185,21 @@ export default { }) .then((response) => { this.$store.dispatch("user/info"); - this.$utils.toPage("", {}, "back"); + this.$utils.toPage( + "", + { + complete() { + let pages = getCurrentPages(); + let refer = pages[pages.length - 2]; + if (typeof refer !== "undefined") { + if (typeof refer.initPage !== "undefined") { + refer.initPage(refer.options); + } + } + }, + }, + "back" + ); }) .catch((e) => { this.$utils.toast(e); diff --git a/src/pages/member/setting.vue b/src/pages/member/setting.vue index 4d89cd2..d9cfa95 100644 --- a/src/pages/member/setting.vue +++ b/src/pages/member/setting.vue @@ -8,7 +8,7 @@ v1.02 - + 密码管理 @@ -68,7 +68,11 @@ export default { onReady() {}, onReachBottom() {}, onPullDownRefresh() {}, - methods: {}, + methods: { + toPage(url) { + this.$utils.toPage(url); + }, + }, };