Просмотр исходного кода

feat: 优化返回导航功能,增加错误处理和重定向到首页的逻辑

mcbaiyun 3 недель назад
Родитель
Сommit
7ca7fa230a
1 измененных файлов с 28 добавлено и 1 удалено
  1. 28 1
      src/components/custom-nav.vue

+ 28 - 1
src/components/custom-nav.vue

@@ -94,7 +94,34 @@ const handleLeft = () => {
   }
 
   if (t === 'back') {
-    uni.navigateBack()
+    try {
+      uni.navigateBack({
+        delta: 1,
+        fail: (err: any) => {
+          console.warn('[custom-nav] navigateBack failed, redirecting to home', err)
+          try {
+            uni.switchTab({ url: '/pages/public/index/index' })
+          } catch (e1) {
+            try {
+              uni.reLaunch({ url: '/pages/public/index/index' })
+            } catch (e2) {
+              uni.navigateTo({ url: '/pages/public/index/index' })
+            }
+          }
+        }
+      })
+    } catch (err) {
+      console.error('[custom-nav] navigateBack exception, redirecting to home', err)
+      try {
+        uni.switchTab({ url: '/pages/public/index/index' })
+      } catch (e1) {
+        try {
+          uni.reLaunch({ url: '/pages/public/index/index' })
+        } catch (e2) {
+          uni.navigateTo({ url: '/pages/public/index/index' })
+        }
+      }
+    }
   }
 }
 </script>