1
admin
2026-03-09 1201bf91b3dcac3f5b69c755ff2e54c362956467
src/App.vue
@@ -1,6 +1,8 @@
<template>
  <div class="pt-5" >
  <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;
@@ -99,6 +116,23 @@
   @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 {
         height: 80%;