From ef52095f5e9f0a9fe2da779bb1573947d77d75b6 Mon Sep 17 00:00:00 2001
From: jhzh <1628036192@qq.com>
Date: Fri, 22 May 2026 10:53:01 +0800
Subject: [PATCH] 1
---
src/App.vue | 133 +++++++++++++++++++++++++++++++++----------
1 files changed, 101 insertions(+), 32 deletions(-)
diff --git a/src/App.vue b/src/App.vue
index d7c4695..ed225b4 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,6 +1,8 @@
<template>
- <div class="pt-5" >
- <router-view />
+ <div class="app-root">
+ <div class="app-content-wrap" :class="{ 'app-content-wrap--no-bottom-padding': noBottomPadding, 'app-content-wrap--account-change': accountChangeWrap }">
+ <router-view />
+ </div>
</div>
<fx-footer v-if="route.meta.tarbar" />
</template>
@@ -11,7 +13,7 @@
import { authorizedLogin } from "@/service/login.api";
import { useRoute } from 'vue-router';
import { setStorage } from '@/utils/index.js'
-import { onMounted } from 'vue'
+import { onMounted, computed } from 'vue'
import { useRouter } from 'vue-router';
import { useUserStore } from '@/store/user';
@@ -19,6 +21,21 @@
import { GET_USERINFO } from '@/store/types.store'
const router = useRouter()
const route = useRoute()
+
+// /quotes/index 页面不需要顶部 pt-5
+const applyTopPadding = computed(() => {
+ const path = route.path
+ return path !== '/quotes' && path !== '/quotes/index'
+})
+
+// 某些页面(如 aiDetail、airdrop)不需要底部 padding,由路由控制
+const noBottomPadding = computed(() => {
+ const path = route.path
+ return path === '/my/aiDetail' || path === '/my/airdrop'
+})
+
+// 账变记录页 .app-content-wrap 背景色 #F6F5FA
+const accountChangeWrap = computed(() => route.path === '/cryptos/accountChange')
const geturlkey = (name) => {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null;
@@ -31,13 +48,13 @@
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 () => {
@@ -97,6 +114,24 @@
@import "assets/init";
@import "assets/mixin";
@import "assets/css/variable.scss";
+ @import "assets/theme/index.scss";
+
+ .app-root {
+ min-height: 100vh;
+ background-color: #f6f5fa;
+ }
+ .app-content-wrap {
+ background-color: #ffffff;
+ border-radius: 12px 12px 0 0;
+ min-height: calc(100vh - 8px);
+ padding-bottom: 70px;
+ }
+ .app-content-wrap--no-bottom-padding {
+ padding-bottom: 0 !important;
+ }
+ .app-content-wrap--account-change {
+ background-color: #F6F5FA;
+ }
.nationList {
.van-action-sheet {
@@ -116,12 +151,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 {
@@ -134,13 +173,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 {
@@ -220,8 +263,9 @@
.list-quatation {
.van-cell {
padding: 15px 0 !important;
- background: $mainbgWhiteColor;
- // background: $inp-b;
+ @include themify() {
+ background: themed("main_background");
+ }
&::after {
border: none;
@@ -280,13 +324,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;
}
@@ -294,7 +342,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%;
}
@@ -337,24 +387,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,
@@ -363,20 +421,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 {
@@ -385,11 +450,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