李凌
2025-12-16 9337c3cf960b60078558b7f942fd27f1ab39364b
改黑夜样式
40 files modified
1 files added
922 ■■■■ changed files
src/App.vue 79 ●●●● patch | view | raw | blame | history
src/assets/css/index.scss 21 ●●●●● patch | view | raw | blame | history
src/assets/css/vant-theme.scss 276 ●●●●● patch | view | raw | blame | history
src/assets/css/variable.scss 5 ●●●●● patch | view | raw | blame | history
src/assets/image/icon_back.png patch | view | raw | blame | history
src/assets/image/icon_back_1.png patch | view | raw | blame | history
src/assets/imgs/home/more.png patch | view | raw | blame | history
src/assets/imgs/quotes/search.png patch | view | raw | blame | history
src/assets/init.scss 15 ●●●● patch | view | raw | blame | history
src/assets/theme/_themes.scss 3 ●●●● patch | view | raw | blame | history
src/components/Transform/assets-head/index.vue 3 ●●●● patch | view | raw | blame | history
src/components/Transform/ex-input/index.vue 32 ●●●● patch | view | raw | blame | history
src/components/Transform/history-item/index.vue 37 ●●●● patch | view | raw | blame | history
src/components/Transform/mining-account/index.vue 12 ●●●● patch | view | raw | blame | history
src/components/Transform/mining-exchange-input/index.vue 42 ●●●●● patch | view | raw | blame | history
src/components/Transform/perpetual-open/index.vue 80 ●●●●● patch | view | raw | blame | history
src/components/Transform/trade-head/index.vue 12 ●●●● patch | view | raw | blame | history
src/components/Transform/trade-order-area/index.vue 3 ●●●● patch | view | raw | blame | history
src/components/ex-input/index.vue 43 ●●●●● patch | view | raw | blame | history
src/components/ex-input/new-input.vue 31 ●●●● patch | view | raw | blame | history
src/components/foreign/foreign-contract-header/index.vue 6 ●●●● patch | view | raw | blame | history
src/components/fx-footer/index.vue 18 ●●●● patch | view | raw | blame | history
src/components/fx-header/index.vue 8 ●●●● patch | view | raw | blame | history
src/components/quotes-header/index.vue 2 ●●● patch | view | raw | blame | history
src/config/theme.js 4 ●●●● patch | view | raw | blame | history
src/main.js 12 ●●●●● patch | view | raw | blame | history
src/store/modules/vant.js 2 ●●● patch | view | raw | blame | history
src/views/ICO/ico.vue 2 ●●● patch | view | raw | blame | history
src/views/authentication/components/nationalityList.vue 26 ●●●●● patch | view | raw | blame | history
src/views/cryptos/AccountChange/index.vue 8 ●●●● patch | view | raw | blame | history
src/views/cryptos/Trade/index.vue 21 ●●●●● patch | view | raw | blame | history
src/views/cryptos/TrendDetails/index.vue 4 ●●●● patch | view | raw | blame | history
src/views/homePage/components/head.vue 14 ●●●● patch | view | raw | blame | history
src/views/homePage/index.vue 10 ●●●● patch | view | raw | blame | history
src/views/my/assets.vue 38 ●●●● patch | view | raw | blame | history
src/views/quotes/Detail.vue 6 ●●●● patch | view | raw | blame | history
src/views/quotes/OpenTrade.vue 6 ●●●● patch | view | raw | blame | history
src/views/quotes/components/BuySellTradeTab.vue 20 ●●●●● patch | view | raw | blame | history
src/views/quotes/components/head.vue 13 ●●●●● patch | view | raw | blame | history
src/views/usStock/Detail.vue 6 ●●●● patch | view | raw | blame | history
src/views/usStock/components/BuySellTradeTab.vue 2 ●●● patch | view | raw | blame | history
src/App.vue
@@ -97,6 +97,7 @@
    @import "assets/init";
    @import "assets/mixin";
    @import "assets/css/variable.scss";
    @import "assets/theme/index.scss";
    .nationList {
        .van-action-sheet {
@@ -116,12 +117,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 +139,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 +229,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 +290,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 +308,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 +353,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 +387,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 +416,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");
            }
        }
    }
src/assets/css/index.scss
@@ -3,6 +3,8 @@
@tailwind utilities;
@import './variable.scss';
@import '../theme/index.scss';
@import './vant-theme.scss';
/* overwite default */
:root {
@@ -22,19 +24,17 @@
  -webkit-text-size-adjust: 100%;
  --van-sidebar-selected-border-height: 44px !important;
  --van-sidebar-selected-border-width: 2px !important;
  --van-nav-bar-background: $mainBgColor !important;
  --van-nav-bar-title-text-color: #fff !important;
  --van-uploader-upload-background: #232C46 !important;
  --van-index-anchor-text-color: #fff !important;
}
/* Vant 组件主题变量已移至 vant-theme.scss */
body {
  width: 100vw;
  height: 100vh;
  // color: $mainTextColor;
  color: $log-c;
  // background-color: $mainBgColor;
  background-color: $mainbgWhiteColor;
  @include themify() {
    background-color: themed("main_background");
    color: themed("text_color");
  }
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}
@@ -60,7 +60,10 @@
}
input::-webkit-input-placeholder {
  color: #c0c4cc;
  @include themify() {
    color: themed("text_color1");
  }
  opacity: 0.6;
}
ul,
src/assets/css/vant-theme.scss
New file
@@ -0,0 +1,276 @@
/* Vant 组件黑夜模式主题变量 */
/* 同时定义在 :root 和 [data-theme="dark"] 上,确保 Vant 组件能正确读取 */
:root[data-theme="dark"],
[data-theme="dark"] {
  /* NavBar 导航栏 */
  --van-nav-bar-background: #121212 !important;
  --van-nav-bar-title-text-color: #fff !important;
  --van-nav-bar-arrow-size: 16px !important;
  /* Uploader 上传 */
  --van-uploader-upload-background: #474B62 !important;
  /* IndexAnchor 索引 */
  --van-index-anchor-text-color: #fff !important;
  /* Cell 单元格 */
  --van-cell-background: #121212 !important;
  --van-cell-text-color: #fff !important;
  --van-cell-label-color: #868D9A !important;
  --van-cell-value-color: #fff !important;
  --van-cell-border-color: #393E49 !important;
  /* Field 输入框 */
  --van-field-label-color: #fff !important;
  --van-field-input-text-color: #fff !important;
  --van-field-placeholder-text-color: #868D9A !important;
  --van-field-icon-size: 16px !important;
  --van-field-clear-icon-size: 16px !important;
  --van-field-clear-icon-color: #868D9A !important;
  --van-field-error-message-color: #ee0a24 !important;
  --van-field-error-message-text-color: #ee0a24 !important;
  --van-field-background: #242424 !important;
  /* Button 按钮 */
  --van-button-default-background: #474B62 !important;
  --van-button-default-color: #fff !important;
  --van-button-primary-background: #b9f641 !important;
  --van-button-primary-border-color: #b9f641 !important;
  --van-button-primary-color: #333 !important;
  --van-button-success-background: #07c160 !important;
  --van-button-success-border-color: #07c160 !important;
  --van-button-warning-background: #ff976a !important;
  --van-button-warning-border-color: #ff976a !important;
  --van-button-danger-background: #ee0a24 !important;
  --van-button-danger-border-color: #ee0a24 !important;
  /* Dialog 对话框 */
  --van-dialog-background: #121212 !important;
  --van-dialog-header-font-weight: 500 !important;
  --van-dialog-header-padding-top: 26px !important;
  --van-dialog-header-isolated: 16px !important;
  --van-dialog-message-padding: 26px !important;
  --van-dialog-message-font-size: 16px !important;
  --van-dialog-message-line-height: 24px !important;
  --van-dialog-message-max-height: 60vh !important;
  --van-dialog-message-text-color: #fff !important;
  --van-dialog-title-font-size: 18px !important;
  --van-dialog-title-text-color: #fff !important;
  --van-dialog-width: 320px !important;
  --van-dialog-small-screen-width: 90% !important;
  --van-dialog-border-radius: 8px !important;
  --van-dialog-close-icon-size: 22px !important;
  --van-dialog-close-icon-color: #868D9A !important;
  --van-dialog-close-icon-margin: 16px !important;
  --van-dialog-button-height: 48px !important;
  --van-dialog-round-button-height: 36px !important;
  --van-dialog-confirm-button-text-color: #f7b328 !important;
  /* Popup 弹出层 */
  --van-popup-background: #121212 !important;
  --van-popup-transition: transform 0.3s !important;
  --van-popup-round-border-radius: 20px !important;
  --van-popup-close-icon-size: 22px !important;
  --van-popup-close-icon-color: #868D9A !important;
  --van-popup-close-icon-margin: 16px !important;
  --van-popup-close-icon-z-index: 1 !important;
  /* ActionSheet 动作面板 */
  --van-action-sheet-max-height: 80% !important;
  --van-action-sheet-header-height: 48px !important;
  --van-action-sheet-header-font-size: 16px !important;
  --van-action-sheet-description-color: #868D9A !important;
  --van-action-sheet-description-font-size: 14px !important;
  --van-action-sheet-description-line-height: 20px !important;
  --van-action-sheet-item-background: #121212 !important;
  --van-action-sheet-item-font-size: 16px !important;
  --van-action-sheet-item-line-height: 22px !important;
  --van-action-sheet-item-text-color: #fff !important;
  --van-action-sheet-item-disabled-text-color: #868D9A !important;
  --van-action-sheet-subname-color: #868D9A !important;
  --van-action-sheet-subname-font-size: 12px !important;
  --van-action-sheet-subname-line-height: 18px !important;
  --van-action-sheet-close-icon-size: 22px !important;
  --van-action-sheet-close-icon-color: #868D9A !important;
  --van-action-sheet-close-icon-padding: 0 16px !important;
  --van-action-sheet-cancel-padding-top: 8px !important;
  --van-action-sheet-cancel-padding-color: #27293B !important;
  /* Tabbar 标签栏 */
  --van-tabbar-height: 50px !important;
  --van-tabbar-z-index: 1 !important;
  --van-tabbar-background: #1a1a1a !important;
  --van-tabbar-item-font-size: 12px !important;
  --van-tabbar-item-text-color: #868D9A !important;
  --van-tabbar-item-active-color: #f7b328 !important;
  --van-tabbar-item-active-background: #1a1a1a !important;
  --van-tabbar-item-margin-bottom: 4px !important;
  --van-tabbar-item-icon-size: 22px !important;
  --van-tabbar-item-icon-margin-bottom: 4px !important;
  /* Tabs 标签页 */
  --van-tabs-nav-background: #121212 !important;
  --van-tab-text-color: #868D9A !important;
  --van-tab-active-text-color: #f7b328 !important;
  --van-tab-disabled-text-color: #868D9A !important;
  --van-tab-font-size: 14px !important;
  --van-tabs-line-height: 44px !important;
  --van-tabs-card-tab-active-color: #f7b328 !important;
  --van-tabs-bottom-bar-width: 40px !important;
  --van-tabs-bottom-bar-height: 3px !important;
  --van-tabs-bottom-bar-color: #f7b328 !important;
  /* Toast 轻提示 */
  --van-toast-max-width: 70% !important;
  --van-toast-font-size: 14px !important;
  --van-toast-text-color: #fff !important;
  --van-toast-loading-icon-color: #fff !important;
  --van-toast-line-height: 20px !important;
  --van-toast-border-radius: 8px !important;
  --van-toast-background: rgba(0, 0, 0, 0.8) !important;
  --van-toast-icon-size: 36px !important;
  --van-toast-text-min-width: 96px !important;
  --van-toast-text-padding: 8px 12px !important;
  --van-toast-default-padding: 16px !important;
  --van-toast-default-width: 88px !important;
  --van-toast-default-min-height: 88px !important;
  --van-toast-position-top-distance: 20% !important;
  --van-toast-position-bottom-distance: 20% !important;
  /* Loading 加载 */
  --van-loading-text-color: #fff !important;
  --van-loading-text-font-size: 14px !important;
  --van-loading-spinner-color: #f7b328 !important;
  --van-loading-spinner-size: 30px !important;
  /* Picker 选择器 */
  --van-picker-background: #121212 !important;
  --van-picker-toolbar-height: 44px !important;
  --van-picker-title-font-size: 16px !important;
  --van-picker-title-line-height: 20px !important;
  --van-picker-title-text-color: #fff !important;
  --van-picker-action-padding: 0 16px !important;
  --van-picker-action-font-size: 14px !important;
  --van-picker-confirm-action-color: #f7b328 !important;
  --van-picker-cancel-action-color: #868D9A !important;
  --van-picker-option-font-size: 16px !important;
  --van-picker-option-text-color: #fff !important;
  --van-picker-option-disabled-opacity: 0.3 !important;
  --van-picker-loading-icon-color: #f7b328 !important;
  --van-picker-mask-color: linear-gradient(180deg, rgba(18, 18, 18, 0.9), rgba(18, 18, 18, 0.4)), linear-gradient(0deg, rgba(18, 18, 18, 0.9), rgba(18, 18, 18, 0.4)) !important;
  /* DropdownMenu 下拉菜单 */
  --van-dropdown-menu-height: 48px !important;
  --van-dropdown-menu-background: #121212 !important;
  --van-dropdown-menu-shadow: 0 2px 12px rgba(0, 0, 0, 0.12) !important;
  --van-dropdown-menu-title-font-size: 15px !important;
  --van-dropdown-menu-title-text-color: #fff !important;
  --van-dropdown-menu-title-active-text-color: #f7b328 !important;
  --van-dropdown-menu-title-disabled-text-color: #868D9A !important;
  --van-dropdown-menu-title-padding: 0 12px !important;
  --van-dropdown-menu-title-line-height: 20px !important;
  --van-dropdown-menu-option-active-color: #f7b328 !important;
  --van-dropdown-menu-content-max-height: 80% !important;
  /* Notify 消息通知 */
  --van-notify-text-color: #fff !important;
  --van-notify-padding: 12px 16px !important;
  --van-notify-font-size: 14px !important;
  --van-notify-line-height: 20px !important;
  --van-notify-primary-background: #f7b328 !important;
  --van-notify-success-background: #07c160 !important;
  --van-notify-warning-background: #ff976a !important;
  --van-notify-danger-background: #ee0a24 !important;
  /* Swipe 轮播 */
  --van-swipe-indicator-size: 6px !important;
  --van-swipe-indicator-margin: 0 4px !important;
  --van-swipe-indicator-active-opacity: 1 !important;
  --van-swipe-indicator-inactive-opacity: 0.3 !important;
  --van-swipe-indicator-active-background: #f7b328 !important;
  --van-swipe-indicator-inactive-background: #868D9A !important;
  /* Grid 宫格 */
  --van-grid-item-content-padding: 16px 8px !important;
  --van-grid-item-content-background: #121212 !important;
  --van-grid-item-content-font-size: 14px !important;
  --van-grid-item-icon-size: 28px !important;
  --van-grid-item-text-color: #fff !important;
  --van-grid-item-text-font-size: 12px !important;
  --van-grid-item-text-line-height: 16px !important;
  --van-grid-item-text-margin-top: 8px !important;
  /* List 列表 */
  --van-list-text-color: #868D9A !important;
  --van-list-text-font-size: 14px !important;
  --van-list-text-line-height: 50px !important;
  --van-list-loading-icon-size: 16px !important;
  --van-list-finished-text-color: #868D9A !important;
  --van-list-error-text-color: #ee0a24 !important;
  --van-list-text-margin-top: 16px !important;
  /* PullRefresh 下拉刷新 */
  --van-pull-refresh-head-height: 50px !important;
  --van-pull-refresh-head-font-size: 14px !important;
  --van-pull-refresh-head-text-color: #868D9A !important;
  /* Search 搜索 */
  --van-search-padding: 10px 12px !important;
  --van-search-background: #121212 !important;
  --van-search-content-background: #242424 !important;
  --van-search-input-height: 34px !important;
  --van-search-label-padding: 0 5px !important;
  --van-search-label-color: #fff !important;
  --van-search-label-font-size: 14px !important;
  --van-search-left-icon-color: #868D9A !important;
  --van-search-action-padding: 0 8px !important;
  --van-search-action-text-color: #fff !important;
  --van-search-action-font-size: 14px !important;
  /* Collapse 折叠面板 */
  --van-collapse-item-content-background: #121212 !important;
  --van-collapse-item-content-text-color: #fff !important;
  --van-collapse-item-content-font-size: 14px !important;
  --van-collapse-item-content-line-height: 1.5 !important;
  --van-collapse-item-title-disabled-color: #868D9A !important;
  /* Checkbox 复选框 */
  --van-checkbox-icon-color: #868D9A !important;
  --van-checkbox-checked-icon-color: #f7b328 !important;
  --van-checkbox-label-color: #fff !important;
  --van-checkbox-label-margin: 8px !important;
  /* Radio 单选框 */
  --van-radio-icon-color: #868D9A !important;
  --van-radio-checked-icon-color: #f7b328 !important;
  --van-radio-label-color: #fff !important;
  --van-radio-label-margin: 8px !important;
  /* Switch 开关 */
  --van-switch-on-background: #f7b328 !important;
  --van-switch-off-background: #474B62 !important;
  --van-switch-node-background: #fff !important;
  /* Stepper 步进器 */
  --van-stepper-background: #242424 !important;
  --van-stepper-button-icon-color: #fff !important;
  --van-stepper-input-text-color: #fff !important;
  --van-stepper-button-disabled-color: #868D9A !important;
  --van-stepper-button-disabled-icon-color: #868D9A !important;
  /* Tag 标签 */
  --van-tag-text-color: #fff !important;
  --van-tag-border-radius: 2px !important;
  --van-tag-font-size: 12px !important;
  --van-tag-line-height: 16px !important;
  --van-tag-medium-padding: 4px 6px !important;
  --van-tag-large-padding: 6px 8px !important;
  --van-tag-round-border-radius: 999px !important;
  --van-tag-danger-color: #ee0a24 !important;
  --van-tag-primary-color: #f7b328 !important;
  --van-tag-success-color: #07c160 !important;
  --van-tag-warning-color: #ff976a !important;
  --van-tag-default-color: #242424 !important;
  --van-tag-plain-background: transparent !important;
}
src/assets/css/variable.scss
@@ -1,6 +1,6 @@
$mainBgColor: #131a2e;
$mainTextColor: #fff;
$mainbgWhiteColor: #fff;
$mainbgWhiteColor: #111;
$main_background:#f7f7f7; //主题色
$main2_background:#1F233D; //主题浅色背景
@@ -37,8 +37,7 @@
$c2c_background1: #ccc;
$c2c_tab_background:#ccc;
$c2c_tip_background: #aaa;
// $selectSymbol_background: #131a2e; //自选与选择币种背景颜色
$selectSymbol_background: #f7f7f7; //自选与选择币种背景颜色
$selectSymbol_background: #131a2e; //自选与选择币种背景颜色
$US_tab_background: #1D2439;
$US_tabActice_background: #112542;
$lable_color: #B6BDD4;
src/assets/image/icon_back.png

src/assets/image/icon_back_1.png

src/assets/imgs/home/more.png

src/assets/imgs/quotes/search.png

src/assets/init.scss
@@ -1,4 +1,5 @@
/** ************************* overwrite ****************/
@import './theme/index.scss';
#cryptos {
  // * {
@@ -298,7 +299,9 @@
  /* background */
  .bg-white {
    background: $white;
    @include themify() {
      background: themed("main_background");
    }
  }
  .bg-black {
@@ -315,7 +318,11 @@
  }
  .bg-grey {
    background: $grey;
    // background: $grey;
    @include themify() {
      background: themed("main_background");
    }
  }
  .bg-dark-grey {
@@ -367,7 +374,9 @@
  }
  .text-black {
    color: $black;
    @include themify() {
      color: themed("text_color") !important;
    }
  }
  .text-dark-black {
src/assets/theme/_themes.scss
@@ -43,7 +43,8 @@
        tab_color:#333, //tab文字颜色
        input_border:#e5e5e5, //输入框边框颜色
    ),
    dark:(main_background: #121212, //主题色
    dark:(
        main_background: #121212, //主题色
        text_color: #fff, //文字颜色
        text_color1: #868D9A, //文字浅色
        text_color2: #B7BDD1, // 资金页面所用对应
src/components/Transform/assets-head/index.vue
@@ -78,8 +78,7 @@
  .van-nav-bar__arrow {
    font-size: 48px !important;
    // color: $dark-grey;
    color: $log-c;
    color: $dark-grey;
  }
  .van-nav-bar__right{
src/components/Transform/ex-input/index.vue
@@ -7,12 +7,14 @@
                <span class="textColor">+{{ dialCode }}</span>
                <img src="../../assets/image/login/more.png" alt="">
            </div>
            <input autocomplete="new-password" class="inputBackground" v-if="typeText == 'password'" :type="passwordType"
                :placeholder="placeholderText" :value="value" @input="onInput" :disabled="disabled">
            <input autocomplete="new-password" class="inputBackground" v-if="typeText == 'password'"
                :type="passwordType" :placeholder="placeholderText" :value="value" @input="onInput"
                :disabled="disabled">
            <input class="inputBackground" v-else type="text" :disabled="disabled" :placeholder="placeholderText"
                :value="value" @input="onInput">
            <div class="rightCon">
                <div class="closeBox" v-if="clearBtn" @click="clear"><img src="../../assets/image/login/clear.png" alt="">
                <div class="closeBox" v-if="clearBtn" @click="clear"><img src="../../assets/image/login/clear.png"
                        alt="">
                </div>
                <div class="eyeBox" v-if="typeText == 'password'" @click="changeType">
                    <img v-if="passwordType == 'password'" src="../../assets/image/login/_close.png" alt="">
@@ -99,9 +101,14 @@
</script>
<style lang="scss" scoped>
@import "@/assets/theme/index.scss";
.inputCom {
    color: $text_color4;
    padding-bottom: 44px;
    @include themify() {
        color: themed("text_color4");
    }
    .iptbox {
        height: 88px;
@@ -131,7 +138,10 @@
        height: 100%;
        border: none;
        padding-left: 20px;
        color: $text_color;
        @include themify() {
            color: themed("text_color");
        }
    }
    .rightCon {
@@ -156,8 +166,11 @@
.tips {
    font-size: 26px;
    color: $text_color1;
    margin-top: 18px;
    @include themify() {
        color: themed("text_color1");
    }
}
input:-webkit-autofill {
@@ -165,10 +178,13 @@
}
input::-webkit-input-placeholder {
    color: $text_color1;
    @include themify() {
        color: themed("text_color1");
    }
}
.icon {
    transform: scale(2);
    display: inline-block;
}</style>
}
</style>
src/components/Transform/history-item/index.vue
@@ -105,17 +105,23 @@
}
</script>
<style lang="scss" scoped>
@import '@/assets/theme/index.scss';
.history-item {
    border-bottom: 1px solid $inp-b;
    padding: 40px 0;
    :deep(.van-circle__text) {
        color: $text_color;
        @include themify() {
            color: themed("text_color");
        }
    }
    :deep(.van-circle__hover) {
        color: $text_color;
        @include themify() {
            color: themed("text_color");
        }
    }
    .header-info {
@@ -129,7 +135,9 @@
            align-items: center;
            span {
                color: $text_color;
                @include themify() {
                    color: themed("text_color");
                }
            }
            .text-green {
@@ -143,7 +151,10 @@
        .text {
            font-size: 28px;
            color: $text_color6;
            @include themify() {
                color: themed("text_color1");
            }
        }
    }
@@ -151,16 +162,21 @@
        flex: 1;
        .title {
            color: $dark-grey;
            // color: $dark-grey;
            font-size: 24px;
            @include themify() {
                color: themed("text_color2");
            }
        }
        .text {
            font-size: 28px;
            color: $text_color;
            margin-top: 10px;
            @include themify() {
                color: themed("text_color1");
            }
        }
    }
@@ -187,8 +203,11 @@
    .detailBtn {
        border: 1px solid #fff;
        color: $text_color;
        justify-content: space-between;
        @include themify() {
            color: themed("text_color");
        }
    }
}
src/components/Transform/mining-account/index.vue
@@ -267,12 +267,20 @@
#cryptos {
    .account_card {
        background: $inp-b !important;
        // background: $inp-b !important;
        border-radius: 2.5rem;
        padding: 1.2rem 2.5rem;
        @include themify() {
            background: themed("input_background") !important;
        }
        div {
            background: $inp-b !important;
            // background: $inp-b !important;
            @include themify() {
                background: themed("input_background") !important;
            }
        }
    }
src/components/Transform/mining-exchange-input/index.vue
@@ -72,7 +72,7 @@
                  class="w-30 h-30 rounded-full mr-10 currency-icon" />
              </div>
              <div>
                <div class="item-title textColor">{{ strToArr(item.name.toUpperCase(),'/')[0] }}</div>
                <div class="item-title textColor">{{ strToArr(item.name.toUpperCase(), '/')[0] }}</div>
              </div>
            </div>
            <div class="text-right" v-if="activeIndex == 0">
@@ -235,10 +235,10 @@
        this.currencyList = this.allCurrencyList
      }
    },
        strToArr(str, separator = ',') {
            if (typeof str !== 'string') return [];
            return str.split(separator);
        },
    strToArr(str, separator = ',') {
      if (typeof str !== 'string') return [];
      return str.split(separator);
    },
  },
};
</script>
@@ -256,7 +256,10 @@
  .van-action-sheet__item {
    background: #0D1323;
    color: $text_color;
    @include themify() {
      color: themed("text_color");
    }
  }
@@ -268,37 +271,50 @@
  .exchange-pop {
    .tab-list {
      background: $inp-b;
      // background: $inp-b;
      $tab-r: 90px;
      border-radius: $tab-r;
      height: 180px;
      color: $text_color;
      @include themify() {
        background: themed("input_background");
      }
      .tab-item {
        text-align: center;
        border-radius: $tab-r;
        @include themify() {
          background: themed("input_background");
        }
      }
      .active {
        background: $bg_yellow;
        background: $bg_yellow !important;
        border-radius: $tab-r;
      }
    }
    .title {
      color: $text_color;
      padding: 30px 0 !important
      padding: 30px 0 !important;
      @include themify() {
        color: themed("text_color");
      }
    }
    .search-input {
      color: $text_color;
      background: $inp-b;
      border-radius: 80px;
      height: 100px !important;
      display: flex;
      align-items: center;
      padding-left: 30px !important;
      @include themify() {
        background: themed("input_background");
        color: themed("text_color");
      }
    }
    .list {
src/components/Transform/perpetual-open/index.vue
@@ -123,9 +123,10 @@
              <!-- 张数输入 -->
              <!-- <amount-slider ref="sliderRef" :maxAmount="maxUSDT" @getAmount="getAmount"
                :propsAmount="form.amount"></amount-slider> -->
                <div class="btns_box" >
                    <div :class="bfbindex==index?'btns_box_boxs':'btns_box_box'" @click="bfbclick(item,index)" v-for="(item,index) in bfblist" :key="index">{{item.name}}%</div>
                </div>
              <div class="btns_box">
                <div :class="bfbindex == index ? 'btns_box_boxs' : 'btns_box_box'" @click="bfbclick(item, index)"
                  v-for="(item, index) in bfblist" :key="index">{{ item.name }}%</div>
              </div>
            </template>
            <template v-if="selectIndex == 1 && userInfo.token">
              <div class="flex justify-between mt-30">
@@ -152,7 +153,7 @@
              </div>
            </template>
            <div class="flex font-24 text-grey justify-between mt-32" >
            <div class="flex font-24 text-grey justify-between mt-32">
              <div>{{ $t("可用USDT") }}</div>
              <div class="textColor">{{ initFutrue.amount }} USDT</div>
            </div>
@@ -257,7 +258,7 @@
                    '%,rgba(246,70,93,.1) 100%)',
                }"> -->
              <div v-show="(showType == 0 || showType == 2) " class="w-290 flex justify-between pt-1 font-26"
              <div v-show="(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'
@@ -541,13 +542,13 @@
    return {
      THEME,
      fixDate,
      bfbindex:null,
      bfblist:[
          {name:'25'},
          {name:'50'},
          {name:'75'},
          {name:'100'}
      ],
      bfbindex: null,
      bfblist: [
        { name: '25' },
        { name: '50' },
        { name: '75' },
        { name: '100' }
      ],
      currentBuyType: '', // 交割合约当前下单的类型,用于弹窗倒计时结束以后,点击再下一单
      timeout2: null,
      timeout: null,
@@ -624,14 +625,14 @@
  },
  methods: {
    reserve,
    bfbclick(e,i){
        this.bfbindex = i
        e = parseInt(e.name)
        const rate = e / 100; //如0.25
        this.form.amount = this.maxUSDT * rate
        var a = this.form.amount
        this.form.amount = Math.floor(a*100)/100
    },
    bfbclick(e, i) {
      this.bfbindex = i
      e = parseInt(e.name)
      const rate = e / 100; //如0.25
      this.form.amount = this.maxUSDT * rate
      var a = this.form.amount
      this.form.amount = Math.floor(a * 100) / 100
    },
    //获取张数
    getAmount(val) {
      if (!val) {
@@ -956,24 +957,28 @@
<style lang="scss">
@import "@/assets/init.scss";
.btns_box_boxs{
    width: 23%;
    border: 1px solid #F7B600;
    text-align: center;
    border-radius: 10px;
    color: #F7B600;
.btns_box_boxs {
  width: 23%;
  border: 1px solid #F7B600;
  text-align: center;
  border-radius: 10px;
  color: #F7B600;
}
.btns_box_box{
    width: 23%;
    border: 1px solid #cbcbcb;
    text-align: center;
    border-radius: 10px;
.btns_box_box {
  width: 23%;
  border: 1px solid #cbcbcb;
  text-align: center;
  border-radius: 10px;
}
.btns_box{
    display: flex;
    justify-content: space-between;
    align-items: center;
.btns_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#cryptos {
  .perpetual-open {
    font-size: 26px;
@@ -1156,7 +1161,10 @@
    .van-action-sheet__item {
      background: transparent !important;
      color: $text_color;
      @include themify() {
        color: themed("text_color");
      }
    }
  }
src/components/Transform/trade-head/index.vue
@@ -12,10 +12,10 @@
            <img v-if="isReturn" src="@/assets/image/icon_back.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">
@@ -26,10 +26,10 @@
              </template>
              <template v-else>
                <img src="../../../assets/image/icon_back.png" class="w-40 h-40 back mr-50" alt="" @click="backPath()">
                <!-- <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>
            <div class="flex flex-col pl-21" @click="onSidebar">
src/components/Transform/trade-order-area/index.vue
@@ -587,7 +587,7 @@
  display: flex;
  color: $text_color;
  color: $text_color3;
  font-size: 26px;
  align-items: center;
@@ -605,6 +605,7 @@
.active-bg {
  background: $input_background;
  border-radius: 2.5rem;
  color: $text_color;
}
.buyandSell {
src/components/ex-input/index.vue
@@ -8,13 +8,13 @@
        <img src="../../assets/image/login/more.png" alt="">
      </div>
      <!-- <p>{{ passwordType }} {{ props.value }}</p> -->
      <input autocomplete="off" name="username" class="inputBackground" v-if="typeText == 'password'" :type="passwordType"
        :placeholder="placeholderText" :value="modelValue" @input="onInput" :disabled="disabled" />
      <input autocomplete="off" name="username" class="inputBackground" v-if="typeText == 'password'"
        :type="passwordType" :placeholder="placeholderText" :value="modelValue" @input="onInput" :disabled="disabled" />
      <div class="max-input" v-else>
        <input autocomplete="off" v-if="max > 0" :maxlength="max" class="inputBackground" type="text" :disabled="disabled"
        :placeholder="placeholderText" :value="modelValue" @input="onInput" />
        <input autocomplete="off" v-else  class="inputBackground" type="text" :disabled="disabled"
        :placeholder="placeholderText" :value="modelValue" @input="onInput" />
        <input autocomplete="off" v-if="max > 0" :maxlength="max" class="inputBackground" type="text"
          :disabled="disabled" :placeholder="placeholderText" :value="modelValue" @input="onInput" />
        <input autocomplete="off" v-else class="inputBackground" type="text" :disabled="disabled"
          :placeholder="placeholderText" :value="modelValue" @input="onInput" />
      </div>
      <div class="rightCon">
        <div class="closeBox" v-if="clearBtn" @click="clear"><img src="../../assets/image/login/clear.png" alt="" />
@@ -109,15 +109,22 @@
</script>
<style lang="scss" scoped>
@import "@/views/authentication/components/intl.css";
// @import "@/views/authentication/components/intl.css";
@import "@/assets/theme/index.scss";
.textColor{
  color: $text_color;
.textColor {
  @include themify() {
    color: themed("text_color") !important;
  }
}
.inputCom {
  color: $text_color;
  padding-bottom: 22px;
  font-size: 14px;
  @include themify() {
    color: themed("text_color") !important;
  }
  .iptbox {
    height: 44px;
@@ -147,7 +154,10 @@
    height: 100%;
    border: none;
    padding-left: 10px;
    color: $text_color;
    @include themify() {
      color: themed("text_color") !important;
    }
  }
  .rightCon {
@@ -172,8 +182,11 @@
.tips {
  font-size: 13px;
  color: $text_color1;
  margin-top: 9px;
  @include themify() {
    color: themed("text_color1") !important;
  }
}
input:-webkit-autofill {
@@ -188,9 +201,11 @@
  transform: scale(1.3);
  display: inline-block;
}
.max-input{
.max-input {
  width: 100%;
  input{
  input {
    width: 100%;
  }
}
src/components/ex-input/new-input.vue
@@ -115,23 +115,33 @@
</script>
<style lang="scss" scoped>
@import "@/views/authentication/components/intl.css";
// @import "@/views/authentication/components/intl.css";
@import "@/assets/theme/index.scss";
$inp-b: #f5f5f5;
.inputBackground {
  background: $inp-b;
  border: #d5d5d5 solid 1px;
  // @include themify() {
  //   background: themed("c2c_background") !important;
  // }
}
.textColor {
  color: $mainBgColor;
  @include themify() {
    color: themed("text_color") !important;
  }
}
.inputCom {
  color: $mainBgColor;
  padding-bottom: 22px;
  font-size: 14px;
  @include themify() {
    color: themed("text_color") !important;
  }
  .iptbox {
    height: 55px;
@@ -161,8 +171,11 @@
    height: 100%;
    border: none;
    padding-left: 10px;
    color: $mainBgColor;
    border-radius: 20px;
    @include themify() {
      color: themed("text_color") !important;
    }
  }
  .rightCon {
@@ -187,8 +200,11 @@
.tips {
  font-size: 13px;
  color: $text_color1;
  margin-top: 9px;
  @include themify() {
    color: themed("text_color1") !important;
  }
}
input:-webkit-autofill {
@@ -196,7 +212,10 @@
}
input::-webkit-input-placeholder {
  color: $dark-grey;
  @include themify() {
    color: themed("text_color1") !important;
  }
}
.icon {
src/components/foreign/foreign-contract-header/index.vue
@@ -6,10 +6,10 @@
                <div class="flex justify-start pt-10 pb-5 before">
                    <img src="@/assets/image/icon_back_1.png" class="icon_back_1" alt="" @click="jump()">
                    <div class="flex items-center font-14">
                        <!-- <img src="@/assets/theme/dark/image/black-convert.png" alt="convert-img" class="w-18 h-18"
                            @click="onSidebar"> -->
                        <img src="@/assets/theme/white/image/black-convert.png" alt="convert-img" class="w-18 h-18"
                        <img src="@/assets/theme/dark/image/black-convert.png" alt="convert-img" class="w-18 h-18"
                            @click="onSidebar">
                        <!-- <img src="@/assets/theme/white/image/black-convert.png" alt="convert-img" class="w-18 h-18"
                            @click="onSidebar"> -->
                        <div class="flex pl-10 textColor font-700" @click="onSidebar">
                            <div class="font-35">{{ symbol.toUpperCase() || '--' }}</div>
                            <div class="ml-15">{{ $t('delivery') }}</div>
src/components/fx-footer/index.vue
@@ -193,24 +193,32 @@
</script>
<style lang="scss" scoped>
@import '@/assets/theme/index.scss';
:deep(.van-tabbar-item__text) {
  font-size: 12px;
  color: #7f7f7f;
}
:deep(.van-tabbar-item--active) {
  background-color: $white;
  @include themify() {
    background-color: themed("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;
  @include themify() {
    background-color: themed("footer_background");
  }
}
.van-tabbar--fixed::after {
  border-color: $white;
  @include themify() {
    border-color: themed("footer_background");
  }
}
// .blue {
@@ -218,7 +226,9 @@
// }
.active {
  color: #292929 !important;
  @include themify() {
    color: themed("text_color3") !important;
  }
}
.footer {
src/components/fx-header/index.vue
@@ -37,13 +37,17 @@
</script>
<style lang="scss" scoped>
@import "@/assets/theme/index.scss";
:deep(.van-icon) {
  font-size: 18px;
  // color: $text_color;
  color: $log-c;
}
:deep(.van-nav-bar__title) {
  color: $log-c;
  @include themify() {
    color: themed("text_color");
  }
  // color: $text_color;
}
</style>
src/components/quotes-header/index.vue
@@ -1,5 +1,5 @@
<template lang="pug">
section.quotes-header.flex.justify-between.p-4.bg-white
section.quotes-header.flex.justify-between.p-4.mainBackground
    div.flex
        img.w-8.h-8.mr-4(@click="emitSorts" src="@/components/quotes-header/sort.png" alt="sort")
        //- img.w-8.h-8(@click="route('/quotes/edit')" src="@/components/quotes-header/edit.png" alt="edit")
src/config/theme.js
@@ -1,4 +1,4 @@
// let theme = 'dark'
let theme = 'light'
let theme = 'dark'
// let theme = 'light'
export const THEME = theme
src/main.js
@@ -1,6 +1,7 @@
import { createApp } from 'vue'
import './assets/css/index.scss'
import './assets/css/init.scss'
import './assets/theme/index.scss'
import 'vant/lib/index.css'
import fxHeader from '@/components/fx-header'
import 'default-passive-events'
@@ -13,8 +14,12 @@
import pinia from '@/store'
import store from '@/store/store'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
import { getStorage } from '@/utils/utis'
pinia.use(piniaPluginPersistedstate)
// 初始化主题为黑夜模式
const theme = getStorage('theme') || 'dark'
window.document.documentElement.setAttribute('data-theme', theme)
const app = createApp(App)
const title = import.meta.env.VITE_APP__TITLE
@@ -26,4 +31,11 @@
app.use(pinia)
app.use(store)
// 确保store中的主题状态与DOM同步
app.mount('#app')
// 在应用挂载后初始化主题
if (store.state.vant && store.state.vant.theme !== theme) {
  store.commit('vant/SET_THEME', theme)
} else if (!store.state.vant || !store.state.vant.theme) {
  store.commit('vant/SET_THEME', theme)
}
src/store/modules/vant.js
@@ -5,7 +5,7 @@
export default {
  namespaced: true,
  state: {
    theme: 'light' || getStorage('theme'), // 主题 light(白天)/dark(夜间)
    theme: getStorage('theme') || 'dark', // 主题 light(白天)/dark(夜间)
  },
  mutations: {
    "SET_THEME"(state, val) { // 修改主题状态
src/views/ICO/ico.vue
@@ -125,7 +125,7 @@
        padding: 1rem 0rem;
        .ico_item {
            background-color: #eee;
            background-color: #333;
            padding: .5rem 1rem;
            border: #aaa solid 1px;
            border-radius: 1rem;
src/views/authentication/components/nationalityList.vue
@@ -2,8 +2,8 @@
    <div class="nationList">
        <van-action-sheet v-model:show="isShow" :title="props.title">
            <form>
                <van-search class="tabBackground" v-model="val" :placeholder="$t('entrynational')" @input="onSearch(val)"
                    @clear="onClear" />
                <van-search class="tabBackground" v-model="val" :placeholder="$t('entrynational')"
                    @input="onSearch(val)" @clear="onClear" />
            </form>
            <div class="flex pl-30 pr-30 pt-30 pb-30 justify-between list-view box-border textColor container"
@@ -218,15 +218,7 @@
</script>
<style lang="scss" scoped>
@import "intl.css";
:deep(.van-action-sheet__header) {
    // background-color: $main2_background;
    // color: $text_color;
}
.container {
    // background-color:  $main2_background;
}
@import "@/assets/theme/index.scss";
.van-action-sheet__header {
    color: $text_color4;
@@ -234,16 +226,20 @@
.nationList {
    :deep(.van-field__control) {
        color: $text_color;
        @include themify() {
            color: themed("text_color");
        }
    }
}
:deep(.van-search__content) {
    background: $tab_background;
    color: $text_color;
    @include themify() {
        color: themed("text_color");
        background: themed("tab_background");
    }
}
:deep(.van-action-sheet__content) {
    background:  $selectSymbol_background;
    background: $selectSymbol_background;
}
</style>
src/views/cryptos/AccountChange/index.vue
@@ -202,11 +202,15 @@
    box-sizing: border-box;
    :deep(.van-tab--active .van-tab__text) {
      color: $text_color;
      @include themify() {
        color: themed("text_color");
      }
    }
    :deep(.van-tab__text) {
      color: $text_color1;
      @include themify() {
        color: themed("text_color1");
      }
    }
  }
src/views/cryptos/Trade/index.vue
@@ -651,12 +651,12 @@
  .select-box {
    width: 220px;
    background: $inp-b;
    margin-right: 20px;
  }
    @include themify() {
      background: themed("input_background") !important;
    }
  }
}
.z-100 {
@@ -665,8 +665,12 @@
.option-box {
  z-index: 99;
  background: $inp-b;
  box-shadow: 0px 0px 0.1875rem 0.1875rem $inp-b;
  @include themify() {
    background: themed("input_background");
    box-shadow: 0px 0px 0.1875rem 0.1875rem themed("input_background");
    color: themed("text_color");
  }
}
:deep(.van-action-sheet__content) {
@@ -674,7 +678,10 @@
  .van-action-sheet__item {
    background: transparent;
    color: $text_color;
    @include themify() {
      color: themed("text_color");
    }
  }
}
src/views/cryptos/TrendDetails/index.vue
@@ -550,8 +550,8 @@
}
:deep(.van-tabs__nav) {
  // background-color: $night !important;
  background-color: $inp-b !important;
  background-color: $night !important;
  // background-color: $inp-b !important;
}
@keyframes animate1 {
src/views/homePage/components/head.vue
@@ -1,10 +1,13 @@
<template>
    <div class="head flex justify-between items-center pl-5 pr-5">
        <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">
        <div class="more mr-5">
            <img src="@/assets/imgs/home/more.png" alt="" @click="onRoute('/my')">
        </div>
        <div class="more_input tabBackground1 pl-5 pr-5 flex items-center justify-start mr-5 pt-2">
            <img src="@/assets/imgs/quotes/search.png" alt="">
            <!-- <span class="pl-5">{{ $t('请输入关键词搜寻') }}</span> -->
            <van-field v-model="iValue" :placeholder="$t('请输入关键词搜寻')" style="background-color: #F7F7F7;padding: 0 1rem;"
            <van-field v-model="iValue" :placeholder="$t('请输入关键词搜寻')" style="padding: 0 1rem;"
                @input="emit('search', iValue)" />
        </div>
        <div class="scan"><img src="@/assets/image/assets-center/language.png" alt="" @click="onRoute('/language')">
@@ -40,8 +43,6 @@
<style lang="scss" scoped>
.head {
    width: 100%;
    $inp-bg: #F7F7F7;
    $inp-c: #999;
    margin-bottom: 1rem;
    .more,
@@ -53,11 +54,10 @@
    .more_input {
        // width: 26rem;
        // background: #fff;
        width: 100%;
        height: 4.5rem;
        background: $inp-bg;
        border-radius: 2.25rem;
        color: $inp-c;
        font-size: 1.5rem;
        span {
src/views/homePage/index.vue
@@ -1,5 +1,5 @@
<template>
    <div class="home_page">
    <div class="home_page mainBackground textColor">
        <Head @search="onSearch"></Head>
        <!-- <div class="home_logo flex justify-center"><img src="@/assets/imgs/home/home_logo.png" alt=""></div> -->
@@ -112,7 +112,7 @@
    // { key: 3, name: `C2C ${t('交易')}`, icon: new URL('@/assets/imgs/home/home_3.png', import.meta.url) },
    // { key: 4, name: t('邀请好友'), icon: new URL('@/assets/imgs/home/home_4.png', import.meta.url) },
    // { key: 5, name: t('合约'), icon: new URL('@/assets/imgs/home/home_5.png', import.meta.url), path: '/trade/index' },
    { key: 6, name: t('现货'), icon: new URL('@/assets/imgs/home/home_5.png', import.meta.url), path: '/cryptos/trade/btcusdt' },
    // { key: 6, name: t('现货'), icon: new URL('@/assets/imgs/home/home_5.png', import.meta.url), path: '/cryptos/trade/btcusdt' },
    { key: 2, name: t('储值'), icon: new URL('@/assets/imgs/home/home_2.png', import.meta.url), path: '/cryptos/recharge/rechargeList?isForeign=true' },
    // { key: 7, name: t('提现'), icon: new URL('@/assets/imgs/home/home_6.png', import.meta.url), path: '/exchange/withdraw-usdt' }
    { key: 7, name: t('提现'), icon: new URL('@/assets/imgs/home/home_6.png', import.meta.url), path: '/cryptos/Withdraw/withdrawPage' },
@@ -121,7 +121,7 @@
    // { key: 9, name: t('划转'), icon: new URL('@/assets/imgs/home/home_8.png', import.meta.url), path: '/my/transfer' },
    // { key: 10, name: t('更多'), icon: new URL('@/assets/imgs/home/home_9.png', import.meta.url) },
    { key: 11, name: "STO", icon: new URL('@/assets/imgs/home/home_1.png', import.meta.url), path: '/ICO/ico' },
    // { key: 11, name: "STO", icon: new URL('@/assets/imgs/home/home_1.png', import.meta.url), path: '/ICO/ico' },
    // { key: 12, name: "C2C", icon: new URL('@/assets/imgs/home/home_1.png', import.meta.url), path: '/wantBuy' },
    // { key: 13, name: t('质押'), icon: new URL('@/assets/imgs/home/home_1.png', import.meta.url), path: '' },
    { key: 14, name: t('onLineService'), icon: new URL('@/assets/imgs/home/home_10.png', import.meta.url), path: '/customerService' },
@@ -229,12 +229,12 @@
<style lang="scss">
.home_page {
    background: $white;
    // background: $white;
    min-height: 100vh;
    width: 100%;
    padding: 1rem 1rem 10rem 1rem;
    // $log-c: #282828;
    $tab-c: #343434;
    $tab-c: #888;
    $inp-c: #999;
    $crd-b: #f7f7f7;
src/views/my/assets.vue
@@ -185,12 +185,16 @@
<style lang="scss" scoped>
@import '@/assets/theme/index.scss';
.assets {
    min-height: 100vh;
    background: $mainbgWhiteColor;
    padding: 2.8rem 2rem 10rem 2rem;
    $assets_title_color: #9a9a9a;
    color: $assets_title_color;
    @include themify() {
        color: themed("text_color2");
    }
    :deep(.van-cell) {
        padding-left: 0;
@@ -216,8 +220,11 @@
    }
    .assets_money {
        color: $text_color4;
        font-size: 3.4rem;
        @include themify() {
            color: themed("text_color");
        }
        .pricing_jj {
            font-size: 1.6rem;
@@ -249,13 +256,19 @@
    .assets_revenue {
        font-size: 2rem;
        color: #646464;
        font-weight: 600;
        @include themify() {
            color: themed("text_color1");
        }
        span {
            color: #6e6e6e;
            text-decoration: underline dotted;
            font-weight: 400;
            @include themify() {
                color: themed("text_color1");
            }
        }
    }
@@ -264,7 +277,10 @@
            $item_width: 8.3rem;
            width: $item_width;
            font-size: 1.8rem;
            color: $text_color4;
            @include themify() {
                color: themed("text_color2");
            }
            img {
                height: $item_width;
@@ -296,8 +312,11 @@
    }
    .assets_item {
        color: $text_color4;
        font-size: 2.1rem;
        @include themify() {
            color: themed("text_color2");
        }
        .icon {
            width: 1.8rem;
@@ -313,8 +332,11 @@
        }
        .assets_item_light {
            color: #9b9b9b;
            font-weight: 300;
            @include themify() {
                color: themed("text_color2");
            }
        }
    }
}
src/views/quotes/Detail.vue
@@ -7,10 +7,10 @@
            <img src="@/assets/image/back.png" alt="">
          </div>
          <div class="name-box">
            <!-- <img src="@/assets/theme/dark/image/black-convert.png" alt="convert-img" class="convert-img"
              @click="onSidebar" /> -->
            <img src="@/assets/theme/white/image/black-convert.png" alt="convert-img" class="convert-img"
            <img src="@/assets/theme/dark/image/black-convert.png" alt="convert-img" class="convert-img"
              @click="onSidebar" />
            <!-- <img src="@/assets/theme/white/image/black-convert.png" alt="convert-img" class="convert-img"
              @click="onSidebar" /> -->
            <p class="title">{{ chartData?.name }}&nbsp;&nbsp;</p>
            <p class="type">{{ symbol }}</p>
          </div>
src/views/quotes/OpenTrade.vue
@@ -7,10 +7,10 @@
            <img src="@/assets/image/back.png" alt="" @click="onRoute">
          </div>
          <p class="title">
            <!-- <img src="@/assets/theme/dark/image/black-convert.png" alt="convert-img" class="convert-img"
              @click="onSidebar" /> -->
            <img src="@/assets/theme/white/image/black-convert.png" alt="convert-img" class="convert-img"
            <img src="@/assets/theme/dark/image/black-convert.png" alt="convert-img" class="convert-img"
              @click="onSidebar" />
            <!-- <img src="@/assets/theme/white/image/black-convert.png" alt="convert-img" class="convert-img"
              @click="onSidebar" /> -->
            <span class="text">{{ `${symbolName} (${symbol})` }}</span>
          </p>
        </div>
src/views/quotes/components/BuySellTradeTab.vue
@@ -47,7 +47,8 @@
              <img src="@/assets/image/quotes/grey-select.png" alt="select-icon" class="select-icon" />
            </div>
            <div class="option-box" v-show="isShow">
              <div class="font-30" v-for="(item, index) in selectData" :key="item.type" @click="selectItem(item, index)">
              <div class="font-30" v-for="(item, index) in selectData" :key="item.type"
                @click="selectItem(item, index)">
                {{
                  item.title }}
              </div>
@@ -92,7 +93,7 @@
        </div>
        <van-button type="danger" class="buy-btn" @click="handleOrder()">{{ props.isSell ? (t('卖出'))
          : (t('买入'))
        }}</van-button>
          }}</van-button>
        <p class="desc">
          <span class="label">
            {{ t('IndividualStockPositions') }}:<span class="num">100%</span>
@@ -120,7 +121,8 @@
          </ul>
        </div>
        <img src="../../../assets/image/public/record.png" alt="record-img" class="pr-5 record-img " @click="goHistory" />
        <img src="../../../assets/image/public/record.png" alt="record-img" class="pr-5 record-img "
          @click="goHistory" />
      </div>
    </div>
    <section class="etf-container">
@@ -255,16 +257,16 @@
      </section>
      <div class="kline-container flex" v-if="showKlineChart">
        <div class="chart-index">
          <fx-kline :height="500" :symbol="symbol" :isShowsolid="true" :chartType="chartType" v-if="symbol" @data="onData"
            :key="`${symbol}-${timeValue}`" />
          <fx-kline :height="500" :symbol="symbol" :isShowsolid="true" :chartType="chartType" v-if="symbol"
            @data="onData" :key="`${symbol}-${timeValue}`" />
        </div>
      </div>
    </div>
  </section>
</template>
<script setup>
import { ref, onMounted, onBeforeUnmount, computed, reactive, onUnmounted, watch,defineExpose } from 'vue';
import { ref, onMounted, onBeforeUnmount, computed, reactive, onUnmounted, watch, defineExpose } from 'vue';
import { useRoute, useRouter } from 'vue-router';
import { Tab, Tabs } from 'vant';
import {
@@ -683,7 +685,7 @@
      no_zeroList.value = res.no_zero;
    })
}
const loadInit = () =>{
const loadInit = () => {
  activePercenIndex.value = -1
  form.total = ''
  form.volume = ''
@@ -750,7 +752,7 @@
}
:deep(.van-overlay) {
  background: rgba(0, 0, 0, .5);
  background: rgba(255, 2550, 255, .5);
}
:deep(.van-popup) {
src/views/quotes/components/head.vue
@@ -4,7 +4,7 @@
        <div class="more_input pl-20 pr-5 flex items-center justify-start mr-5 pt-2">
            <img src="@/assets/imgs/quotes/search.png" alt="">
            <!-- <span class="pl-5">{{ $t('请输入关键词搜寻') }}</span> -->
            <van-field v-model="iValue" :placeholder="$t('请输入关键词搜寻')" style="background-color: #F7F7F7;"
            <van-field v-model="iValue" :placeholder="$t('请输入关键词搜寻')" style="background: none;"
                @input="emit('search', iValue)" />
        </div>
    </div>
@@ -28,20 +28,23 @@
<style lang="scss" scoped>
@import '@/assets/theme/index.scss';
.head {
    width: 100%;
    $inp-bg: #F7F7F7;
    $inp-c: #999;
    margin-bottom: 1rem;
    .more_input {
        width: 100%;
        height: 4.5rem;
        background: $inp-bg;
        border-radius: 2.25rem;
        color: $inp-c;
        font-size: 1.5rem;
        @include themify() {
            background-color: themed("input_background");
            color: themed("text_color1");
        }
        span {
            text-overflow: ellipsis;
            overflow: hidden;
src/views/usStock/Detail.vue
@@ -7,10 +7,10 @@
            <img src="@/assets/image/back.png" alt="">
          </div>
          <div class="name-box">
            <!-- <img src="@/assets/theme/dark/image/black-convert.png" alt="convert-img" class="convert-img"
              @click="onSidebar" /> -->
            <img src="@/assets/theme/white/image/black-convert.png" alt="convert-img" class="convert-img"
            <img src="@/assets/theme/dark/image/black-convert.png" alt="convert-img" class="convert-img"
              @click="onSidebar" />
            <!-- <img src="@/assets/theme/white/image/black-convert.png" alt="convert-img" class="convert-img"
              @click="onSidebar" /> -->
            <p class="title">{{ enName }}&nbsp;&nbsp;</p>
            <p class="type">{{ symbol }}</p>
          </div>
src/views/usStock/components/BuySellTradeTab.vue
@@ -603,7 +603,7 @@
}
:deep(.van-overlay) {
  background: rgba(0, 0, 0, .5);
  background: rgba(255, 2550, 255, .5);;
}
:deep(.van-popup) {