From 6bf51a5315bf33a5a7997bdef987559bd2998a40 Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Tue, 06 Jan 2026 10:47:15 +0800
Subject: [PATCH] 10.10

---
 src/App.vue |  366 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 356 insertions(+), 10 deletions(-)

diff --git a/src/App.vue b/src/App.vue
index a6241f0..155528d 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -1,15 +1,361 @@
 <template>
-  <transition name="fade">
-    <router-view></router-view>
-  </transition>
+  <div>
+    <router-view v-slot="{ Component }">
+      <keep-alive>
+        <component :key="route.name" :is="Component" v-if="route.meta.keepAlive" />
+      </keep-alive>
+      <component :key="route.name" :is="Component" v-if="!route.meta.keepAlive" />
+    </router-view>
+  </div>
+  <fx-footer v-if="route.meta.tarbar" />
 </template>
 
-<script>
-export default {
-  computed: {
-    key () {
-      return this.$route.path + Math.random()
-    }
+<script setup>
+import { onMounted } from 'vue'
+import fxFooter from "@/components/fx-footer/index.vue";
+import { useRoute } from "vue-router";
+import { setStorage, getStorage } from "@/utils/index.js";
+import { SET_THEME, SET_COIN_LIST } from "@/store/types.store";
+import { themeStore } from "@/store/theme";
+import { useQuotesStore } from '@/store/quotes.store';
+
+
+const quotesStore = useQuotesStore()
+const route = useRoute();
+const thStore = themeStore();
+const geturlkey = (name) => {
+  return (
+    decodeURIComponent(
+      (new RegExp("[?|&]" + name + "=" + "([^&;]+?)(&|#|;|$)").exec(location.href) || [
+        ,
+        "",
+      ])[1].replace(/\+/g, "%20")
+    ) || null
+  );
+};
+let usercode = geturlkey("usercode");
+if (usercode) {
+  setStorage("usercode", usercode);
+}
+thStore[SET_THEME]("white", false); // dark white
+//设置主题
+if (!getStorage("theme")) {
+  thStore[SET_THEME]("dark", true);
+} else {
+  thStore[SET_THEME](thStore.theme, false);
+}
+
+const timeConvert = () => {
+  _timeConvert().then(res => {
+    setStorage('timezone', res.showTimeZone)
+  })
+}
+onMounted(async () => {
+  await quotesStore[SET_COIN_LIST]()
+})
+</script>
+<style lang="scss">
+.nationList {
+  .van-action-sheet {
+    height: 80%;
   }
 }
-</script>
+
+
+.van-dialog {
+  width: var(--van-dialog-width) !important;
+}
+
+.van-icon-arrow-left {
+  color: $text_color !important;
+}
+
+.van-nav-bar::after {
+  border-bottom: none;
+}
+
+.van-tabbar-item__text {
+  color: #bec1d2;
+}
+
+#app {
+  .van-popup {
+    background: $main_background !important;
+    margin: 0 auto;
+  }
+}
+
+#cryptos {
+
+  // 上传图片框大小设置
+  .van-uploader__upload {
+    width: 140px !important;
+    height: 140px !important;
+  }
+
+  .van-uploader__upload-icon {
+    font-size: 48px !important;
+  }
+
+  .van-uploader__upload {
+    background-color: $upload_bg !important;
+    border: 2px dashed #b8bcc5;
+  }
+
+  // tab标签短横线颜色
+  .van-tabs__line {
+    background-color: $active_line !important;
+  }
+
+  .van-tabs__wrap {
+    // height: 88px !important;
+  }
+
+  .van-tab__text--ellipsis {
+    overflow: visible !important;
+    -webkit-box-orient: horizontal !important; //修复K线tab标题文字显示不全
+  }
+
+  .van-tab__text {
+    font-size: 16px !important;
+  }
+
+  .vux-pop-out-enter-active,
+  .vux-pop-out-leave-active,
+  .vux-pop-in-enter-active,
+  .vux-pop-in-leave-active {
+    will-change: transform;
+    transition: all 250ms;
+    height: 100%;
+    top: 0;
+    position: absolute;
+    backface-visibility: hidden;
+    perspective: 1000;
+  }
+
+  .vux-pop-out-enter {
+    opacity: 0;
+    transform: translate3d(-100%, 0, 0);
+  }
+
+  .vux-pop-out-leave-active {
+    opacity: 0;
+    transform: translate3d(100%, 0, 0);
+  }
+
+  .vux-pop-in-enter {
+    opacity: 0;
+    transform: translate3d(100%, 0, 0);
+  }
+
+  .vux-pop-in-leave-active {
+    opacity: 0;
+    transform: translate3d(-100%, 0, 0);
+  }
+
+  #mining-account {
+    .van-grid-item__content {
+      padding: 41px 0;
+    }
+  }
+
+  .upload-wrap {
+    .van-uploader__preview {
+      margin: 0 !important;
+    }
+  }
+
+  .popup-delivery {
+    .van-circle {
+      // width: 300px !important;
+      // height: 300px !important;
+    }
+
+    .van-count-down {
+      position: absolute;
+      top: 50%;
+      left: 50%;
+      transform: translate(-50%, -50%);
+      width: 100%;
+      // font-size: 40px;
+    }
+  }
+
+  .list-quatation {
+    .van-cell {
+      padding: 15px 0 !important;
+      background: $main_background;
+
+      &::after {
+        border: none;
+      }
+    }
+  }
+
+  .quotes {
+    .van-tabs__line {
+      width: 120px !important;
+    }
+  }
+
+  .nationList {
+    .van-action-sheet {
+      height: 80%;
+    }
+  }
+
+  #withdraw_verify {
+    .van-field-word-limit-line-height {
+      height: 30px;
+    }
+  }
+
+  #editAd {
+    .van-dropdown-menu__item {
+      justify-content: left;
+    }
+
+    .van-dropdown-menu__title::after {
+      right: -200px;
+      border-color: #3c507100 transparent #323233f7 #36689a;
+    }
+
+    //.van-cell{
+    //  background-color: #eee;
+    //}
+    .bg {
+      .van-cell {
+        background-color: $mainTextColor;
+      }
+    }
+  }
+
+
+  #wantBuy {
+    .van-popover__action {
+      width: 320px;
+    }
+  }
+
+  .adScreening {
+    .van-cell {
+      line-height: 50px;
+    }
+
+    .van-field__control {
+      background-color: $tab_background;
+      padding-left: 20px;
+    }
+  }
+
+  .vue-auth-box_ .auth-control_ .range-box {
+    background-color: #eaeaea !important;
+    height: 30px !important;
+    margin-bottom: 40px;
+  }
+
+  .vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn {
+    width: 140px !important;
+    height: 74px !important;
+    background: $color_main !important;
+    border-radius: 96px !important;
+    top: -50%;
+  }
+
+  .vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn>div {
+    border: solid 1px $mainTextColor !important;
+    border-radius: 4px;
+  }
+
+  .van-toast {
+    width: 300px;
+  }
+
+  .van-toast__text {
+    word-break: break-word;
+  }
+
+  .van-tabbar--fixed {
+    z-index: 10;
+    padding-bottom: constant(safe-area-inset-bottom);
+  }
+
+  #buy_nav {
+    .van-nav-bar__title {
+      font-size: 18px !important;
+    }
+  }
+
+  .van-cell-group {
+    &::after {
+      border: none;
+    }
+  }
+
+  .van-collapse {
+    &::after {
+      border: none;
+    }
+  }
+
+  .van-cell {
+    padding: 0;
+    color: $text_color1;
+
+    &::after {
+      border: none;
+    }
+
+    .van-cell__value {
+      color: $black;
+    }
+  }
+
+  .van-nav-bar__title {
+    color: $text_color;
+  }
+
+  .van-hairline--top-bottom::after,
+  .van-hairline-unset--top-bottom::after {
+    border: none;
+  }
+
+  .van-dialog {
+    background: $main_background;
+  }
+
+  .van-dialog__header {
+    color: $text_color;
+  }
+
+  .van-dialog__message--has-title {
+    color: $dark-grey;
+  }
+
+  .van-button--default {
+    background: $main_background;
+    color: $dark-grey;
+  }
+
+  .van-nav-bar {
+    background: $main_background;
+    line-height: normal;
+  }
+
+  .van-dropdown-menu__title {
+    color: $text_color !important;
+  }
+
+  .van-nav-bar__right {
+    color: $text_color;
+  }
+}
+
+.van-nav-bar__left {
+  padding: 0 16px !important;
+}
+
+.header {
+  padding-top: 8px !important;
+}
+</style>

--
Gitblit v1.9.3