1
jhzh
2026-05-22 ef52095f5e9f0a9fe2da779bb1573947d77d75b6
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;
@@ -29,13 +46,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 +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 {
@@ -114,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 {
@@ -132,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 {
@@ -218,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;
@@ -278,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;
      }
@@ -292,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%;
      }
@@ -335,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,
@@ -361,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 {
@@ -383,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");
         }
      }
   }