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