relicon.pngsrc/App.vue
@@ -141,10 +141,6 @@ 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标题文字显示不全 src/assets/css/variable.scss
@@ -12,10 +12,10 @@ $text_color5:#878A96; // $text_color6:#B7BDD1; // 文字更浅色 $tab_background:#27293B; //tab切换背景颜色 $active_line:#1194F7; //tab选中样式颜色 $active_line:#f7b600; //tab选中样式颜色 $footer_background:#1a1a1a; // 底部颜色 $btn_main: #1194F7; //主题色按钮 $color_main:#1194F7; //主题色文字 $btn_main: #f7b600; //主题色按钮 $color_main:#f7b600; //主题色文字 $btn_background:#474B62; //按钮颜色 $input_background:#242424; //input背景颜色 $cont_background:#27293B; //title背景色 @@ -55,6 +55,10 @@ --van-popup-background: #121212; --van-cell-background: #121212; --van-cell-text-color: #ccc; --van-field-input-text-color: #ccc; --van-tabs-nav-background:#242424; --van-collapse-item-content-background: #121212; --van-collapse-item-content-text-color: #ccc; // --van-collapse-item-content-background: #121212; // --van-collapse-item-content-text-color: #ccc; } src/assets/imgs/assets/cz.png
src/assets/imgs/assets/hz.png
src/assets/imgs/assets/tx.png
src/assets/imgs/home/home_logo.pngsrc/assets/imgs/home/home_logo_1.png
src/assets/init.scss
@@ -302,11 +302,11 @@ } .bg-black { background: #131a2e; background: $main_background; } .bg-night { background: #131a2e; background: $main_background; color: #fff; } @@ -319,10 +319,8 @@ } .bg-dark-grey { background: $dark-grey background: $dark-grey; } ; .bg-light-grey { background: $light-grey; src/components/Transform/contract-header/index.vue
@@ -5,7 +5,7 @@ <div> <div class="flex justify-start pt-5 before"> <div class="flex items-center "> <img src="@/assets/image/icon_back.png" class="w-35 h-35 back" alt="" @click="jump()"> <img src="@/assets/image/icon_back_1.png" class="w-35 h-35 back" alt="" @click="jump()"> <!-- <img src="@/assets/theme/dark/image/black-convert.png" alt="convert-img" class="w-35 h-35" @click="onSidebar"> --> <img src="@/assets/image/exchangeIcon.png" alt="convert-img" class="w-35 h-35" @click="onSidebar"> <div class="flex pl-21 textColor" @click="onSidebar"> src/views/cryptos/AccountChange/index.vue
@@ -178,14 +178,6 @@ @import "@/assets/init.scss"; #cryptos { :deep(.van-tabs__wrap) { // height: 88px !important; border-bottom: 1px solid $icon-bg; } :deep(.van-tabs__nav) { // background: $tab_background; } :deep(.van-tabs__line) { bottom: 10px; src/views/cryptos/PerpetualContract/index.vue
@@ -715,7 +715,7 @@ .trade_new { color: $log-c; background: $mainbgWhiteColor; // background: $main_background; min-height: 100vh; padding: 1.4rem 1.4rem 7rem 1.4rem; @@ -740,55 +740,51 @@ .gift { width: 3.6rem; } } #cryptos { background: $mainbgWhiteColor; $inp-b: #f7f7f7; :deep(.textColor) { color: $log-c; color: $text_color; } :deep(.long) { color: $log-c !important; color: $text_color !important; background: $bg_yellow; border-radius: 5rem; } :deep(.short) { color: $log-c !important; color: $text_color !important; background: $bg_yellow; border-radius: 5rem; } :deep(.poecs) { color: $log-c !important; color: $text_color !important; } :deep(.tabBackground) { background: $inp-b; background: $input_background; } :deep(.greyBg) { background: $inp-b; background: $input_background; } :deep(.option-box) { background: $inp-b; box-shadow: 0px 0px 0.1875rem 0.1875rem $inp-b; background: $input_background; box-shadow: 0px 0px 0.1875rem 0.1875rem $input_background; color: $log-c !important; } :deep(.select-box) { background: $inp-b; background: $input_background; color: $log-c !important; } :deep(.rounded-lg) { background: $inp-b; background: $input_background; border-radius: 5rem; // color: $log-c !important; } @@ -911,7 +907,7 @@ .line { height: 13px; background: $inp-b; background: $text_color; } @keyframes animate1 { @@ -1025,7 +1021,7 @@ bottom: 0; left: 0; z-index: 1000; background: $inp-b; background: $text_color; } .indicator-index-container { src/views/cryptos/Recharge/rechargePage.vue
@@ -267,7 +267,7 @@ @import "@/assets/init.scss"; #cryptos { background-color: $mainbgWhiteColor; // background-color: $mainbgWhiteColor; .rechargePage { width: 100%; src/views/cryptos/TrendDetails/index.vue
@@ -537,7 +537,6 @@ <style lang="scss" scoped> @import "@/assets/init.scss"; #cryptos { :deep(.van-tabs__wrap) { height: 60px !important; @@ -648,7 +647,7 @@ } ul li { background: $night ; background: $main_background ; } .activeBtn { src/views/my/assets.vue
@@ -1,6 +1,6 @@ <template> <div class="assets"> <van-field v-model="value" :placeholder="$t('search')" class="assets_search" left-icon="search" /> <van-field v-model="searchValue" :placeholder="$t('search')" class="assets_search" left-icon="search" /> <div class="assets_1"> <div class="price_box-tit">{{ $t('总资产估值') }}</div> @@ -32,8 +32,37 @@ </div> </div> <div class="assets_2 flex justify-between items-center"> <div class="flex justify-center items-center" v-for="i in tabList1" :key="i.key" @click="toPage(i.path)"> <img :src="i.icon" alt=""> <span>{{ i.name }}</span> </div> </div> <div class="assets_title">{{ $t('总资产估值') }}</div> <van-collapse v-model="activeNames" class="mt-10"> <van-collapse-item :title="$t('分布')" name="1"> <div class="percentage flex just-between items-center"> <div :style="`width:${assetObj.capital / (assetObj.capital + assetObj.contract) * 100}%`"> </div> <div class="flex-1"> </div> </div> <div class="assets_item flex justify-start items-center mt-14 font-bold"> <div class="icon" style="background-color: #8A90FE;"></div> <span class="ml-5 flex-1">{{ $t('资金账户') }}</span> <span class="mr-5">{{ assetObj.capital }}</span> <van-icon name="arrow" /> </div> <div class="assets_item flex justify-start items-center mt-14 font-bold"> <div class="icon" style="background-color: #f7b600;"></div> <span class="ml-5 flex-1">{{ $t('交易账户') }}</span> <span class="mr-5">{{ assetObj.contract }}</span> <van-icon name="arrow" /> </div> </van-collapse-item> </van-collapse> <!-- <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 ? (forexAssets?.money_contract * (currency.rate ?? 0)).toFixed(2) : '0.00' }} @@ -87,32 +116,34 @@ <div class="assets_item flex font-bold justify-between items-center mt-14 mb-10"> <span>{{ $t('资产') }}</span> <van-icon name="exchange" size="3rem" /> </div> </div> --> <div class="assets_item flex justify-start items-center mb-10 font-bold" v-for="item in assetList" :key="item.id"> <img :src="`${HOST_URL}/symbol/${item.symbol_data}.png`" /> <div class="assets_3 mt-10"> <div class="assets_item flex justify-start items-center mb-10 font-bold" v-for="item in assetListCopy" :key="item.id"> <img :src="`${HOST_URL}/symbol/${item.symbol_data}.png`" /> <span class="ml-5 flex-1">{{ item.symbol_data.toUpperCase() }}/USDT</span> <span class="ml-5 flex-1">{{ item.symbol_data.toUpperCase() }}/USDT</span> <div class="mr-3"> <!-- <div class="text-right">0</div> <div class="mr-3"> <!-- <div class="text-right">0</div> <div class="assets_item_light text-right">0.00</div> --> <div class="text-right" v-if="item.symbol == 'btc'"> {{ item.volume ? Number(item.volume).toFixed(8) : '0.0' }} </div> <div class="text-right" v-else-if="item.symbol == 'eth'"> {{ item.volume ? Number(item.volume).toFixed(8) : '0.0' }} </div> <div class="text-right" v-else-if="item.symbol == 'usdt'"> {{ item.volume ? Number(item.volume).toFixed(2) : '0.0' }} </div> <div class="text-right" v-else> {{ item.volume ? Number(item.volume).toFixed(8) : '0.0' }} </div> <div class="assets_item_light text-right"> ≈{{ currency.currency_symbol }} {{ item.usdt ? Number(item.usdt).toFixed(2) : '0.0' }} <div class="text-right" v-if="item.symbol == 'btc'"> {{ item.volume ? Number(item.volume).toFixed(8) : '0.0' }} </div> <div class="text-right" v-else-if="item.symbol == 'eth'"> {{ item.volume ? Number(item.volume).toFixed(8) : '0.0' }} </div> <div class="text-right" v-else-if="item.symbol == 'usdt'"> {{ item.volume ? Number(item.volume).toFixed(2) : '0.0' }} </div> <div class="text-right" v-else> {{ item.volume ? Number(item.volume).toFixed(8) : '0.0' }} </div> <div class="assets_item_light text-right"> ≈{{ currency.currency_symbol }} {{ item.usdt ? Number(item.usdt).toFixed(2) : '0.0' }} </div> </div> </div> </div> @@ -120,7 +151,7 @@ </template> <script setup> import { ref } from "vue"; import { ref, watch } from "vue"; import { useI18n } from "vue-i18n"; import { useRouter } from 'vue-router'; import { _getExchangeRate } from '@/service/cryptos.api' @@ -145,6 +176,12 @@ { key: 2, name: t('提现'), icon: new URL('@/assets/imgs/assets/tibi.png', import.meta.url), path: '/cryptos/Withdraw/withdrawPage' }, { key: 3, name: t('划转'), icon: new URL('@/assets/imgs/assets/huazhuan.png', import.meta.url), path: '/my/transfer' }, { key: 4, name: t('账单'), icon: new URL('@/assets/imgs/assets/zd.png', import.meta.url), path: '/cryptos/accountChange' }, ] const tabList1 = [ { key: 1, name: t('充值'), icon: new URL('@/assets/imgs/assets/cz.png', import.meta.url), path: '/cryptos/recharge/rechargeList?isForeign=true' }, { key: 2, name: t('提现'), icon: new URL('@/assets/imgs/assets/tx.png', import.meta.url), path: '/cryptos/Withdraw/withdrawPage' }, { key: 3, name: t('划转'), icon: new URL('@/assets/imgs/assets/hz.png', import.meta.url), path: '/my/transfer' }, ] // 计价切换 @@ -197,15 +234,23 @@ // 获取资产列表 const assetList = ref([]) const assetListCopy = ref([]) const getList = () => { _getAllWallet({ symbolType: 'cryptos' }).then((res) => { assetList.value = res.extends console.log("资产列表", assetList.value); assetListCopy.value = res.extends // console.log("资产列表", assetList.value); }); } // 资产列表筛选 const searchValue = ref('') watch(searchValue, (newVal) => { assetListCopy.value = assetList.value.filter(item => item.name.toLowerCase().includes(newVal.trim().toLowerCase())) }) getList() getassets() @@ -239,7 +284,7 @@ } .assets_search { background-color: $mainbgWhiteColor; background-color: $input_background; width: 100%; border-radius: 2.5rem; padding: .5rem 2rem; @@ -285,6 +330,34 @@ text-overflow: ellipsis; } } } .assets_2 { margin-bottom: 2.2rem; // padding: 0 1rem; &>div { width: 14.625rem; height: 5rem; background-color: $input_background; font-size: 1.6562rem; border-radius: .55rem; img { width: 2.5rem; height: 2.5rem; margin-right: 1.375rem; } } } .assets_3 { background-color: $input_background; width: 100%; background: #212121; border-radius: 3rem; padding: 2.7rem; box-sizing: border-box; } .assets_title { @@ -368,6 +441,8 @@ .assets_item { color: $text_color3; font-size: 2.1rem; padding: 1.5rem 0; border-bottom: #555 solid 1px; .icon { width: 1.8rem; src/views/my/index.vue
@@ -1,112 +1,105 @@ <template> <section class="my-index" > <fx-header :title="$t('my')"> <!-- <template v-slot:right> <section class="my-index"> <fx-header :title="$t('my')"> <!-- <template v-slot:right> <van-icon name="service-o" size="24" @click="$router.push('/customerService')"></van-icon> </template> --> </fx-header> <!-- <div> <assets-head title=""> <template v-slot:right> <van-icon name="service-o" size="24" @click="$router.push('/customerService')"></van-icon> </template> </assets-head> </div> --> <div class="px-8 mt-4"> <h1 class="text-2xl font-bold title" v-if="!(userStore.userInfo && userStore.userInfo.token)">{{ $t('welcome') }} {{ $title }}! </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" @click="onRoute('/register')">{{ $t('register') }}</van-button> <van-button class="flex-1" type="primary" color="#f7b600" @click="onRoute('/login')">{{ $t('login') }}</van-button> </p> <div class="mt-4 flex items-start" v-else> <img class="w-24 h-24" src="@/assets/image/avatar.png" alt="avatar" /> <div class="ml-5 pt-1 flex flex-col justify-center"> <div class="font-bold text-lg name" style="width: 200px;overflow-wrap: break-word;">{{ userStore.userInfo && userStore.userInfo.username }}</div> <div class="text-sm text-gray-400 mt-5 flex items-center id-text"> ID:{{ userStore.userInfo && userStore.userInfo.usercode }}<img class="w-8 h-8 ml-4" src="@/assets/image/idcopy.png" alt="id" @click="copy" /></div> <div class="flex items-center justify-start mt-5"> <div class="label pl-2 pr-2" :class="{ 'red': status == 0 || status == 3, 'yellow': status == 1, 'green': status == 2 }"> {{ status == 0 ? $t('notCertified') : status == 1 ? $t('reviewing') : status == 2 ? $t('verified') : status == 3 ? $t('noPassView') : '' }} </div> <div class="label pl-2 pr-2 ml-3" :class="{ 'green': kycHighStatus == 2 }"> {{ kycHighStatus == 2 ? $t('高级用户') : $t('普通用户') }} </div> <div class="pl-2 pr-2 ml-3" style="font-size: 12px;">{{$t('信用分')}} : {{userdata.creditScore}}</div> </div> </div> </div> </div> <template v-if="(userStore.userInfo && userStore.userInfo.token)"> <van-divider :style="{ borderColor: '#ddd' }" hairline /> <div class="mt-10 px-8" v-if="(userStore.userInfo && userStore.userInfo.token)"> <div class="title_s font-bold">{{ t('快捷入口') }}</div> <div class="flex flex-start items-start"> <div class="label_item flex flex-col items-center justify-center mt-8" @click="onRoute('/safety')"> <img src="@/assets/imgs/my/安全.png" alt=""> <div>{{ t('安全') }}</div> </div> <!-- <div class="label_item flex flex-col items-center justify-center mt-8" @click="onRoute('/changePassword')"> <img src="@/assets/imgs/my/密码.png" alt=""> <div>{{ t('修改密码') }}</div> </div> --> <div class="label_item flex flex-col items-center justify-center mt-8" @click="onRoute('/cryptos/accountChange')"> <img src="@/assets/imgs/my/记录.png" alt=""> <div>{{ t('账变记录') }}</div> </div> <!-- <div class="label_item flex flex-col items-center justify-center mt-8" @click="onRoute('/certificationCenter')"> <img src="@/assets/imgs/my/身份认证.png" alt=""> <div>{{ t('authVerify') }}</div> </div> --> </div> </div> </template> <template v-for="(item, index) in cellList" :key="index"> <van-divider :style="{ borderColor: '#ddd' }" hairline /> <div class="mt-10 px-8"> <div class="title_s font-bold">{{ item.title }}</div> <div class="flex flex-start items-start flex-wrap"> <div class="label_item flex flex-col items-center justify-center mt-8" v-for="(_item, _index) in item.list" :key="_index" @click="onRoute(_item.path)"> <img :src="_item.icon" alt=""> <div>{{ _item.title }}</div> </div> </div> </div> </template> <template v-if="userStore.userInfo && userStore.userInfo.token"> <van-divider :style="{ borderColor: '#ddd' }" hairline /> <van-cell-group :border="false"> <van-cell is-link="is-link" center="center" :title="t('关于我们')" @click="onRoute('/aboutUs')"> <template #icon> <img class="cell-img" src="../../assets/image/assets-center/aboutUs.png" /> </template> </van-cell> </van-cell-group> </template> <template v-if="userStore.userInfo && userStore.userInfo.token"> <van-divider :style="{ borderColor: '#ddd' }" hairline /> <div class="px-4 mt-4"> <!-- 未登录 --> <template v-if="!(userStore.userInfo && userStore.userInfo.token)"> <div class="px-8 mt-4"> <h1 class="text-2xl font-bold title"> {{ $t('welcome') }} {{ $title }}! </h1> <p class="sub-text">{{ $t('全球最大的区块链资产平台') }}</p> <p class="w-full flex mt-4 gap-x-4"> <van-button type="primary" class="flex-1" round color="#f7b600" @click="loginOut">{{ $t('loginOut') }}</van-button> <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> </div> <template v-for="(item, index) in cellList" :key="index"> <van-divider :style="{ borderColor: '#ddd' }" hairline /> <div class="mt-10 px-8"> <div class="title_s font-bold">{{ item.title }}</div> <div class="flex flex-start items-start flex-wrap"> <div class="label_item flex flex-col items-center justify-center mt-8" v-for="(_item, _index) in item.list" :key="_index" @click="onRoute(_item.path)"> <img :src="_item.icon" alt=""> <div>{{ _item.title }}</div> </div> </div> </div> </template> </template> <!-- 已登录 --> <template v-else> <div class="px-8 mt-4"> <div class="mt-4 flex items-start card"> <img class="w-24 h-24" src="@/assets/image/avatar.png" alt="avatar" /> <div class="ml-5 pt-1 flex flex-col justify-center"> <div class="font-bold text-lg name" style="width: 200px;overflow-wrap: break-word;"> {{ userStore.userInfo && userStore.userInfo.username }} </div> <div class="text-sm text-gray-400 mt-5 flex items-center id-text"> ID:{{ userStore.userInfo && userStore.userInfo.usercode }} <img class="w-8 h-8 ml-4" src="@/assets/image/idcopy.png" alt="id" @click="copy" /> </div> <div class="flex items-center justify-start mt-5"> <div class="label pl-2 pr-2" :class="{ 'red': status == 0 || status == 3, 'yellow': status == 1, 'green': status == 2 }"> {{ status == 0 ? $t('notCertified') : status == 1 ? $t('reviewing') : status == 2 ? $t('verified') : status == 3 ? $t('noPassView') : '' }} </div> <div class="label pl-2 pr-2 ml-3" :class="{ 'green': kycHighStatus == 2 }"> {{ kycHighStatus == 2 ? $t('高级用户') : $t('普通用户') }} </div> <div class="pl-2 pr-2 ml-3" style="font-size: 12px;">{{ $t('信用分') }} : {{ userdata.creditScore }}</div> </div> </div> </div> </div> <div class="card mx-8 mt-10"> <van-cell-group :border="false"> <van-cell is-link="is-link" class="mb-10" center="center" :title="t('安全')" @click="onRoute('/safety')"> <template #icon> <img class="cell-img" src="@/assets/imgs/my/安全.png" /> </template> </van-cell> <van-cell is-link="is-link" class="mb-10" center="center" :title="t('账变记录')" @click="onRoute('/cryptos/accountChange')"> <template #icon> <img class="cell-img" src="@/assets/imgs/my/记录.png" /> </template> </van-cell> <template v-for="(item, index) in cellList" :key="index"> <van-cell is-link="is-link" class="mb-10" center="center" :title="_item.title" @click="onRoute(_item.path)" v-for="(_item, _index) in item.list" :key="_index"> <template #icon> <img class="cell-img" :src="_item.icon" /> </template> </van-cell> </template> <van-cell is-link="is-link" center="center" :title="t('关于我们')" @click="onRoute('/aboutUs')"> <template #icon> <img class="cell-img" src="../../assets/image/assets-center/aboutUs.png" /> </template> </van-cell> </van-cell-group> </div> <div class="px-4 mt-10"> <p class="w-full flex mt-4 gap-x-4"> <van-button type="primary" class="flex-1" round color="#f7b600" @click="loginOut"> {{ $t('loginOut') }}</van-button> </p> </div> </template> @@ -116,7 +109,7 @@ <script setup> import { reactive, onMounted, ref, computed } from 'vue'; import { useRouter } from 'vue-router'; import { _getIdentify, _getKycHighLevel, _logOut,_info ,_customer } from "@/service/user.api.js"; import { _getIdentify, _getKycHighLevel, _logOut, _info, _customer } from "@/service/user.api.js"; import { useUserStore } from '@/store/user'; import { useI18n } from "vue-i18n"; import useClipboard from "vue-clipboard3"; @@ -154,22 +147,22 @@ ] }) const onRoute = (path) => { if(path=='/customerService'){ if(customer_service_url.value){ window.location.href = customer_service_url.value; }else{ router.push(path) } }else{ router.push(path) if (path == '/customerService') { if (customer_service_url.value) { window.location.href = customer_service_url.value; } else { router.push(path) } } else { router.push(path) } } onMounted(() => { if (userStore.userInfo && userStore.userInfo.token) { getIdentify() getKycHighLevel() getinfo() getcustomer() getinfo() // getcustomer() // 这个接口用不了 } }) const cellList = computed(() => { @@ -225,8 +218,8 @@ } const getcustomer = () => { _customer().then((data) => { customer_service_url.value = data.customer_service_url console.log(customer_service_url); customer_service_url.value = data.customer_service_url console.log(customer_service_url); }).catch(error => { console.error('Error fetching data:', error); }); @@ -260,33 +253,20 @@ <style lang="scss" scoped> :deep(.van-cell-group__title) { // background: $main2_background !important; background: $inp-b !important; padding: 12px 16px; } :deep(.van-cell-group) { background: $input_background; .van-icon { display: flex; align-items: center; } } :deep(.van-cell) { // background: $mainBgColor; // border-bottom: 1px solid $border_color; &:hover { // background: $mainBgColor; } } :deep(.van-cell-group__title) { background: $mainBgColor; } :deep(.van-nav-bar__content) { // background: $mainBgColor; } :deep(.van-icon) { @@ -301,8 +281,8 @@ border: none; } :deep(.van-grid-item__content) { // background: $selectSymbol_background; :deep(.van-cell) { background-color: $input_background; } :deep(.van-grid-item__text) { @@ -313,7 +293,12 @@ .my-index { padding-bottom: 60px; // background: $mainbgWhiteColor; .card { background-color: $input_background; padding: 2.125rem; border-radius: 1rem; } .title_s { font-size: 16px; @@ -322,9 +307,11 @@ .label_item { width: 33%; font-size: 12px; div{ text-align: center; } div { text-align: center; } img { width: 32%; margin-bottom: 3px; src/views/my/transfer.vue
@@ -142,6 +142,8 @@ left: 50%; transform: translate(-50%, -50%); width: 4rem; border-radius: 50%; background-color: #fff; } .hint { @@ -154,7 +156,7 @@ } .label_but { color: $text_color4; color: $text_color; } .transfer_label {