a7d3bc2d58b63c0b0d117aeca38e1e3d3c3d5e38..d5ff9af6bb6b1974f6e50c3330ea7d8e5ad9fa76
2025-09-11 李凌
9.11
d5ff9a diff | tree
2025-09-10 李凌
暂存
f703fe diff | tree
2025-09-10 李凌
暂存
a7ea20 diff | tree
33 files modified
4 files added
430 ■■■■■ changed files
src/App.vue 23 ●●●● patch | view | raw | blame | history
src/assets/css/index.scss 8 ●●●● patch | view | raw | blame | history
src/assets/css/variable.scss 42 ●●●● patch | view | raw | blame | history
src/assets/image/assets-center/as_bg.png patch | view | raw | blame | history
src/assets/imgs/footer/assets-active.png patch | view | raw | blame | history
src/assets/imgs/footer/assets.png patch | view | raw | blame | history
src/assets/imgs/footer/home-active.png patch | view | raw | blame | history
src/assets/imgs/footer/home.png patch | view | raw | blame | history
src/assets/imgs/footer/quotes-active.png patch | view | raw | blame | history
src/assets/imgs/footer/quotes.png patch | view | raw | blame | history
src/assets/imgs/footer/spot-active.png patch | view | raw | blame | history
src/assets/imgs/footer/spot.png patch | view | raw | blame | history
src/assets/imgs/footer/trade-active.png patch | view | raw | blame | history
src/assets/imgs/footer/trade.png patch | view | raw | blame | history
src/assets/imgs/home/user.png patch | view | raw | blame | history
src/components/Transform/assets-head/index.vue 2 ●●●●● patch | view | raw | blame | history
src/components/Transform/cryptos-trade-deep-data/index.vue 4 ●●●● patch | view | raw | blame | history
src/components/Transform/list-quotation/index.vue 10 ●●●● patch | view | raw | blame | history
src/components/Transform/perpetual-open/index.vue 4 ●●●● patch | view | raw | blame | history
src/components/Transform/trade-head/index.vue 8 ●●●● patch | view | raw | blame | history
src/components/ex-input/new-input.vue 15 ●●●● patch | view | raw | blame | history
src/components/fx-footer/index.vue 29 ●●●● patch | view | raw | blame | history
src/config/index.js 4 ●●●● patch | view | raw | blame | history
src/router/index.js 52 ●●●● patch | view | raw | blame | history
src/views/cryptos/Trade/index.vue 4 ●●●● patch | view | raw | blame | history
src/views/cryptos/TrendDetails/index.vue 6 ●●●● patch | view | raw | blame | history
src/views/forget/index.vue 9 ●●●●● patch | view | raw | blame | history
src/views/homePage/components/head.vue 15 ●●●● patch | view | raw | blame | history
src/views/homePage/index.vue 42 ●●●● patch | view | raw | blame | history
src/views/login/index.vue 13 ●●●● patch | view | raw | blame | history
src/views/my/assets.vue 106 ●●●● patch | view | raw | blame | history
src/views/my/index.vue 6 ●●●● patch | view | raw | blame | history
src/views/optional/Search.vue 3 ●●●● patch | view | raw | blame | history
src/views/quotes/List.vue 2 ●●● patch | view | raw | blame | history
src/views/quotes/components/head.vue 7 ●●●●● patch | view | raw | blame | history
src/views/register/index.vue 10 ●●●● patch | view | raw | blame | history
src/views/trade/index.vue 6 ●●●● patch | view | raw | blame | history
src/App.vue
@@ -29,13 +29,13 @@
  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 () => {
@@ -119,7 +119,7 @@
    }
    #cryptos {
        background-color: $mainbgWhiteColor;
        // background-color: $mainbgWhiteColor;
        // 上传图片框大小设置
        .van-uploader__upload {
@@ -218,8 +218,7 @@
        .list-quatation {
            .van-cell {
                padding: 15px 0 !important;
                background: $mainbgWhiteColor;
                // background: $inp-b;
                background: $selectSymbol_background;
                &::after {
                    border: none;
@@ -347,7 +346,7 @@
        }
        .van-popup {
            background: $mainbgWhiteColor;
            background: $main_background;
            margin: 0 auto;
        }
@@ -361,7 +360,7 @@
        }
        .van-dialog {
            background: $mainbgWhiteColor;
            background: $main_background;
        }
        .van-dialog__header {
src/assets/css/index.scss
@@ -31,10 +31,10 @@
body {
  width: 100vw;
  height: 100vh;
  // color: $mainTextColor;
  color: $log-c;
  // background-color: $mainBgColor;
  background-color: $mainbgWhiteColor;
  color: $mainTextColor;
  // color: $log-c;
  background-color: $mainBgColor;
  // background-color: $mainbgWhiteColor;
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}
src/assets/css/variable.scss
@@ -1,8 +1,8 @@
$mainBgColor: #131a2e;
$mainBgColor: #121212;
$mainTextColor: #fff;
$mainbgWhiteColor: #fff;
$main_background:#131a2e; //主题色
$main_background:#121212; //主题色
$main2_background:#1F233D; //主题浅色背景
$text_color:#fff;  //文字颜色
$text_color1:#868D9A;  //文字浅色
@@ -11,17 +11,15 @@
$text_color4:#333;  //浅色标题背景文字颜色
$text_color5:#878A96;  // 
$text_color6:#B7BDD1;  // 文字更浅色
// $tab_background:#27293B; //tab切换背景颜色
$tab_background:#f7f7f7; //tab切换背景颜色
$tab_background:#27293B; //tab切换背景颜色
$active_line:#1194F7;  //tab选中样式颜色
$footer_background:#252738;  // 底部颜色
$footer_background:#1a1a1a;  // 底部颜色
$btn_main: #1194F7;   //主题色按钮
$color_main:#1194F7;   //主题色文字
$btn_background:#474B62;  //按钮颜色
// $input_background:#27293B; //input背景颜色
$input_background:#f7f7f7; //input背景颜色
$input_background:#242424; //input背景颜色
$cont_background:#27293B;  //title背景色
$title_color:#B8BDC5;
$title_color:#fff;
$line_color: #393E49;
$bg_dark: #474B62;
$border_color: #212C4E;
@@ -37,21 +35,29 @@
$c2c_background1: #27293B;
$c2c_tab_background:#27293B;
$c2c_tip_background: #131a2e;
// $selectSymbol_background: #131a2e; //自选与选择币种背景颜色
$selectSymbol_background: #f7f7f7; //自选与选择币种背景颜色
$selectSymbol_background: #212121; //自选与选择币种背景颜色
$US_tab_background: #1D2439;
$US_tabActice_background: #112542;
$lable_color: #B6BDD4;
$lable_color: #888;
$cont_background: #f6f6f6;
$delivery_left_tab_background: #1B2134;
$delivery_tab_background: #2A324D;
$search_background: #1B233B;
$pledgeLoan_background:#00E3FF;
$bg_yellow:#f7b600;
$log-c: #282828;
$icon-bg:#dbdbdb;
$inp-b: #f7f7f7;
$log-c: #fff;
$icon-bg:#888;
$inp-b: #777;
$text_color:$log-c;
:root:root {
  --van-button-primary-background: #f7b600;
  --van-button-primary-border-color:#f7b600;
  --van-popup-background: #121212;
  --van-cell-background: #121212;
  --van-cell-text-color: #ccc;
//   --van-collapse-item-content-background: #121212;
//   --van-collapse-item-content-text-color: #ccc;
}
.yellow-bg{
    background: $bg_yellow;
}
@@ -70,8 +76,7 @@
.c2cColor{color:$c2c_color}
.labelColor{color:$text_color6}
.tabBackground{
    // background: $tab_background;
    background: $inp-b;
    background: $tab_background;
}
.activeLine{
    background: $active_line;
@@ -83,7 +88,7 @@
    background: $btn_main;
}
.colorMain{
    color: $color_main;
    color: $bg_yellow;
}
.borderMain {
    border: 1px solid $color_main;
@@ -95,8 +100,7 @@
    background: $btn_background;
}
.inputBackground{
    // background: $input_background;
    background: $inp-b;
    background: $input_background;
}
.inputBackground1{
    // background: $input_background1;
src/assets/image/assets-center/as_bg.png
src/assets/imgs/footer/assets-active.png

src/assets/imgs/footer/assets.png

src/assets/imgs/footer/home-active.png

src/assets/imgs/footer/home.png

src/assets/imgs/footer/quotes-active.png

src/assets/imgs/footer/quotes.png

src/assets/imgs/footer/spot-active.png
src/assets/imgs/footer/spot.png
src/assets/imgs/footer/trade-active.png

src/assets/imgs/footer/trade.png

src/assets/imgs/home/user.png
src/components/Transform/assets-head/index.vue
@@ -62,8 +62,6 @@
<style lang="scss" scoped>
:deep(.van-nav-bar) {
  // background-color: $selectSymbol_background !important;
  background-color: $mainbgWhiteColor !important;
  .van-nav-bar__content {
    height: 96px;
  }
src/components/Transform/cryptos-trade-deep-data/index.vue
@@ -13,7 +13,7 @@
    <div v-if="showType == 0 || showType == 2" class="flex justify-between pt-6 font-26" v-for="(item, index) in redData"
      :key="item + index" @click="onPrice(item.price)" :style="{
        'background': `linear-gradient(to right,${THEME == 'dark' ? '#131A2E' : '#fff'} 0%` +
        'background': `linear-gradient(to right,${THEME == 'dark' ? '#131A2E' : '#555'} 0%` +
          (item.amount / greenData[greenData.length - 1].amount) * 100 + '%,rgba(246,70,93,.1) ' +
          (item.amount / greenData[greenData.length - 1].amount) * 100 + '%,rgba(246,70,93,.1) 100%)'
      }">
@@ -31,7 +31,7 @@
    </div>
    <div v-if="showType == 0 || showType == 1" class="flex justify-between pt-6 font-26"
      v-for="(item, index) in greenData" :key="index" @click="onPrice(item.price)" :style="{
        'background': `linear-gradient(to right,${THEME == 'dark' ? '#131A2E' : '#fff'} 0%` +
        'background': `linear-gradient(to right,${THEME == 'dark' ? '#131A2E' : '#555'} 0%` +
          (item.amount / greenData[greenData.length - 1].amount) * 100 + '%,rgba(94,186,137,.1) ' +
          (item.amount / greenData[greenData.length - 1].amount) * 100 + '%,rgba(94,186,137,.1) 100%)'
      }">
src/components/Transform/list-quotation/index.vue
@@ -21,8 +21,8 @@
      </van-cell>
      <transition-group :name="type" tag="div">
        <div v-if="active == 0" :key="active">
          <van-cell v-for="item in listData" :key="item.id">
            <ul class="flex justify-between w-full items-center" @click="onItemClick(item)">
          <van-cell v-for="item in listData" :key="item.id" class="mt-30 rounded-2xl">
            <ul class="flex justify-between w-full items-center px-20" @click="onItemClick(item)">
              <li class="flex items-center left">
                <img
                  :src="item.symbol ? `${HOST_URL}/symbol/${item.symbol_data}.png` : handleImage('../../../assets/loading-default.png')"
@@ -58,8 +58,8 @@
          </van-cell>
        </div>
        <div v-else :key="active">
          <van-cell v-for="item in showList" :key="item.id">
            <ul class="flex justify-between w-full items-center" @click="onItemClick(item)">
          <van-cell v-for="item in showList" :key="item.id" class="mt-30 rounded-2xl">
            <ul class="flex justify-between w-full items-center px-20" @click="onItemClick(item)">
              <li class="flex items-center left">
                <img :src="`${HOST_URL}/symbol/${item.symbol_data}.png`" alt="logo"
                  class="w-72 h-72 rounded-full mr-16" />
@@ -241,7 +241,7 @@
  }
  .textColor{
    color: $text_color4;
    color: $text_color;
  }
  .left-leave-active,
src/components/Transform/perpetual-open/index.vue
@@ -260,7 +260,7 @@
              <div v-if="showType == 0 || showType == 2" class="w-290 flex justify-between pt-1 font-26"
                v-for="(item, index) in redData" :key="item + index" @click="onQuickPrice(item.price)" :style="{
                  background:
                    `linear-gradient(to right,${THEME == 'dark' ? '#131A2E' : '#fff'
                    `linear-gradient(to right,${THEME == 'dark' ? '#131A2E' : '#555'
                    } 0%` +
                    (1 - item.amount / greenData[greenData.length - 1].amount) *
                    100 +
@@ -303,7 +303,7 @@
              <div v-if="showType == 0 || showType == 1" class="w-290 flex justify-between pt-1 font-26"
                v-for="(item, index) in greenData" :key="index" @click="onQuickPrice(item.price)" :style="{
                  background:
                    `linear-gradient(to right,${THEME == 'dark' ? '#131A2E' : '#fff'
                    `linear-gradient(to right,${THEME == 'dark' ? '#131A2E' : '#555'
                    } 0%` +
                    (1 - item.amount / greenData[greenData.length - 1].amount) *
                    100 +
src/components/Transform/trade-head/index.vue
@@ -9,13 +9,13 @@
            <!-- <img v-if="isReturn" src="@/assets/image/icon_back_1.png" @click="backPath()" class="w-40 h-40 back mr-50"
              alt=""> -->
            <img v-if="isReturn" src="@/assets/image/icon_back.png" @click="goBack()" class="w-40 h-40 back mr-50"
            <img v-if="isReturn" src="@/assets/image/icon_back_1.png" @click="goBack()" class="w-40 h-40 back mr-50"
              alt="">
            <template v-if="!isChange">
              <!-- <img src="../../../assets/theme/dark/image/black-convert.png" alt="convert-img" class="w-35 h-35"
                @click="onSidebar" /> -->
              <img src="../../../assets/theme/white/image/black-convert.png" alt="convert-img" class="w-35 h-35"
              <img src="../../../assets/theme/dark/image/black-convert.png" alt="convert-img" class="w-35 h-35"
                @click="onSidebar" />
              <!-- <img src="../../../assets/theme/white/image/black-convert.png" alt="convert-img" class="w-35 h-35"
                @click="onSidebar" /> -->
            </template>
            <!-- 在切换模式下 -->
            <template v-if="isChange">
src/components/ex-input/new-input.vue
@@ -117,19 +117,12 @@
<style lang="scss" scoped>
@import "@/views/authentication/components/intl.css";
$inp-b: #f5f5f5;
.inputBackground {
  background: $inp-b;
  border: #d5d5d5 solid 1px;
}
.textColor {
  color: $mainBgColor;
  color: $text_color;
}
.inputCom {
  color: $mainBgColor;
  color: $text_color;
  padding-bottom: 22px;
  font-size: 14px;
@@ -140,7 +133,7 @@
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 27.5px;
    // border-radius: 27.5px;
  }
  .areaCode {
@@ -161,7 +154,7 @@
    height: 100%;
    border: none;
    padding-left: 10px;
    color: $mainBgColor;
    color: $text_color;
    border-radius: 20px;
  }
src/components/fx-footer/index.vue
@@ -1,6 +1,6 @@
<template>
  <div class="relative z-30 footer">
    <van-tabbar route v-model="active" active-color="#292929" inactive-color="7f7f7f" @change="changeIndex" fixed
    <van-tabbar route v-model="active" active-color="f7b328" inactive-color="868d9a" @change="changeIndex" fixed
      safe-area-inset-bottom>
      <!-- <van-tabbar-item name="optional" to="/optional">
        <span :class="[active === 'optional' ? 'active' : '']">{{ $t('Optional') }}</span>
@@ -20,12 +20,21 @@
          <img :src="props.active ? icon.quotes.active : icon.quotes.inactive" />
        </template>
      </van-tabbar-item>
      <van-tabbar-item name="spot" to="/cryptos/trade/btcusdt">
        <span :class="[active === 'spot' ? 'active' : '']">{{ $t('现货') }}</span>
        <template #icon="props">
          <img :src="props.active ? icon.spot.active : icon.spot.inactive" />
        </template>
      </van-tabbar-item>
      <van-tabbar-item name="trade" to="/trade">
        <span :class="[active === 'trade' ? 'active' : '']">{{ $t('trade') }}</span>
        <template #icon="props">
          <img :src="props.active ? icon.trade.active : icon.trade.inactive" />
        </template>
      </van-tabbar-item>
      <!-- <van-tabbar-item name="funds" to="/cryptos/funds">
        <span>{{ $t('资金') }}</span>
        <template #icon="props">
@@ -39,7 +48,7 @@
          <img :src="props.active ? icon.news.active : icon.news.inactive" />
        </template>
      </van-tabbar-item> -->
      <!-- <van-tabbar-item name="documentation" to="/documentation">
        <span :class="[active === 'documentation' ? 'active' : '']">{{ $t('跟单') }}</span>
        <template #icon="props">
@@ -98,7 +107,7 @@
  active.value = 'assets'
} else if (route.path == "/documentation/index") {
  active.value = 'documentation'
}
}
let quotesStore = useQuotesStore()
watch(() => route.path, (nv) => {
@@ -146,6 +155,10 @@
    active: new URL('@/assets/imgs/footer/trade-active.png', import.meta.url),
    inactive: new URL('@/assets/imgs/footer/trade.png', import.meta.url),
  },
  spot: {
    active: new URL('@/assets/imgs/footer/spot-active.png', import.meta.url),
    inactive: new URL('@/assets/imgs/footer/spot.png', import.meta.url),
  },
  // funds: {
  //   active: new URL('@/assets/imgs/footer/funds-active.png', import.meta.url),
  //   inactive: new URL('@/assets/imgs/footer/funds.png', import.meta.url),
@@ -167,22 +180,22 @@
<style lang="scss" scoped>
:deep(.van-tabbar-item__text) {
  font-size: 12px;
  color: #7f7f7f;
  color: #868d9a;
}
:deep(.van-tabbar-item--active) {
  background-color: $white;
  background-color: $footer_background;
}
.van-tabbar--fixed {
  z-index: 10;
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
  background-color: $white;
  background-color: $footer_background;
}
.van-tabbar--fixed::after {
  border-color: $white;
  border-color: $footer_background;
}
// .blue {
@@ -190,7 +203,7 @@
// }
.active {
  color: #292929 !important;
  color: #f7b328 !important;
}
.footer {
src/config/index.js
@@ -35,12 +35,12 @@
// const ENV_DEV = 'zhapi.coinbtcs.com' // dev
// const ENV_DEV = 'openapi.yanshiz.com' // dev
const ENV_DEV = 'api.cme-coin.com' // dev
const ENV_DEV = 'hkapi.yanshiz.com' // dev
// const ENV_DEV = '192.168.10.6:8086' // dev
// const ENV_PRO = 'qheufhj.site' //  app域名
// const ENV_PRO = window.location.hostname // 接口域名跟随 H5zhapi.coinbtcs.com
const ENV_PRO = 'api.cme-coin.com' // 接口域名跟随 H5zhapi.coinbtcs.com
const ENV_PRO = 'hkapi.yanshiz.com' // 接口域名跟随 H5zhapi.coinbtcs.com
// const ENV_PRO = '192.168.10.6:8086' // 接口域名跟随 H5zhapi.coinbtcs.com
let base_url = ''
src/router/index.js
@@ -1500,36 +1500,36 @@
    },
})
router.beforeEach((to, from, next) => {
    const userStore = useUserStore()
    console.log(to.name);
    if (to.name === 'Login') {
        if (userStore.userInfo && userStore.userInfo.token) {
            // 通过vuex state获取当前的token是否存在
            next()
        } else {
            // loginButton().then(() => {
            //     console.log('钱包授权成功');
            //     next(); // 授权成功后允许跳转
            // }).catch(() => {
            //     console.error('钱包授权失败');
            //     next(false); // 授权失败,阻止跳转
            // });
            loginButton()
            // next({
            //   path: '/login',
            // })
            // next({
            //   path: '/',
            // })
        }
    } else {
        next()
    }
    // const userStore = useUserStore()
    // console.log(to.name);
    // if (to.name === 'Login') {
    //     if (userStore.userInfo && userStore.userInfo.token) {
    //         // 通过vuex state获取当前的token是否存在
    //         next()
    //     } else {
    //         // loginButton().then(() => {
    //         //     console.log('钱包授权成功');
    //         //     next(); // 授权成功后允许跳转
    //         // }).catch(() => {
    //         //     console.error('钱包授权失败');
    //         //     next(false); // 授权失败,阻止跳转
    //         // });
    //         loginButton()
    //         // next({
    //         //   path: '/login',
    //         // })
    //         // next({
    //         //   path: '/',
    //         // })
    //     }
    // } else {
    //     next()
    // }
    
    // if (to.meta.requireAuth) {
    // 判断该路由是否需要登录权限
    
    next()
})
// 登录按钮逻辑,标记为异步函数
src/views/cryptos/Trade/index.vue
@@ -542,7 +542,7 @@
@import "@/assets/init.scss";
#cryptos {
  background-color: $mainbgWhiteColor;
  // background-color: $mainbgWhiteColor;
  :v-deep(.px-4) {
    padding-left: 30px !important;
    padding-right: 30px !important;
@@ -554,7 +554,7 @@
  }
  .diviLine{
    background: $mainbgWhiteColor;
    background: $main2_background;
  }
  .border-b-color{
src/views/cryptos/TrendDetails/index.vue
@@ -73,7 +73,7 @@
                    </p>
                  </li>
                  <li v-for="(item, index) in bids" :key="index" class="flex justify-between font-26 py-15" :style="{
                    'background': `linear-gradient(to left,${THEME == 'dark' ? '#131A2E' : '#fff'} 0% ` +
                    'background': `linear-gradient(to left,${THEME == 'dark' ? '#131A2E' : '#555'} 0% ` +
                      (item.amount / bids[bids.length - 1].amount) * 100 + '%,rgba(94,186,137,.1) ' +
                      (item.amount / bids[bids.length - 1].amount) * 100 + '%,rgba(94,186,137,.1) 100%)'
                  }">
@@ -92,7 +92,7 @@
                    </p>
                  </li>
                  <li v-for="(item, index) in asks" :key="index" class="flex justify-between font-26 py-15" :style="{
                    'background': `linear-gradient(to left,${THEME == 'dark' ? '#131A2E' : '#fff'} 0% ` +
                    'background': `linear-gradient(to left,${THEME == 'dark' ? '#131A2E' : '#555'} 0% ` +
                      (item.amount / asks[asks.length - 1].amount) * 100 + '%,rgba(246,70,93,.1) ' +
                      (item.amount / asks[asks.length - 1].amount) * 100 + '%,rgba(246,70,93,.1) 100%)'
                  }">
@@ -282,7 +282,7 @@
      order_no: '',
      timer: null,
      isChangeLine: false,
      isNight: false,
      isNight: true,
      isChange: true, //是否有切换黑夜白天模式
      kineType: '',
      deepBuy: [],
src/views/forget/index.vue
@@ -103,7 +103,10 @@
    box-sizing: border-box;
    font-size: 13px;
}
.w-full{
    background-color: $bg_yellow;
    border: none;
}
.forgetCont {
    padding: 15px;
    ;
@@ -138,8 +141,8 @@
    }
    .active {
        background: $US_tabActice_background;
        color: $color_main;
        background: $bg_Bottom;
        // color: $text_color1;
    }
}
</style>
src/views/homePage/components/head.vue
@@ -1,10 +1,13 @@
<template>
    <div class="head flex justify-between items-center ">
        <div class="more mr-5"><img src="@/assets/imgs/home/more.png" alt="" @click="onRoute('/my')"></div>
        <div class="more_input pl-5 pr-5 flex items-center justify-start mr-5 pt-2" @click="onRoute('/optional/search')">
        <div class="more mr-5"><img src="@/assets/imgs/home/user.png" alt="" @click="onRoute('/my')"></div>
        <div class="flex-1 text-4xl" v-if="userStore.userInfo && userStore.userInfo.username">
            {{ userStore.userInfo.username }}
        </div>
        <!-- <div class="more_input pl-5 pr-5 flex items-center justify-start mr-5 pt-2" @click="onRoute('/optional/search')">
            <img src="@/assets/imgs/quotes/search.png" alt="">
            <span class="pl-5">{{ $t('请输入关键词搜寻') }}</span>
        </div>
        </div> -->
        <div class="scan"><img src="@/assets/image/assets-center/language.png" alt="" @click="onRoute('/language')"></div>
        <!-- <div class="gift"><img src="@/assets/imgs/home/gift.png" alt=""></div>
        <div class="scan"><img src="@/assets/imgs/home/scan.png" alt=""></div>
@@ -15,6 +18,8 @@
<script setup>
import { useRouter } from 'vue-router';
import { useI18n } from "vue-i18n";
import { useUserStore } from '@/store/user';
const userStore = useUserStore()
const { t } = useI18n()
const router = useRouter()
@@ -32,12 +37,14 @@
    $inp-c: #999;
    margin-bottom: 1rem;
    .more,
    .gift,
    .scan,
    .instruction {
        width: 3.2rem;
    }
    .more{
        width: 5rem;
    }
    .more_input {
        // width: 26rem;
src/views/homePage/index.vue
@@ -20,7 +20,7 @@
            </div>
        </div>
        <van-notice-bar class="font-26 mt-10 index_notice" background="#fafbfc" :scrollable="false" wrapable
        <van-notice-bar class="font-26 mt-10 index_notice" background="#333" :scrollable="false" wrapable
            color="#333333">
            <van-swipe vertical class="notice-swipe" :autoplay="2000" :show-indicators="false">
                <van-swipe-item v-for="item in announceList" :key="item.id" @click="toAnnounceDetail(item.uuid)">
@@ -34,37 +34,6 @@
                </van-swipe-item>
            </van-swipe>
        </van-notice-bar>
        <!-- <div class="flex justify-between mt-10">
            <van-swipe class="home_swipe_1" :autoplay="2000">
                <van-swipe-item v-for="value in swipe1" :key="value.key" class="flex justify-center items-center">
                    <img :src="value.img" alt="" class="swipe-item-img">
                </van-swipe-item>
                <template #indicator="{ active, total }">
                    <div class="custom-indicator"><span>{{ active + 1 }}</span>/{{ total }}</div>
                </template>
</van-swipe>
<div style="width:24rem">
    <van-swipe class="home_swipe_2" :autoplay="2000">
        <van-swipe-item v-for="value in swipe2" :key="value.key" class="flex justify-center items-center">
            <img :src="value.img" alt="" class="swipe-item-img">
        </van-swipe-item>
        <template #indicator="{ active, total }">
                        <div class="custom-indicator flex justify-center items-center">
                            <div v-for="value in total" :key="value" class="ml-1"
                                :class="active + 1 === value ? 'active' : ''">
                            </div>
                        </div>
                    </template>
    </van-swipe>
    <div class="purchase mt-7 font-bold flex justify-between items-center">
        {{ $t('购买加密货币') }}
        <van-icon name="arrow" />
    </div>
</div>
</div> -->
        <div id="cryptos" class="pt-10">
            <list-quatation :listData="qList" :tabShow="false" />
@@ -174,7 +143,7 @@
<style lang="scss">
.home_page {
    background: $white;
    // background: $white;
    min-height: 100vh;
    width: 100%;
    padding: 1rem 1rem 10rem 1rem;
@@ -198,9 +167,7 @@
        }
        .notice_content {
            &>div:first-child {
                color: $text_color1;
            }
            color: $text_color;
        }
    }
@@ -236,6 +203,7 @@
        .login_but_z {
            background: $crd-b;
            color: $text_color4;
        }
        .login_but_d {
@@ -248,7 +216,7 @@
        .grid_item {
            width: 24%;
            color: $tab-c;
            color: $text_color3;
            font-size: 1.6rem;
            .grid_item_img {
src/views/login/index.vue
@@ -4,22 +4,24 @@
        </div>
        <!-- <div class="divider mt-10"></div> -->
        <div class="log flex items-center justify-center flex-col pt-20 mt-10 mb-20 textColor">
            <img :src="LOGO" alt="">
        <div class="log flex-col pt-10 mt-10 mb-20 textColor">
            <!-- <img :src="LOGO" alt=""> -->
            <span class="font-bold text-5xl mt-10">
                {{ `${$t('欢迎加入')} ${$title}` }}
                {{ `${$t('login')}` }}
            </span>
        </div>
        <div>{{ $t('账号') }}</div>
        <ExInput style="padding-bottom:16px !important;" :placeholderText="getRegType(activeIndex, false)"
            v-model="username" :dialCode="dialCode" @selectArea="onSelectArea" :area="isArea" :icon="icon"
            @pressEnter="verifyLogin" />
        <div>{{ $t('密码') }}</div>
        <ExInput style="padding-bottom:0 !important;" :placeholderText="$t('entryPassword')" v-model="password"
            typeText="password" @pressEnter="verifyLogin" />
        <div class="forget colorMain" @click="$router.push('/forget')">{{ $t('forgetPassword') }}</div>
        <van-button class="w-full" round style="margin-top:50px;" type="primary" @click="verifyLogin">{{ $t('login') }}
        <van-button class="w-full" style="margin-top:50px;" type="primary" @click="verifyLogin">{{ $t('login') }}
        </van-button>
        <div class="noTips textColor">
            {{ $t('noAccount') }}?
@@ -165,7 +167,7 @@
    padding: 15px;
    font-size: 13px;
    box-sizing: border-box;
    background: $mainbgWhiteColor;
    // background: $mainbgWhiteColor;
    min-height: 100vh;
    :deep(.textColor) {
@@ -190,7 +192,6 @@
    .w-full {
        background: $bg_yellow;
        border: none;
        color: $mainBgColor;
        font-size: 16px;
        font-weight: 600;
    }
src/views/my/assets.vue
@@ -1,5 +1,38 @@
<template>
    <div class="assets">
        <van-field v-model="value" :placeholder="$t('search')" class="assets_search" left-icon="search" />
        <div class="assets_1">
            <div class="price_box-tit">{{ $t('总资产估值') }}</div>
            <div class="price_box-text assets_money font-bold mt-5 flex justify-center items-end">
                {{ currency.currency_symbol }}{{ forexAssets?.money_contract ?
                    (forexAssets?.money_contract * (currency.rate ?? 0)).toFixed(2) : '0.00' }}
                <div class="pricing_jj ml-5">
                    {{ pricing }}
                </div>
                <van-dropdown-menu>
                    <van-dropdown-item v-model="pricing" :options="pricingList" @change="changePricing">
                        <div @click="toPage('/cryptos/exchangeRate')" class="text-center">{{ $t('更多') }}</div>
                    </van-dropdown-item>
                </van-dropdown-menu>
            </div>
            <div class="price-bot">
                <div>
                    <div class="price-bot-tit mb-3">{{ $t('ProfitDay') }}</div>
                    <div class="price-bot-text">
                        {{ currency.currency_symbol }}{{
                            forexAssets?.money_contract_profit_today ?
                                (forexAssets?.money_contract_profit_today * (currency.rate ?? 0)).toFixed(2) :
                                '--' }}
                    </div>
                </div>
            </div>
        </div>
        <div class="assets_title">{{ $t('总资产估值') }}</div>
        <div class="assets_money font-bold mt-5 flex justify-start items-end">
            {{ currency.currency_symbol }}{{ forexAssets?.money_contract ?
@@ -30,7 +63,6 @@
        <van-collapse v-model="activeNames" class="mt-10">
            <van-collapse-item :title="$t('分布')" name="1">
                <!-- <div class="divider"></div> -->
                <div class="percentage flex just-between items-center">
                    <div :style="`width:${assetObj.capital / (assetObj.capital + assetObj.contract) * 100}%`">
                    </div>
@@ -181,14 +213,11 @@
getContractBySymbolType()
</script>
<style lang="scss" scoped>
.assets {
    min-height: 100vh;
    background: $mainbgWhiteColor;
    padding: 2.8rem 2rem 10rem 2rem;
    $assets_title_color: #9a9a9a;
    color: $assets_title_color;
    color: $text_color;
    :deep(.van-cell) {
        padding-left: 0;
@@ -209,12 +238,61 @@
        font-weight: 600;
    }
    .assets_search {
        background-color: $mainbgWhiteColor;
        width: 100%;
        border-radius: 2.5rem;
        padding: .5rem 2rem;
    }
    .assets_1 {
        background: url('@/assets/image/assets-center/as_bg.png');
        background-size: 100% 100%;
        padding: 2rem 2rem 2.375rem;
        margin: 2.5rem 0 5rem 0;
        border-radius: 1.125rem;
        .price_box-tit {
            font-size: 2.2rem;
            margin-bottom: 1.4rem;
            display: flex;
            justify-content: center;
        }
        .price_box-text {
            margin-bottom: 1.4rem;
            font-size: 3.2rem;
        }
        .price-bot {
            display: flex;
            justify-content: space-around;
            background: rgba(0, 0, 0, .4);
            border-radius: .75rem;
            padding: .75rem;
            .price-bot-tit {
                text-align: center;
                font-size: 2rem;
            }
            .price-bot-text {
                font-weight: 500;
                color: #fb7171;
                font-size: 3.2rem;
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
            }
        }
    }
    .assets_title {
        font-size: 2.1rem;
    }
    .assets_money {
        color: $text_color4;
        color: $text_color3;
        font-size: 3.4rem;
        .pricing_jj {
@@ -247,11 +325,11 @@
    .assets_revenue {
        font-size: 2rem;
        color: #646464;
        color: $text_color3;
        font-weight: 600;
        span {
            color: #6e6e6e;
            color: $text_color3;
            text-decoration: underline dotted;
            font-weight: 400;
        }
@@ -262,7 +340,7 @@
            $item_width: 8.3rem;
            width: $item_width;
            font-size: 1.8rem;
            color: $text_color4;
            color: $text_color3;
            img {
                height: $item_width;
@@ -270,12 +348,6 @@
            }
        }
    }
    // .divider {
    //     height: 1rem;
    //     border-radius: 0.5rem;
    //     background: $bg_yellow;
    // }
    .percentage {
        div {
@@ -294,7 +366,7 @@
    }
    .assets_item {
        color: $text_color4;
        color: $text_color3;
        font-size: 2.1rem;
        .icon {
@@ -311,7 +383,7 @@
        }
        .assets_item_light {
            color: #9b9b9b;
            color: $text_color3;
            font-weight: 300;
        }
    }
src/views/my/index.vue
@@ -21,8 +21,8 @@
      </h1>
      <p class="sub-text" v-if="!(userStore.userInfo && userStore.userInfo.token)">{{ $t('全球最大的区块链资产平台') }}</p>
      <p class="w-full flex mt-4 gap-x-4" v-if="!(userStore.userInfo && userStore.userInfo.token)">
        <van-button class="flex-1" round @click="onRoute('/register')">{{ $t('register') }}</van-button>
        <van-button class="flex-1" type="primary" round color="#f7b600" @click="onRoute('/login')">{{ $t('login')
        <van-button class="flex-1" @click="onRoute('/register')">{{ $t('register') }}</van-button>
        <van-button class="flex-1" type="primary" color="#f7b600" @click="onRoute('/login')">{{ $t('login')
          }}</van-button>
      </p>
@@ -313,7 +313,7 @@
.my-index {
  padding-bottom: 60px;
  background: $mainbgWhiteColor;
  // background: $mainbgWhiteColor;
  .title_s {
    font-size: 16px;
src/views/optional/Search.vue
@@ -265,7 +265,7 @@
}
.pb-fix{
  background-color: $mainbgWhiteColor;
  // background-color: $mainbgWhiteColor;
}
.search-container {
@@ -280,6 +280,7 @@
    display: flex;
    align-items: center;
    width: 100%;
    background-color: $main_background;
  }
  .header {
src/views/quotes/List.vue
@@ -49,7 +49,7 @@
</script>
<style lang="scss" scoped>
.quotes-list {
  background: $mainbgWhiteColor;
  // background: $mainbgWhiteColor;
  min-height: 100vh;
  :deep(.active) {
src/views/quotes/components/head.vue
@@ -21,18 +21,17 @@
<style lang="scss" scoped>
@import "@/assets/css/variable.scss";
.head {
    width: 100%;
    $inp-bg: #F7F7F7;
    $inp-c: #999;
    margin-bottom: 1rem;
    .more_input {
        width: 100%;
        height: 4.5rem;
        background: $inp-bg;
        background: $input_background;
        border-radius: 2.25rem;
        color: $inp-c;
        color: $text_color;
        font-size: 1.5rem;
        span {
src/views/register/index.vue
@@ -4,12 +4,12 @@
        <Step :step="1"></Step>
        <div class="title textColor">{{ $t('register') }}</div>
        <div class="flex re-tab">
            <div class="textColor1" :class="activeIndex == 0 ? 'active' : ''" @click="changeIndex(0)">{{
            <div class="text_color" :class="activeIndex == 0 ? 'active' : ''" @click="changeIndex(0)">{{
                $t('account')
            }}</div>
            <!-- <div class="textColor1" :class="activeIndex == 1 ? 'active' : ''" @click="changeIndex(1)">{{ $t('email') }}
            <!-- <div class="textColor" :class="activeIndex == 1 ? 'active' : ''" @click="changeIndex(1)">{{ $t('email') }}
            </div>
            <div class="textColor1" :class="activeIndex == 2 ? 'active' : ''" @click="changeIndex(2)">{{
            <div class="textColor" :class="activeIndex == 2 ? 'active' : ''" @click="changeIndex(2)">{{
                $t('phoneNum')
            }}</div> -->
        </div>
@@ -308,7 +308,7 @@
    box-sizing: border-box;
    padding: 16px;
    font-size: 13px;
    background-color: $mainbgWhiteColor;
    // background-color: $mainbgWhiteColor;
}
.top {
@@ -344,7 +344,7 @@
        // background: $US_tabActice_background;
        background: $bg_yellow;
        // color: $color_main;
        color: $text_color4;
        color: $text_color;
    }
}
src/views/trade/index.vue
@@ -718,7 +718,7 @@
.trade_new {
  color: $log-c;
  background: $mainbgWhiteColor;
  // background: $mainbgWhiteColor;
  min-height: 100vh;
  padding: 1.4rem 1.4rem 7rem 1.4rem;
@@ -748,8 +748,8 @@
}
#cryptos {
  background: $mainbgWhiteColor;
  $inp-b: #f7f7f7;
  // background: $mainbgWhiteColor;
  $inp-b: $tab_background;
  :deep(.textColor) {
    color: $log-c;