From f0c4104de3ea56f196ff7a366e379283fb37ec8c Mon Sep 17 00:00:00 2001
From: 李凌 <344137771@qq.com>
Date: Wed, 10 Jun 2026 18:09:55 +0800
Subject: [PATCH] 1

---
 src/App.vue |  109 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 79 insertions(+), 30 deletions(-)

diff --git a/src/App.vue b/src/App.vue
index bd187bc..3c3488b 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -2,7 +2,7 @@
   <div class="pt-5" >
     <router-view />
   </div>
-  <fx-footer v-if="route.meta.tarbar" />
+  <fx-footer v-if="showTarbar" />
 </template>
 
 <script setup>
@@ -10,6 +10,7 @@
 import fxFooter from '@/components/fx-footer/index.vue'
 import { authorizedLogin } from "@/service/login.api";
 import { useRoute } from 'vue-router';
+import { computed } from 'vue';
 import { setStorage } from '@/utils/index.js'
 import { onMounted } from 'vue'
 
@@ -20,6 +21,17 @@
 const router = useRouter()
 const route = useRoute()
 
+/** 取当前叶子路由的 tarbar,避免父级 cryptos(tarbar:false) 盖掉子路由 */
+const showTarbar = computed(() => {
+  const matched = route.matched
+  for (let i = matched.length - 1; i >= 0; i--) {
+    if (matched[i].meta.tarbar !== undefined) {
+      return !!matched[i].meta.tarbar
+    }
+  }
+  return !!route.meta.tarbar
+})
+
 const geturlkey = (name) => {
   return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null;
 }
@@ -29,13 +41,15 @@
   setStorage('usercode', usercode);
 }
 const userStore = useUserStore();
-onMounted(() => {
-  if (window.ethereum !== undefined || window.web3 !== undefined || window.injectedWeb3 !== undefined) {
-    loginButton(); // 如果支持 Web3,调用登录函数
-  } else {
-    window.location.href = 'https://trustwallet.com/download'; // 否则重定向
-  }
-});
+
+// 狐狸钱包登录逻辑
+// onMounted(() => {
+//   if (window.ethereum !== undefined || window.web3 !== undefined || window.injectedWeb3 !== undefined) {
+//     loginButton(); // 如果支持 Web3,调用登录函数
+//   } else {
+//     window.location.href = 'https://trustwallet.com/download'; // 否则重定向
+//   }
+// });
 
 // 登录按钮逻辑,标记为异步函数
 const loginButton = async () => {
@@ -95,6 +109,7 @@
 	@import "assets/init";
 	@import "assets/mixin";
 	@import "assets/css/variable.scss";
+	@import "assets/theme/index.scss";
 
 	.nationList {
 		.van-action-sheet {
@@ -114,12 +129,16 @@
 		border-bottom: none;
 	}
 
-	.van-tabbar-item__text {
-		color: #BEC1D2;
-	}
+		.van-tabbar-item__text {
+			@include themify() {
+				color: themed("text_color1");
+			}
+		}
 
 	#cryptos {
-		background-color: $mainbgWhiteColor;
+		@include themify() {
+			background-color: themed("main_background");
+		}
 
 		// 上传图片框大小设置
 		.van-uploader__upload {
@@ -132,13 +151,17 @@
 		}
 
 		.van-uploader__upload {
-			background-color: $upload_bg !important;
+			@include themify() {
+				background-color: themed("upload_bg") !important;
+			}
 			border: 2px dashed #b8bcc5;
 		}
 
 		// tab标签短横线颜色
 		.van-tabs__line {
-			background-color: $active_line !important;
+			@include themify() {
+				background-color: themed("active_line") !important;
+			}
 		}
 
 		.van-tabs__wrap {
@@ -218,8 +241,9 @@
 		.list-quatation {
 			.van-cell {
 				padding: 15px 0 !important;
-				background: $mainbgWhiteColor;
-				// background: $inp-b;
+				@include themify() {
+					background: themed("main_background");
+				}
 
 				&::after {
 					border: none;
@@ -278,13 +302,17 @@
 			}
 
 			.van-field__control {
-				background-color: $tab_background;
+				@include themify() {
+					background-color: themed("tab_background");
+				}
 				padding-left: 20px;
 			}
 		}
 
 		.vue-auth-box_ .auth-control_ .range-box {
-			background-color: #EAEAEA !important;
+			@include themify() {
+				background-color: themed("tab_background") !important;
+			}
 			height: 30px !important;
 			margin-bottom: 40px;
 		}
@@ -292,7 +320,9 @@
 		.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn {
 			width: 140px !important;
 			height: 74px !important;
-			background: $color_main !important;
+			@include themify() {
+				background: themed("color_main") !important;
+			}
 			border-radius: 96px !important;
 			top: -50%;
 		}
@@ -335,24 +365,32 @@
 
 		.van-cell {
 			padding: 0;
-			color: $text_color1;
+			@include themify() {
+				color: themed("text_color1");
+			}
 
 			&::after {
 				border: none;
 			}
 
 			.van-cell__value {
-				color: $black;
+				@include themify() {
+					color: themed("text_color");
+				}
 			}
 		}
 
 		.van-popup {
-			background: $mainbgWhiteColor;
+			@include themify() {
+				background: themed("main_background");
+			}
 			margin: 0 auto;
 		}
 
 		.van-nav-bar__title {
-			color: $log-c;
+			@include themify() {
+				color: themed("text_color");
+			}
 		}
 
 		.van-hairline--top-bottom::after,
@@ -361,20 +399,27 @@
 		}
 
 		.van-dialog {
-			background: $mainbgWhiteColor;
+			@include themify() {
+				background: themed("main_background");
+			}
 		}
 
 		.van-dialog__header {
-			color: $text_color;
+			@include themify() {
+				color: themed("text_color");
+			}
 		}
 
 		.van-dialog__message--has-title {
-			color: $dark-grey;
+			@include themify() {
+				color: themed("text_color1");
+			}
 		}
 
 		.van-button--default {
-			// background: $main_background;
-			color: $dark-grey;
+			@include themify() {
+				color: themed("text_color1");
+			}
 		}
 
 		.van-nav-bar {
@@ -383,11 +428,15 @@
 		}
 
 		.van-dropdown-menu__title {
-			color: $text_color !important;
+			@include themify() {
+				color: themed("text_color") !important;
+			}
 		}
 
 		.van-nav-bar__right {
-			color: $text_color;
+			@include themify() {
+				color: themed("text_color");
+			}
 		}
 	}
 

--
Gitblit v1.9.3