33 files modified
4 files added
| | |
| | | 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 () => { |
| | |
| | | } |
| | | |
| | | #cryptos { |
| | | background-color: $mainbgWhiteColor; |
| | | // background-color: $mainbgWhiteColor; |
| | | |
| | | // 上传图片框大小设置 |
| | | .van-uploader__upload { |
| | |
| | | .list-quatation { |
| | | .van-cell { |
| | | padding: 15px 0 !important; |
| | | background: $mainbgWhiteColor; |
| | | // background: $inp-b; |
| | | background: $selectSymbol_background; |
| | | |
| | | &::after { |
| | | border: none; |
| | |
| | | } |
| | | |
| | | .van-popup { |
| | | background: $mainbgWhiteColor; |
| | | background: $main_background; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .van-dialog { |
| | | background: $mainbgWhiteColor; |
| | | background: $main_background; |
| | | } |
| | | |
| | | .van-dialog__header { |
| | |
| | | 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); |
| | | } |
| | |
| | | $mainBgColor: #131a2e; |
| | | $mainBgColor: #121212; |
| | | $mainTextColor: #fff; |
| | | $mainbgWhiteColor: #fff; |
| | | |
| | | $main_background:#131a2e; //主题色 |
| | | $main_background:#121212; //主题色 |
| | | $main2_background:#1F233D; //主题浅色背景 |
| | | $text_color:#fff; //文字颜色 |
| | | $text_color1:#868D9A; //文字浅色 |
| | |
| | | $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; |
| | |
| | | $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; |
| | | } |
| | |
| | | .c2cColor{color:$c2c_color} |
| | | .labelColor{color:$text_color6} |
| | | .tabBackground{ |
| | | // background: $tab_background; |
| | | background: $inp-b; |
| | | background: $tab_background; |
| | | } |
| | | .activeLine{ |
| | | background: $active_line; |
| | |
| | | background: $btn_main; |
| | | } |
| | | .colorMain{ |
| | | color: $color_main; |
| | | color: $bg_yellow; |
| | | } |
| | | .borderMain { |
| | | border: 1px solid $color_main; |
| | |
| | | background: $btn_background; |
| | | } |
| | | .inputBackground{ |
| | | // background: $input_background; |
| | | background: $inp-b; |
| | | background: $input_background; |
| | | } |
| | | .inputBackground1{ |
| | | // background: $input_background1; |
| | |
| | | |
| | | <style lang="scss" scoped> |
| | | :deep(.van-nav-bar) { |
| | | // background-color: $selectSymbol_background !important; |
| | | background-color: $mainbgWhiteColor !important; |
| | | .van-nav-bar__content { |
| | | height: 96px; |
| | | } |
| | |
| | | |
| | | <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%)' |
| | | }"> |
| | |
| | | </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%)' |
| | | }"> |
| | |
| | | </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')" |
| | |
| | | </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" /> |
| | |
| | | } |
| | | |
| | | .textColor{ |
| | | color: $text_color4; |
| | | color: $text_color; |
| | | } |
| | | |
| | | .left-leave-active, |
| | |
| | | <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 + |
| | |
| | | <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 + |
| | |
| | | |
| | | <!-- <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"> |
| | |
| | | <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; |
| | | |
| | |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | border-radius: 27.5px; |
| | | // border-radius: 27.5px; |
| | | } |
| | | |
| | | .areaCode { |
| | |
| | | height: 100%; |
| | | border: none; |
| | | padding-left: 10px; |
| | | color: $mainBgColor; |
| | | color: $text_color; |
| | | border-radius: 20px; |
| | | } |
| | | |
| | |
| | | <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> |
| | |
| | | <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"> |
| | |
| | | <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"> |
| | |
| | | active.value = 'assets' |
| | | } else if (route.path == "/documentation/index") { |
| | | active.value = 'documentation' |
| | | } |
| | | } |
| | | let quotesStore = useQuotesStore() |
| | | |
| | | watch(() => route.path, (nv) => { |
| | |
| | | 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), |
| | |
| | | <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 { |
| | |
| | | // } |
| | | |
| | | .active { |
| | | color: #292929 !important; |
| | | color: #f7b328 !important; |
| | | } |
| | | |
| | | .footer { |
| | |
| | | |
| | | // 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 = '' |
| | |
| | | }, |
| | | }) |
| | | 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() |
| | | }) |
| | | |
| | | // 登录按钮逻辑,标记为异步函数 |
| | |
| | | @import "@/assets/init.scss"; |
| | | |
| | | #cryptos { |
| | | background-color: $mainbgWhiteColor; |
| | | // background-color: $mainbgWhiteColor; |
| | | :v-deep(.px-4) { |
| | | padding-left: 30px !important; |
| | | padding-right: 30px !important; |
| | |
| | | } |
| | | |
| | | .diviLine{ |
| | | background: $mainbgWhiteColor; |
| | | background: $main2_background; |
| | | } |
| | | |
| | | .border-b-color{ |
| | |
| | | </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%)' |
| | | }"> |
| | |
| | | </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%)' |
| | | }"> |
| | |
| | | order_no: '', |
| | | timer: null, |
| | | isChangeLine: false, |
| | | isNight: false, |
| | | isNight: true, |
| | | isChange: true, //是否有切换黑夜白天模式 |
| | | kineType: '', |
| | | deepBuy: [], |
| | |
| | | box-sizing: border-box; |
| | | font-size: 13px; |
| | | } |
| | | |
| | | .w-full{ |
| | | background-color: $bg_yellow; |
| | | border: none; |
| | | } |
| | | .forgetCont { |
| | | padding: 15px; |
| | | ; |
| | |
| | | } |
| | | |
| | | .active { |
| | | background: $US_tabActice_background; |
| | | color: $color_main; |
| | | background: $bg_Bottom; |
| | | // color: $text_color1; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <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> |
| | |
| | | <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() |
| | |
| | | $inp-c: #999; |
| | | margin-bottom: 1rem; |
| | | |
| | | .more, |
| | | .gift, |
| | | .scan, |
| | | .instruction { |
| | | width: 3.2rem; |
| | | } |
| | | .more{ |
| | | width: 5rem; |
| | | } |
| | | |
| | | .more_input { |
| | | // width: 26rem; |
| | |
| | | </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)"> |
| | |
| | | </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" /> |
| | |
| | | |
| | | <style lang="scss"> |
| | | .home_page { |
| | | background: $white; |
| | | // background: $white; |
| | | min-height: 100vh; |
| | | width: 100%; |
| | | padding: 1rem 1rem 10rem 1rem; |
| | |
| | | } |
| | | |
| | | .notice_content { |
| | | &>div:first-child { |
| | | color: $text_color1; |
| | | } |
| | | color: $text_color; |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | .login_but_z { |
| | | background: $crd-b; |
| | | color: $text_color4; |
| | | } |
| | | |
| | | .login_but_d { |
| | |
| | | |
| | | .grid_item { |
| | | width: 24%; |
| | | color: $tab-c; |
| | | color: $text_color3; |
| | | font-size: 1.6rem; |
| | | |
| | | .grid_item_img { |
| | |
| | | </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') }}? |
| | |
| | | padding: 15px; |
| | | font-size: 13px; |
| | | box-sizing: border-box; |
| | | background: $mainbgWhiteColor; |
| | | // background: $mainbgWhiteColor; |
| | | min-height: 100vh; |
| | | |
| | | :deep(.textColor) { |
| | |
| | | .w-full { |
| | | background: $bg_yellow; |
| | | border: none; |
| | | color: $mainBgColor; |
| | | font-size: 16px; |
| | | font-weight: 600; |
| | | } |
| | |
| | | <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 ? |
| | |
| | | |
| | | <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> |
| | |
| | | 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; |
| | |
| | | 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 { |
| | |
| | | |
| | | .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; |
| | | } |
| | |
| | | $item_width: 8.3rem; |
| | | width: $item_width; |
| | | font-size: 1.8rem; |
| | | color: $text_color4; |
| | | color: $text_color3; |
| | | |
| | | img { |
| | | height: $item_width; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | // .divider { |
| | | // height: 1rem; |
| | | // border-radius: 0.5rem; |
| | | // background: $bg_yellow; |
| | | // } |
| | | |
| | | .percentage { |
| | | div { |
| | |
| | | } |
| | | |
| | | .assets_item { |
| | | color: $text_color4; |
| | | color: $text_color3; |
| | | font-size: 2.1rem; |
| | | |
| | | .icon { |
| | |
| | | } |
| | | |
| | | .assets_item_light { |
| | | color: #9b9b9b; |
| | | color: $text_color3; |
| | | font-weight: 300; |
| | | } |
| | | } |
| | |
| | | </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> |
| | | |
| | |
| | | |
| | | .my-index { |
| | | padding-bottom: 60px; |
| | | background: $mainbgWhiteColor; |
| | | // background: $mainbgWhiteColor; |
| | | |
| | | .title_s { |
| | | font-size: 16px; |
| | |
| | | } |
| | | |
| | | .pb-fix{ |
| | | background-color: $mainbgWhiteColor; |
| | | // background-color: $mainbgWhiteColor; |
| | | } |
| | | |
| | | .search-container { |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | width: 100%; |
| | | background-color: $main_background; |
| | | } |
| | | |
| | | .header { |
| | |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .quotes-list { |
| | | background: $mainbgWhiteColor; |
| | | // background: $mainbgWhiteColor; |
| | | min-height: 100vh; |
| | | |
| | | :deep(.active) { |
| | |
| | | |
| | | |
| | | <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 { |
| | |
| | | <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> |
| | |
| | | box-sizing: border-box; |
| | | padding: 16px; |
| | | font-size: 13px; |
| | | background-color: $mainbgWhiteColor; |
| | | // background-color: $mainbgWhiteColor; |
| | | } |
| | | |
| | | .top { |
| | |
| | | // background: $US_tabActice_background; |
| | | background: $bg_yellow; |
| | | // color: $color_main; |
| | | color: $text_color4; |
| | | color: $text_color; |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | .trade_new { |
| | | color: $log-c; |
| | | background: $mainbgWhiteColor; |
| | | // background: $mainbgWhiteColor; |
| | | min-height: 100vh; |
| | | padding: 1.4rem 1.4rem 7rem 1.4rem; |
| | | |
| | |
| | | } |
| | | |
| | | #cryptos { |
| | | background: $mainbgWhiteColor; |
| | | $inp-b: #f7f7f7; |
| | | // background: $mainbgWhiteColor; |
| | | $inp-b: $tab_background; |
| | | |
| | | :deep(.textColor) { |
| | | color: $log-c; |