From 95194585d2ce64e98a868a7488401b3f73d0a888 Mon Sep 17 00:00:00 2001
From: ZF sun <34314687@qq.com>
Date: Sat, 27 Jun 2026 13:46:29 +0800
Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=BB=9F=E4=B8=80=E6=9B=BF?=
=?UTF-8?q?=E6=8D=A2=E5=B0=8F=E7=A8=8B=E5=BA=8F=E4=BA=8B=E4=BB=B6=E7=BB=91?=
=?UTF-8?q?=E5=AE=9A=E4=B8=BA@tap=E5=B9=B6=E4=BC=98=E5=8C=96=E8=B7=B3?=
=?UTF-8?q?=E8=BD=AC=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
1. 全局替换@click为@tap以适配uni-app事件规范
2. 优化toLogin方法的路由获取逻辑,增加空值判断
3. 重构redirectTo跳转逻辑,统一tab页跳转使用reLaunch确保页面栈正确
---
common/js/util.js | 12 +++++++---
components/ns-login/ns-login.vue | 34 +++++++++++++--------------
pages/index/index.vue | 4 ++--
pages_tool/member/balance.vue | 2 +-
pages_tool/member/index.vue | 14 +++++------
pages_tool/member/point.vue | 2 +-
pages_tool/member/public/js/common.js | 4 +++-
7 files changed, 40 insertions(+), 32 deletions(-)
diff --git a/common/js/util.js b/common/js/util.js
index b37e28b..c67729b 100644
--- a/common/js/util.js
+++ b/common/js/util.js
@@ -477,8 +477,13 @@ export default {
for (let i = 0; i < systemTabBarList.length; i++) {
const tabBarUrl = systemTabBarList[i];
if (url.indexOf(tabBarUrl) == 0) {
- // 首页特殊处理,采用switchTab, 其他页面采用redirectTo, 不能返回,不能退回
- (tabBarUrl == INDEX_PAGE_URL ? uni.switchTab : uni.redirectTo)({ url });
+ // 首页使用switchTab(pages.json中注册的tabBar页面),其他tab页面使用reLaunch
+ // reLaunch关闭所有页面再打开目标页,确保页面栈与浏览器历史一致,避免返回按钮异常
+ if (tabBarUrl == INDEX_PAGE_URL) {
+ uni.switchTab({ url });
+ } else {
+ uni.reLaunch({ url });
+ }
return;
}
}
@@ -499,7 +504,8 @@ export default {
if (isDiyTabRoot) {
const adaptedUrl = adaptSubpackageUrl(cleanUrl);
const inSystemTabBar = systemTabBarList.some(sysUrl => adaptedUrl === sysUrl || cleanUrl === sysUrl);
- const navApi = inSystemTabBar ? uni.switchTab : uni.redirectTo;
+ // 首页用switchTab,其他DIY tab根页用reLaunch确保页面栈干净
+ const navApi = inSystemTabBar ? (adaptedUrl === INDEX_PAGE_URL ? uni.switchTab : uni.reLaunch) : uni.reLaunch;
navApi({
url,
fail: (err) => {
diff --git a/components/ns-login/ns-login.vue b/components/ns-login/ns-login.vue
index e50a286..da40ebb 100644
--- a/components/ns-login/ns-login.vue
+++ b/components/ns-login/ns-login.vue
@@ -9,7 +9,7 @@
{{ $lang('components.ns-login.bindMobileTitle') }}
{{ $lang('components.ns-login.bindMobileTip') }}
-
+
{{ $lang('components.ns-login.mobileLabel') }}
@@ -18,16 +18,16 @@
{{ $lang('components.ns-login.captchaLabel') }}
-
+
{{ $lang('components.ns-login.dynacodeLabel') }}
- {{ dynacodeData.codeText }}
-
+ {{ dynacodeData.codeText }}
+
-
+
@@ -37,21 +37,21 @@
{{ forceBindingMobileControl ? $lang('components.ns-login.loginWithMobile') : $lang('components.ns-login.registerLogin') }}
{{ $lang('components.ns-login.getServicesTip') }}
-
+
-
- {{ $lang('components.ns-login.agree') }}
- {{ $lang('components.ns-login.privacyPolicy') }}
- {{ $lang('components.ns-login.userServiceAgreement') }}
-
+ @tap="isAgree = !isAgree">
+
+ {{ $lang('components.ns-login.agree') }}
+ {{ $lang('components.ns-login.privacyPolicy') }}
+ {{ $lang('components.ns-login.userServiceAgreement') }}
+
@@ -62,12 +62,12 @@
-
-
{{ $lang('components.ns-login.notNow') }}
@@ -115,7 +115,7 @@
{{ $lang('components.ns-login.getMobile') }}
- {{ $lang('components.ns-login.save') }}
+ {{ $lang('components.ns-login.save') }}
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 27f511d..48930e7 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -52,12 +52,12 @@
-
-
+
diff --git a/pages_tool/member/balance.vue b/pages_tool/member/balance.vue
index 082922f..a4f5325 100644
--- a/pages_tool/member/balance.vue
+++ b/pages_tool/member/balance.vue
@@ -6,7 +6,7 @@
'height': menuButtonBounding.height + 'px'
}">
-
+
{{ $lang('member.balance.navbarTitle') }}
diff --git a/pages_tool/member/index.vue b/pages_tool/member/index.vue
index 0eccc33..f2b075a 100644
--- a/pages_tool/member/index.vue
+++ b/pages_tool/member/index.vue
@@ -20,18 +20,18 @@
@@ -41,9 +41,9 @@
+ @tap="uniPopupWindowFn()" mode="aspectFit" show-menu-by-longpress/>
-
+
@@ -58,7 +58,7 @@
diff --git a/pages_tool/member/point.vue b/pages_tool/member/point.vue
index 27fa403..a7126d9 100644
--- a/pages_tool/member/point.vue
+++ b/pages_tool/member/point.vue
@@ -7,7 +7,7 @@
}"
>
-
+
{{ $lang('member.point.title') }}
diff --git a/pages_tool/member/public/js/common.js b/pages_tool/member/public/js/common.js
index eb43c40..a5f4df1 100644
--- a/pages_tool/member/public/js/common.js
+++ b/pages_tool/member/public/js/common.js
@@ -2,7 +2,9 @@ export default {
methods: {
// 跳转至登录页
toLogin(url) {
- this.$refs.login.open(url ?? this.$util.getCurrentRoute());
+ const currentRoute = this.$util.getCurrentRoute();
+ const backUrl = url ?? (currentRoute && currentRoute.path ? currentRoute.path : '');
+ this.$refs.login.open(backUrl);
}
}
}
\ No newline at end of file