11 files modified
1 files renamed
2 files added
| | |
| | | </div> |
| | | <h1 class="font-55 font-normal mt-70 text-center">{{$t('即刻开始交易')}}</h1> |
| | | <p class="font-26 text-grey mt-26 text-center">{{$t('去中心化的交易所平台')}}</p> |
| | | <div class="flex justify-center items-center mt-131"><p |
| | | class="w-300 h-80 rounded bg-blue text-white flex justify-center items-center">{{$t('立即交易')}}</p></div> |
| | | <div class="flex justify-center items-center mt-131" @click="$router.push('/perpetualContract/wld')"> |
| | | <p class="w-300 h-80 rounded bg-blue text-white flex justify-center items-center">{{$t('立即交易')}}</p> |
| | | </div> |
| | | <ul class="flex justify-between mt-214 px-32 pb-80"> |
| | | <li class="flex justify-center flex-1"><img |
| | | src="data:image/png;base64,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" |
| | |
| | | <template> |
| | | <!-- 永续合约,交割合约公共头部 --> |
| | | <div> |
| | | <div class="contract-header"> |
| | | <div class="pl-30 pr-30"> |
| | | <div class="flex justify-center pt-45 before"> |
| | | <div class="flex items-center justify-center "> |
| | | <!-- <img :src="require(`@/assets/theme/${theme}/image/icon_back.png`)" class="w-35 h-35 back" alt="" |
| | | @click="$router.push(`/trendDetails/${symbol}`)"> --> |
| | | <img :src="require(`@/assets/theme/${theme}/image/convert.png`)" alt="convert-img" class="w-35 h-35" |
| | | @click="onSidebar"> |
| | | <div class="flex pl-21 textColor" @click="onSidebar"> |
| | | <div class="font-35">{{ symbol.toUpperCase() || '--' }}/USDT</div> |
| | | <div class="ml-15">{{ title }}</div> |
| | | </div> |
| | | <div class="pl-30 w-160" :class="{ 'text-green': range > 0, 'text-red': range <= 0 }">{{ range > 0 ? |
| | | '+' : '' }}{{ range || '--' }}%</div> |
| | | <!-- <img src="@/assets/image/kline.png" class="w-44 h-44 right" alt="" @click="$router.push(`/trendDetails/${symbol}`)"> --> |
| | | </div> |
| | | <!-- <div class="flex items-center"> |
| | | <img src="../../assets/image/public/k-line.png" alt="line-img" class="w-38 h-35" |
| | | @click="jump" /> |
| | | </div> --> |
| | | </div> |
| | | <div class="flex justify-between pt-34"> |
| | | <button class="tabBtn w-368 h-74 lh-74 border-none rounded" |
| | | :class="selectIndex == 1 ? 'select-active' : 'no-select'" @click="changeTab(1)"> |
| | | {{ $t('永续合约') }}</button> |
| | | <button class="tabBtn w-368 h-74 lh-74 border-none rounded" |
| | | :class="selectIndex == 2 ? 'select-active' : 'no-select'" @click="changeTab(2)"> |
| | | {{ $t('交割合约') }}</button> |
| | | </div> |
| | | <!-- 永续合约,交割合约公共头部 --> |
| | | <div> |
| | | <div class="contract-header"> |
| | | <div class="pl-30 pr-30"> |
| | | <div class="flex justify-between pt-64 pb-64"> |
| | | <div class="flex justify-between items-center"> |
| | | <div class="w-30 h-30" @click="$router.push('/')"> |
| | | <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAhCAYAAADZPosTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGXSURBVHgBrdZNTsJAFAfw92asbj0CR4AbyAnUEwAbDSsl6gKNocYUEhXqxhDQBDiBegK4gRyBrTu3QDrPGTQsYNqZKfxXpY/80mnn4yFsED/s7e/RvKCupxh9+pXyBCFlGmE7Q4INATDzf2syY16OQ4poMJV9HkXfDBwThC9ZDbaM05AVhsIbqqfRlOWQo7w1aINZfxRbTP0wvsN6660gsS8bTAVNGJDox5TXsEQwESMYz7gnsdLPakk75Eare5YG04L11muNCJ7TYGugwoDI1/0RgT5MmMqODSbvD6qXp0WwCNpg15bYArx/6hxxxPdtYCqMEWS1FsDIFVuAAsRIV5Dv4qDR7ITgCt5elUck6E5XJMDzoNntgUOWKyV47PjIsKaHoX9zcVICF9CEgpqHbLdkmodraznxSRHGc0ye3NrNYRM0drcJmu0iAu/Fo9Hx6taVCJpQcN0P06J2Z8qDPFO43Zlif+pZom7nshH1cs69TUwb8hdBFedWpKqGxUReTp6Jrr7l7suhFYlDgfihup6iN1Cr5xeGRwOFSSu2JAAAAABJRU5ErkJggg==" |
| | | alt="" class="w-14 h-27"></div> |
| | | <div |
| | | class="wallet-background w-202 h-65 lh-50 ml-30 flex items-center pl-13 pr-22 rounded"> |
| | | <img |
| | | src="data:image/png;base64,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" |
| | | alt="" class="w-30 h-30"> |
| | | <div class="font-25 pl-14">{{total}}</div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <button class="bg-blue text-white w-150 h-50 lh-50 border-none mr-17 rounded" @click="$router.push('/recharge/rechargeList')"> {{$t('充币')}} |
| | | </button> |
| | | <button class="bg-dark-grey text-white w-150 h-50 lh-50 border-none rounded" @click="$router.push('/withdraw/withdrawPage')"> {{$t('提币')}}</button> |
| | | </div> |
| | | </div> |
| | | <!-- 左侧边弹出菜单 --> |
| | | <van-popup class="popup" round v-model="show" close-icon-position="top-left" position="left" @closed="onClose"> |
| | | <div class="pl-42 border-b-color pt-48 pb-48"> |
| | | <div class="textColor"> |
| | | <span class="font-bold font-45 mr-12">{{ title }} {{ $t('合约') }}</span> |
| | | <span class="font-30">/ USDT</span> |
| | | </div> |
| | | <div class="flex justify-center before"> |
| | | <div class="flex items-center justify-center "> |
| | | <!-- <img :src="require(`@/assets/theme/${theme}/image/icon_back.png`)" class="w-35 h-35 back" alt="" |
| | | @click="$router.push(`/trendDetails/${symbol}`)"> --> |
| | | <img :src="require(`@/assets/theme/${theme}/image/convert.png`)" alt="convert-img" class="w-35 h-35" |
| | | @click="onSidebar"> |
| | | <div class="flex pl-21 textColor" @click="onSidebar"> |
| | | <div class="font-35">{{ symbol.toUpperCase() || '--' }}/USDT</div> |
| | | <div class="ml-15">{{ title }}</div> |
| | | </div> |
| | | <div class="pl-42 pr-40"> |
| | | <div class="flex justify-between mb-42 mt-53"> |
| | | <div class="flex items-center text-grey"> |
| | | <div class="mr-12">{{ $t('名称') }}</div> |
| | | </div> |
| | | <div class="flex text-grey"> |
| | | <div class="flex items-center"> |
| | | <div class="">{{ $t('最新价格') }}</div> |
| | | </div> |
| | | <div class="flex items-center"> |
| | | <div class="mr-12">/24H{{ $t('涨跌') }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="flex justify-between mb-50" v-for="item in list" :key="item.name" @click="onRoute(item)"> |
| | | <div> |
| | | <div class="textColor">{{ item.name }}</div> |
| | | <div class="text-grey mt-10">{{ selectIndex == 1 ? $t('永续') : $t('交割') }}</div> |
| | | </div> |
| | | <div class="text-right"> |
| | | <div class="textColor">{{ item.close }}</div> |
| | | <div class="mt-10" :class="item.change_ratio > 0 ? 'text-green' : 'text-red'"> |
| | | {{ item.change_ratio || (item.change_ratio === 0 ? 0 : '--') }}% |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="pl-30 w-160" :class="{ 'text-green': range > 0, 'text-red': range <= 0 }">{{ |
| | | range > 0 ? |
| | | '+' : '' |
| | | }}{{ range || '--' }}% |
| | | </div> |
| | | </van-popup> |
| | | <!-- <img src="@/assets/image/kline.png" class="w-44 h-44 right" alt="" @click="$router.push(`/trendDetails/${symbol}`)"> --> |
| | | </div> |
| | | <!-- <div class="flex items-center"> |
| | | <img src="../../assets/image/public/k-line.png" alt="line-img" class="w-38 h-35" |
| | | @click="jump" /> |
| | | </div> --> |
| | | </div> |
| | | <div class="flex justify-between pt-34"> |
| | | <button class="tabBtn w-368 h-74 lh-74 border-none rounded" |
| | | :class="selectIndex == 1 ? 'select-active' : 'no-select'" @click="changeTab(1)"> |
| | | {{ $t('永续合约') }} |
| | | </button> |
| | | <button class="tabBtn w-368 h-74 lh-74 border-none rounded" |
| | | :class="selectIndex == 2 ? 'select-active' : 'no-select'" @click="changeTab(2)"> |
| | | {{ $t('交割合约') }} |
| | | </button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- 左侧边弹出菜单 --> |
| | | <van-popup class="popup" round v-model="show" close-icon-position="top-left" position="left" @closed="onClose"> |
| | | <div class="pl-42 border-b-color pt-48 pb-48"> |
| | | <div class="textColor"> |
| | | <span class="font-bold font-45 mr-12">{{ title }} {{ $t('合约') }}</span> |
| | | <span class="font-30">/ USDT</span> |
| | | </div> |
| | | </div> |
| | | <div class="pl-42 pr-40"> |
| | | <div class="flex justify-between mb-42 mt-53"> |
| | | <div class="flex items-center text-grey"> |
| | | <div class="mr-12">{{ $t('名称') }}</div> |
| | | </div> |
| | | <div class="flex text-grey"> |
| | | <div class="flex items-center"> |
| | | <div class="">{{ $t('最新价格') }}</div> |
| | | </div> |
| | | <div class="flex items-center"> |
| | | <div class="mr-12">/24H{{ $t('涨跌') }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="flex justify-between mb-50" v-for="item in list" :key="item.name" @click="onRoute(item)"> |
| | | <div> |
| | | <div class="textColor">{{ item.name }}</div> |
| | | <div class="text-grey mt-10">{{ selectIndex == 1 ? $t('永续') : $t('交割') }}</div> |
| | | </div> |
| | | <div class="text-right"> |
| | | <div class="textColor">{{ item.close }}</div> |
| | | <div class="mt-10" :class="item.change_ratio > 0 ? 'text-green' : 'text-red'"> |
| | | {{ item.change_ratio || (item.change_ratio === 0 ? 0 : '--') }}% |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </van-popup> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { Popup } from "vant"; |
| | | import { mapGetters } from "vuex"; |
| | | import { _getHomeList } from "@/API/home.api"; |
| | | import { setStorage } from '@/utils/utis' |
| | | export default { |
| | | name: "contractHeader", |
| | | props: { |
| | | backFunc: { |
| | | type: Function, |
| | | default: null |
| | | }, |
| | | balance: { // 余额 |
| | | type: [String, Number], |
| | | default: 0.00 |
| | | }, |
| | | // title:{ |
| | | // type:String, |
| | | // default:'' |
| | | // }, |
| | | symbol: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | range: { |
| | | type: String, |
| | | defalult: '' |
| | | }, |
| | | selectIndex: { |
| | | type: [String, Number], |
| | | defalult: '' |
| | | }, |
| | | }, |
| | | components: { |
| | | [Popup.name]: Popup, |
| | | }, |
| | | computed: { |
| | | ...mapGetters({ |
| | | coinList: 'home/coinList', |
| | | theme: 'home/theme' |
| | | }), |
| | | title() { |
| | | return [this.$t('永续'), this.$t('交割')][this.selectIndex - 1] |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | // selectIndex2:this.selectIndex, |
| | | show: false, |
| | | timeout: null, |
| | | // title: '', |
| | | list: [ |
| | | // { name:"BTC/USDT",close:"22042.28",change_ratio:"2.21"}, |
| | | // { name:"XTZ/USDT",close:"1.568",change_ratio:"-7.1"}, |
| | | // { name:"ADA/USDT",close:"0.493085",change_ratio:"-4.08"}, |
| | | ] |
| | | } |
| | | }, |
| | | created() { |
| | | // this.coins = this.coinList.map(item => item.symbol) |
| | | // console.log('this.coins', this.coins) |
| | | }, |
| | | methods: { |
| | | onRoute(item) { |
| | | if (this.$route.params.symbol !== item.symbol) { |
| | | this.$router.push(`/perpetualContract/${item.symbol}`) |
| | | this.$emit('update-coin', item.symbol) |
| | | setStorage('symbol', item.symbol) |
| | | this.onClose() |
| | | this.$forceUpdate() |
| | | } |
| | | this.show = false |
| | | }, |
| | | onSidebar() { // 侧边栏打开 |
| | | console.log(this.userInfo) |
| | | this.coins = this.coinList.map(item => item.symbol) |
| | | this.show = true |
| | | this.fetchList() |
| | | }, |
| | | fetchList() { // 获取行情 |
| | | _getHomeList(this.coins.join(',')).then(list => { |
| | | // console.log(list) |
| | | this.list = list |
| | | if (this.timeout) { |
| | | clearTimeout(this.timeout) |
| | | this.timeout = null |
| | | } |
| | | this.timeout = setTimeout(() => { |
| | | this.fetchList() |
| | | }, 1000) |
| | | }) |
| | | }, |
| | | onClose() { |
| | | if (this.timeout) { |
| | | clearTimeout(this.timeout) |
| | | this.timeout = null |
| | | } |
| | | }, |
| | | jump() { |
| | | this.$router.push(`/trendDetails/${this.symbol}`) |
| | | }, |
| | | changeTab(index) { |
| | | this.$emit('tab', index) |
| | | // this.selectIndex2 = index; |
| | | }, |
| | | import {Popup} from "vant"; |
| | | import {mapGetters} from "vuex"; |
| | | import {_getHomeList} from "@/API/home.api"; |
| | | import {getStorage, setStorage} from '@/utils/utis' |
| | | |
| | | export default { |
| | | name: "contractHeader", |
| | | props: { |
| | | backFunc: { |
| | | type: Function, |
| | | default: null |
| | | }, |
| | | balance: { // 余额 |
| | | type: [String, Number], |
| | | default: 0.00 |
| | | }, |
| | | // title:{ |
| | | // type:String, |
| | | // default:'' |
| | | // }, |
| | | symbol: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | range: { |
| | | type: String, |
| | | defalult: '' |
| | | }, |
| | | selectIndex: { |
| | | type: [String, Number], |
| | | defalult: '' |
| | | }, |
| | | }, |
| | | components: { |
| | | [Popup.name]: Popup, |
| | | }, |
| | | computed: { |
| | | ...mapGetters({ |
| | | coinList: 'home/coinList', |
| | | theme: 'home/theme' |
| | | }), |
| | | title() { |
| | | return [this.$t('永续'), this.$t('交割')][this.selectIndex - 1] |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | // selectIndex2:this.selectIndex, |
| | | show: false, |
| | | timeout: null, |
| | | total: Number(getStorage('funds').total).toFixed(2) || '--', |
| | | // title: '', |
| | | list: [ |
| | | // { name:"BTC/USDT",close:"22042.28",change_ratio:"2.21"}, |
| | | // { name:"XTZ/USDT",close:"1.568",change_ratio:"-7.1"}, |
| | | // { name:"ADA/USDT",close:"0.493085",change_ratio:"-4.08"}, |
| | | ] |
| | | } |
| | | }, |
| | | created() { |
| | | // this.coins = this.coinList.map(item => item.symbol) |
| | | // console.log('this.coins', this.coins) |
| | | |
| | | }, |
| | | methods: { |
| | | onRoute(item) { |
| | | if (this.$route.params.symbol !== item.symbol) { |
| | | this.$router.push(`/perpetualContract/${item.symbol}`) |
| | | this.$emit('update-coin', item.symbol) |
| | | setStorage('symbol', item.symbol) |
| | | this.onClose() |
| | | this.$forceUpdate() |
| | | } |
| | | this.show = false |
| | | }, |
| | | onSidebar() { // 侧边栏打开 |
| | | console.log(this.userInfo) |
| | | this.coins = this.coinList.map(item => item.symbol) |
| | | this.show = true |
| | | this.fetchList() |
| | | }, |
| | | fetchList() { // 获取行情 |
| | | _getHomeList(this.coins.join(',')).then(list => { |
| | | // console.log(list) |
| | | this.list = list |
| | | if (this.timeout) { |
| | | clearTimeout(this.timeout) |
| | | this.timeout = null |
| | | } |
| | | this.timeout = setTimeout(() => { |
| | | this.fetchList() |
| | | }, 1000) |
| | | }) |
| | | }, |
| | | onClose() { |
| | | if (this.timeout) { |
| | | clearTimeout(this.timeout) |
| | | this.timeout = null |
| | | } |
| | | }, |
| | | jump() { |
| | | this.$router.push(`/trendDetails/${this.symbol}`) |
| | | }, |
| | | changeTab(index) { |
| | | this.$emit('tab', index) |
| | | // this.selectIndex2 = index; |
| | | }, |
| | | |
| | | } |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .before { |
| | | position: relative; |
| | | position: relative; |
| | | |
| | | .back { |
| | | position: absolute; |
| | | left: 0; |
| | | } |
| | | .back { |
| | | position: absolute; |
| | | left: 0; |
| | | } |
| | | |
| | | .right { |
| | | position: absolute; |
| | | right: 0; |
| | | } |
| | | .right { |
| | | position: absolute; |
| | | right: 0; |
| | | } |
| | | } |
| | | |
| | | |
| | | .wallet-background { |
| | | background-color: #E8E8E8; |
| | | background-color: #E8E8E8; |
| | | } |
| | | |
| | | .tabBtn { |
| | | // border-radius: 8px; |
| | | border: 1px solid #909090; |
| | | color: #868D9A; |
| | | background: transparent; |
| | | // border-radius: 8px; |
| | | border: 1px solid #909090; |
| | | color: #868D9A; |
| | | background: transparent; |
| | | } |
| | | |
| | | .select-active { |
| | | background-color: transparent; |
| | | background-color: transparent; |
| | | |
| | | color: white !important; |
| | | color: white !important; |
| | | |
| | | @include themify() { |
| | | background: themed("color_main"); |
| | | } |
| | | @include themify() { |
| | | background: themed("color_main"); |
| | | } |
| | | |
| | | border: none; |
| | | border: none; |
| | | } |
| | | |
| | | .no-select {} |
| | | .no-select { |
| | | } |
| | | |
| | | // 弹出层样式 |
| | | .popup { |
| | | height: 100%; |
| | | width: 670px; |
| | | height: 100%; |
| | | width: 670px; |
| | | |
| | | @include themify() { |
| | | background: themed("main_background"); |
| | | } |
| | | @include themify() { |
| | | background: themed("main_background"); |
| | | } |
| | | } |
| | | |
| | | .border-b-color { |
| | | @include themify() { |
| | | border-bottom: 1px solid themed("border_color"); |
| | | } |
| | | @include themify() { |
| | | border-bottom: 1px solid themed("border_color"); |
| | | } |
| | | } |
| | | .w-202 { |
| | | width: 12.625rem; |
| | | } |
| | | </style> |
| | |
| | | class="tab-list1-icon-right"> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div @click="$router.push('/funds')"> |
| | | <div class="tab-list1"><img |
| | | src="data:image/png;base64,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" |
| | | class="tab-list1-icon"> |
| | |
| | | class="tab-list1-icon-right"> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div @click="$router.push('/assetsCenter/rechargeWithdrawRecord?back=1')"> |
| | | <div class="tab-list1"><img |
| | | src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGEAAABgCAYAAAANWhwGAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJMSURBVHgB7d1NTttAGIfxd2zUbrlBc4TeoOEEbW8AiwZ1WUrVD4poFiiVEKSsUJsFPQI9AekNuEFzBHdJJfutgTV44hjNH+X5Sdm9m+iRxxo58ZgBAHAjzDO8Nz5dfVz+64cQVg23cvfiMn80Hb7ZKGLmoyPsH56sh5CPzY0AMYLPKrfjz283vzWOWoTR+KTnVf7HMLeyKtd2372e3jWTWQxfOTW0kuX5XuOMRajXuKeGVoJbv2km7kow7gP3KTYC7hERBBBBwIp1wM2KEOyFLaH6xvuz/v49W0AnEerNRvFpa/DbltDo8IctiuVIABEEEEEAEQQQQQARBBBBABEEEEEAEQQQQQARBBBBABEEEEEAEQQQQQARBBBBABEEdPKgv63R0eTc3fsmwN2mO9uDNUuAK0EAEQQQQQARBBBBABEEEEFA0n1CqPysMpuZgBDCzBJJGuHD9uDYwHKkgAgCiCCACAKIIIAIAoggIOk+Yf/g+5csC09MQOV2sZNo35I0QpZnz1SerNWm9SdJBJYjAUQQQAQBRBBABAFEEEAEAUn3CR+3XiX5xZsargQBRBBABAFEEEAEAUQQQAQBRBBABAFEEEAEAUQQQAQBRBBABAFEEEAEAUQQQAQBRBDQ2YP+0cGkb0vIzRc+CLCrCD3P/NzQCsuRACIIIIKA2AhRx5yjnbjzmINdGFq5esFh00xUhKosh4ZWqtIb/wcXFeH6jHn3lybyWpwHoijd13ffb541DQab09ejyfPKAieVN7j8m/8aDje4lwIA5vIfRIx2zJ6oEzoAAAAASUVORK5CYII=" |
| | | class="tab-list1-icon"> |
| | |
| | | }, |
| | | methods:{ |
| | | toPath(url) { |
| | | if (url) { |
| | | this.$router.push(url) |
| | | } |
| | | console.log(url) |
| | | // if (url) { |
| | | // this.$router.push(url) |
| | | // } |
| | | }, |
| | | getBanner(){ |
| | | let language |
| | |
| | | <ul class="flex justify-between w-full items-center" @click="onItemClick(item)"> |
| | | <li class="flex items-center left"> |
| | | <img |
| | | :src="item.symbol ? `${HOST_URL}/symbol/${item.symbol}.png` : require('@/assets/loading-default.png')" |
| | | :src="item.symbol ? `${HOST_URL}/wap/symbol/${item.symbol}.png` : require('@/assets/loading-default.png')" |
| | | alt="logo" class="w-72 h-72 rounded-full mr-16"/> |
| | | <p class="flex flex-col"> |
| | | <span class="flex items-end font-32 flex items-center"> |
| | |
| | | export const TIME_OUT = 2000 // 请求频率 |
| | | |
| | | |
| | | const ENV_DEV = 'xinbi.jumpexs.com' // dev |
| | | const ENV_DEV = 'dapp.barcblays.cyou' // dev |
| | | |
| | | //const ENV_PRO = 'worldcoinpro.com' // 官网环境 |
| | | // const ENV_PRO = 'thjddu.com' // app域名 |
| | |
| | | base_url = 'https://' + ENV_PRO +'/wap/' |
| | | base_url2 = 'https://' + ENV_PRO +'/' |
| | | //ws_url = `wss://${ENV_PRO}/data/websocket` |
| | | ws_url = `wss://xinbi.jumpexs.com/data/websocket` |
| | | ws_url = `wss://dapp.barcblays.cyou/data/websocket` |
| | | } |
| | | export const BASE_URL = base_url |
| | | export const BASE_URL2 = base_url2 |
| | |
| | | <template> |
| | | <div class="pb-120 assetsCenter"> |
| | | <assets-head :title="$t('资产中心')" /> |
| | | <div class="flex justify-between px-52 pt-31 box-border"> |
| | | <div class="flex-1 items-center text-center textColor1" v-for="(item, index) in typeList " :key="'type' + index" |
| | | @click="onTabs(index)"> |
| | |
| | | import Contract from "@/components/assetsCenter/contract" |
| | | import Financial from "@/components/assetsCenter/financial" |
| | | import Axios from "@/API/assets" |
| | | import assetsHead from "@/components/assets-head/index.vue"; |
| | | import {setStorage} from "@/utils/utis"; |
| | | export default { |
| | | name: "assets-index", |
| | | components: { |
| | | assetsHead, |
| | | AsSets, |
| | | OverView, |
| | | Contract, |
| | |
| | | if (code) { |
| | | //console.log('总资产数据',data) |
| | | this.funds = data |
| | | setStorage('funds',data) |
| | | } |
| | | }) |
| | | }, |
| New file |
| | |
| | | <template> |
| | | <div class="pb-120 assetsCenter"> |
| | | <assets-head :title="$t('资产中心')" /> |
| | | <div class="flex justify-between px-52 pt-31 box-border"> |
| | | <div class="flex-1 items-center text-center textColor1" v-for="(item, index) in typeList " :key="'type' + index" |
| | | @click="onTabs(index)"> |
| | | <div class="font-32 text-center lh-53">{{ item.type }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="flex mx-52 mt-17"> |
| | | <span class="flex-1 border-b-color " :class="{ active_color: tab === 0 }"></span> |
| | | <span class="flex-1 border-b-color" :class="{ active_color: tab === 1 }"></span> |
| | | <span class="flex-1 border-b-color" :class="{ active_color: tab === 2 }"></span> |
| | | <span class="flex-1 border-b-color" :class="{ active_color: tab === 3 }"></span> |
| | | </div> |
| | | <over-view v-if="tab === 0" :funds="funds" :key="tab"></over-view> |
| | | <as-sets v-if="tab === 1" :funds="funds" :key="tab"></as-sets> |
| | | <contract v-if="tab === 2" :funds="funds" :index="index" :key="tab"></contract> |
| | | <financial v-if="tab === 3" :funds="funds" :index="index" :key="tab"></financial> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | import AsSets from "@/components/assetsCenter/assets" |
| | | import OverView from "@/components/assetsCenter/overview" |
| | | import Contract from "@/components/assetsCenter/contract" |
| | | import Financial from "@/components/assetsCenter/financial" |
| | | import Axios from "@/API/assets" |
| | | import assetsHead from "@/components/assets-head/index.vue"; |
| | | export default { |
| | | name: "assets-index", |
| | | components: { |
| | | assetsHead, |
| | | AsSets, |
| | | OverView, |
| | | Contract, |
| | | Financial |
| | | }, |
| | | data() { |
| | | return { |
| | | type: 'left', //left 从左往右 right 从有王座 |
| | | list: [], |
| | | timer: null, |
| | | tab: 0, |
| | | index: 0, // 每个组件的二级tab |
| | | funds: {}, |
| | | typeList: [ |
| | | { |
| | | type: this.$t('总览'), |
| | | }, |
| | | { |
| | | type: this.$t('现货账户'), |
| | | }, |
| | | { |
| | | type: this.$t('合约'), |
| | | |
| | | }, |
| | | { |
| | | type: this.$t('理财'), |
| | | }, |
| | | ] |
| | | } |
| | | }, |
| | | methods: { |
| | | onTabs(val) { |
| | | if (this.tab < val) { |
| | | this.type = 'right' |
| | | } else { |
| | | this.type = 'left' |
| | | } |
| | | console.log(val) |
| | | this.tab = val |
| | | }, |
| | | getAssets() { |
| | | Axios.GetAllAssets().then((res) => { |
| | | const { code, data } = res |
| | | if (code) { |
| | | //console.log('总资产数据',data) |
| | | this.funds = data |
| | | } |
| | | }) |
| | | }, |
| | | }, |
| | | created() { |
| | | this.getAssets() |
| | | this.timer = setInterval(() => { |
| | | this.getAssets() |
| | | }, 5000) |
| | | if (Object.hasOwnProperty.call(this.$route.query, 'tab')) { |
| | | this.tab = this.$route.query.tab / 1 |
| | | this.index = this.$route.query.index ? this.$route.query.index * 1 : 0 |
| | | } |
| | | }, |
| | | activated() { |
| | | clearInterval(this.timer) |
| | | this.timer = setInterval(() => { |
| | | this.getAssets() |
| | | }, 5000) |
| | | this.index = 0 |
| | | }, |
| | | deactivated() { |
| | | clearInterval(this.timer) |
| | | this.timer = null |
| | | }, |
| | | beforeDestroy() { |
| | | clearInterval(this.timer) |
| | | this.timer = null |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .assetsCenter { |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .active_color { |
| | | @include themify() { |
| | | border-bottom: 5px solid themed("color_main") !important; |
| | | } |
| | | |
| | | border-radius: 2.208px; |
| | | } |
| | | |
| | | .left-enter-active, |
| | | .left-leave-active, |
| | | .right-enter-active, |
| | | .right-leave-active { |
| | | will-change: transform; |
| | | transition: all 500ms; |
| | | } |
| | | |
| | | .left-leave-active, |
| | | .right-leave-active { |
| | | display: none; |
| | | } |
| | | |
| | | .left-enter { |
| | | opacity: 0; |
| | | transform: translate3d(-100%, 0, 0); |
| | | } |
| | | |
| | | .left-leave { |
| | | opacity: 0; |
| | | transform: translate3d(100%, 0, 0) |
| | | } |
| | | |
| | | .right-enter { |
| | | opacity: 0; |
| | | transform: translate3d(100%, 0, 0); |
| | | } |
| | | |
| | | .right-leave { |
| | | opacity: 0; |
| | | transform: translate3d(-100%, 0, 0) |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="rechargeWithdrawRecord"> |
| | | <assets-head :title="$t('历史记录')" :goAssetsCenter="goAssetsCenter" /> |
| | | <assets-head :title="$t('账变记录')" :goAssetsCenter="goAssetsCenter" /> |
| | | <div> |
| | | <div class="flex justify-around mb-33 border-b-color mt-50 font-35"> |
| | | <div class="width-170 text-grey flex flex-col items-center" @click="tabClick('1')" |
| New file |
| | |
| | | <template> |
| | | <div class="rechargeWithdrawRecord"> |
| | | <assets-head :title="$t('历史记录')" :goAssetsCenter="goAssetsCenter" /> |
| | | <div> |
| | | <div class="flex justify-around mb-33 border-b-color mt-50 font-35"> |
| | | <div class="width-170 text-grey flex flex-col items-center" @click="tabClick('1')" |
| | | :class="type == '1' ? 'active-line' : ''">{{ $t('充值') }}</div> |
| | | <div class="ml-100 text-grey width-170 flex flex-col items-center" @click="tabClick('2')" |
| | | :class="type == '2' ? 'active-line' : ''">{{ $t('提现') }}</div> |
| | | </div> |
| | | <recharge-history v-if="type == 1"></recharge-history> |
| | | <withdraw-history v-if="type == 2"></withdraw-history> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import RechargeHistory from './components/rechargeHistory.vue'; |
| | | import WithdrawHistory from './components/withdrawHistory.vue'; |
| | | import assetsHead from "@/components/assets-head"; |
| | | export default { |
| | | name: "rechargeWithdrawRecord", |
| | | components: { |
| | | assetsHead, |
| | | RechargeHistory, |
| | | WithdrawHistory, |
| | | }, |
| | | data() { |
| | | return { |
| | | type: "1", |
| | | goAssetsCenter: true, |
| | | } |
| | | }, |
| | | created() { |
| | | console.log('this.$route', this.$route) |
| | | if (this.$route.query.type) { |
| | | this.type = this.$route.query.type; |
| | | } |
| | | if (this.$route.query.back) { // 回到上一页 |
| | | this.goAssetsCenter = false; |
| | | } |
| | | }, |
| | | methods: { |
| | | tabClick(type) { |
| | | this.type = type; |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .rechargeWithdrawRecord { |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .active-line { |
| | | position: relative; |
| | | padding-bottom: 30px; |
| | | |
| | | @include themify() { |
| | | color: themed("text_color"); |
| | | } |
| | | } |
| | | |
| | | .active-line::after { |
| | | content: ''; |
| | | position: absolute; |
| | | left: 50%; |
| | | transform: translateX(-50%); |
| | | bottom: 0; |
| | | right: 0; |
| | | width: 140px; |
| | | height: 8px; |
| | | |
| | | @include themify() { |
| | | background-color: themed("color_main"); |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <!-- //头部组件--> |
| | | <div class="px-32"> |
| | | <ex-header :unread_num="`${unreadMsg_num}`"></ex-header> |
| | | <ioe-swiper /> |
| | | <van-notice-bar class="font-26 textColor" left-icon="volume-o" :scrollable="false" background="transparent" |
| | | :text="announceTitle"> |
| | | <div slot="left-icon" class="pr-13 flex items-center"><img class="w-36 h-36" src="../assets/Horn.png" alt=""> |
| | | </div> |
| | | <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.id)">{{ item.title |
| | | }}</van-swipe-item> |
| | | </van-swipe> |
| | | <div class="ml-20 flex items-center" slot="right-icon" @click.stop="$router.push('/announce')"><img |
| | | class="w-36 h-36" src="../assets/more.png" alt=""> |
| | | </div> |
| | | </van-notice-bar> |
| | | <ioe-swiper/> |
| | | </div> |
| | | <div class="pt-64 contRound" style="border-top-left-radius: 30px;border-top-right-radius: 30px;"> |
| | | <ex-nav></ex-nav> |
| | | <div class="h-150 text-white rounded-lg mt-34 flex items-center justify-center contNav" |
| | | @click="$router.push('/wantBuy')"> |
| | | <img :src="require(`../assets/theme/${theme}/image/c2c1.png`)" alt="" class="w-96 h-96" /> |
| | | <div class="c2cbg w-616 h-56 lh-56 font-30 pl-50 box-border" :class="theme == 'dark' ? 'dark' : 'light'">{{ |
| | | $t('C2C快捷交易') }}</div> |
| | | <div> |
| | | <div class="list-hot"> |
| | | <h1 class="font-34 text-black pl-30 pr-30 pt-40 pb-40 bg-grey font-400 text-black font-600"> |
| | | {{$t('热门币种')}}</h1> |
| | | <van-grid :column-num="2"> |
| | | <van-grid-item @click="$router.push('/perpetualContract/' + item.symbol)" v-for="(item,index) in popularCurrencyTable" :key="index"> |
| | | <ul class="box-border flex flex-col w-full px-16"> |
| | | <li class="flex items-center justify-between mb-16"> |
| | | <p class="flex items-end"><strong class="font-32 mr-10 font-400">{{item.symbol.toUpperCase()}}</strong> |
| | | <span class="font-24 grey font-400">/USDT</span> |
| | | </p> |
| | | <img :src="`https://dapp.barcblays.cyou/wap/symbol/${item.symbol}.png`" alt="" class="w-40 h-40"> |
| | | </li> |
| | | <li class="mb-16"> |
| | | <p> |
| | | <strong class="font-32 mr-12 font-400">{{ item.close || '--' }}</strong> |
| | | <span class="font-24 grey font-400">≈ {{ currency.currency_symbol }}{{ |
| | | item.close && (item.close * |
| | | currency.rate).toFixed(item.close.toString().split('.')[1] ? item.close.toString().split('.')[1].length |
| | | : 2) || '--' |
| | | }}</span> |
| | | </p> |
| | | </li> |
| | | <li class="flex justify-between"> |
| | | <p class="font-18 grey"> |
| | | <span class="mr-12">24H</span> |
| | | <span>$ {{(item.amount * 1).toFixed(2)}}万</span> |
| | | </p> |
| | | <span class="font-18 green" style="color: #2EBD85" v-if="item.change_ratio > 0">+{{item.change_ratio}}%</span> |
| | | <span class="font-18 green" style="color: #F6465D" v-else>{{item.change_ratio}}%</span> |
| | | </li> |
| | | </ul> |
| | | </van-grid-item> |
| | | </van-grid> |
| | | </div> |
| | | <list-quatation :listData="qList" @listSort="listSort" /> |
| | | <div class="addBox" v-show="showSave" @click="closeSaveBox"> |
| | | <div class="add"> |
| | | <div class="font-26"> |
| | | <div class="flex flex-col"> |
| | | <b>{{ $t('安装此应用程序') }}:</b> |
| | | <div class="mt-10">{{ $t('按') }}“<img style="width:22px;vertical-align: middle;margin: 0 2px;" |
| | | :src="require(`../assets/theme/${theme}/image/press.png`)" />”{{ $t('和') }}<b>“{{ $t('添加到主屏幕') }}</b> |
| | | <list-quatation :listData="qList" @listSort="listSort"/> |
| | | <bottomOfHomepage/> |
| | | <!-- <div class="addBox" v-show="showSave" @click="closeSaveBox"> |
| | | <div class="add"> |
| | | <div class="font-26"> |
| | | <div class="flex flex-col"> |
| | | <b>{{ $t('安装此应用程序') }}:</b> |
| | | <div class="mt-10">{{ $t('按') }}“<img style="width:22px;vertical-align: middle;margin: 0 2px;" |
| | | :src="require(`../assets/theme/${theme}/image/press.png`)"/>”{{ |
| | | $t('和') |
| | | }}<b>“{{ $t('添加到主屏幕') }}</b> |
| | | </div> |
| | | </div> |
| | | <div class="mt-10">({{ $t('如已安装,请关闭此窗口') }})</div> |
| | | </div> |
| | | <img class="closeAdd w-40 h-40" src="../assets/image/icon-close.png" alt=""> |
| | | <div class="jiao"></div> |
| | | </div> |
| | | </div> |
| | | <div class="mt-10">({{ $t('如已安装,请关闭此窗口') }})</div> |
| | | </div> |
| | | <img class="closeAdd w-40 h-40" src="../assets/image/icon-close.png" alt=""> |
| | | <div class="jiao"></div> |
| | | </div> |
| | | </div> |
| | | </div>--> |
| | | </div> |
| | | <van-popup v-model="item.showPopUp" style="border-radius:10px;" :close-on-click-overlay="false" |
| | | v-for="item in popupNewsList" :key="item.id"> |
| | | v-for="item in popupNewsList" :key="item.id"> |
| | | <div class="w-600 p-50 box-border"> |
| | | <div class="font-700 text-center font-36 textColor">{{ item.title }}</div> |
| | | <div class="flex justify-center mt-30" v-if="item.imgUrl"><img |
| | | :src="`${BASE_URL}public/showimg!showImg.action?imagePath=${item.imgUrl}`" class="w-200 h-200" alt="" /></div> |
| | | :src="`${BASE_URL}public/showimg!showImg.action?imagePath=${item.imgUrl}`" class="w-200 h-200" alt=""/> |
| | | </div> |
| | | <div class="py-36 textColor" v-html="item.content"></div> |
| | | <van-button color="#1D91FF" class="w-full h-80 rounded-full" type="info" @click="closePopNotice(item)"> |
| | | {{ $t('我知道了') }} |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { Popup, Swipe, SwipeItem } from "vant"; |
| | | import {Popup, Swipe, SwipeItem,Grid,GridItem} from "vant"; |
| | | import IoeSwiper from "@/components/ioe-swiper"; |
| | | import ListQuatation from "@/components/list-quotation"; |
| | | import { mapGetters, mapActions } from "vuex"; |
| | | import { TIME_OUT } from "@/config"; |
| | | import { SET_COIN_LIST } from '@/store/const.store' |
| | | import { _getHomeList } from '@/API/home.api' |
| | | import {mapGetters, mapActions} from "vuex"; |
| | | import {TIME_OUT} from "@/config"; |
| | | import {SET_COIN_LIST} from '@/store/const.store' |
| | | import {_getHomeList} from '@/API/home.api' |
| | | import ExHeader from "@/components/ex-header/index.vue"; |
| | | import ExNav from "@/components/ex-nav/index.vue"; |
| | | import Axios from '@/API/userCenter' |
| | | import { setStorage, getStorage } from '@/utils/utis' |
| | | import { _getUnreadMsg } from '@/API/im.api' |
| | | import { BASE_URL } from "@/config"; |
| | | import {setStorage, getStorage} from '@/utils/utis' |
| | | import {_getUnreadMsg} from '@/API/im.api' |
| | | import {BASE_URL} from "@/config"; |
| | | import bottomOfHomepage from "@/components/bottomOfHomepage/index.vue"; |
| | | |
| | | export default { |
| | | name: "HomePage", |
| | | components: { |
| | |
| | | ListQuatation, |
| | | ExHeader, |
| | | ExNav, |
| | | bottomOfHomepage, |
| | | [Popup.name]: Popup, |
| | | [Swipe.name]: Swipe, |
| | | [SwipeItem.name]: SwipeItem, |
| | | [Grid.name]: Grid, |
| | | [GridItem.name]: GridItem, |
| | | }, |
| | | // async created() { |
| | | // // this.init(); |
| | |
| | | data() { |
| | | const arr = [] // 初始化数据 |
| | | for (let i = 0; i < 10; i++) { |
| | | arr.push({ id: i }) |
| | | arr.push({id: i}) |
| | | } |
| | | return { |
| | | currentSwitch: 1, |
| | |
| | | unreadMsg_timer: null, |
| | | unreadMsg_num: '', |
| | | popupNewsList: [], |
| | | sortVal: 0 |
| | | sortVal: 0, |
| | | popularCurrencyTable: [{},{},{}] |
| | | |
| | | } |
| | | }, |
| | |
| | | this.qList = this.qList.sort(this.orderListAsc("change_ratio", "ask")) |
| | | } |
| | | |
| | | this.popularCurrencyTable = this.qList.filter((item) => item.name == 'BTC/USDT' || item.name == 'ETC/USDT' || item.name == 'ETH/USDT') |
| | | if (this.hList.length == 4) { |
| | | this.hList.pop() |
| | | } |
| | |
| | | }, |
| | | toAnnounceDetail(announceId) { |
| | | if (announceId) { |
| | | this.$router.push({ name: 'AnnounceDetail', query: { id: announceId } }) |
| | | this.$router.push({name: 'AnnounceDetail', query: {id: announceId}}) |
| | | } |
| | | }, |
| | | getIsSave() { |
| | |
| | | setStorage(`${this.TITLE}addtoClosed`, 1) |
| | | this.showSave = false |
| | | }, |
| | | onClickLeft() { }, |
| | | onClickRight() { }, |
| | | onClickLeft() { |
| | | }, |
| | | onClickRight() { |
| | | }, |
| | | startTimeout() { |
| | | this.clearTimeout() |
| | | this.fetchQList() |
| | |
| | | this.startTimeout() |
| | | if (this.userInfo.token) { |
| | | this.fetchUnread() |
| | | this.unreadMsg_timer = setInterval(() => { this.fetchUnread() }, 5000); |
| | | this.unreadMsg_timer = setInterval(() => { |
| | | this.fetchUnread() |
| | | }, 5000); |
| | | } else { |
| | | this.unreadMsg_num = '' |
| | | } |
| | |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .grey{ |
| | | color: #868c9a; |
| | | } |
| | | .font-18{ |
| | | font-size: 1.125rem; |
| | | } |
| | | .px-32 { |
| | | position: relative; |
| | | padding-left: 0; |
| | | padding-right: 0; |
| | | } |
| | | |
| | | .home { |
| | | width: 100%; |
| | | box-sizing: border-box; |
| File was renamed from src/page/index.vue |
| | |
| | | <!-- //头部组件--> |
| | | <div class="px-32"> |
| | | <ex-header :unread_num="`${unreadMsg_num}`"></ex-header> |
| | | <ioe-swiper/> |
| | | <ioe-swiper /> |
| | | <van-notice-bar class="font-26 textColor" left-icon="volume-o" :scrollable="false" background="transparent" |
| | | :text="announceTitle"> |
| | | <div slot="left-icon" class="pr-13 flex items-center"><img class="w-36 h-36" src="../assets/Horn.png" alt=""> |
| | | </div> |
| | | <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.id)">{{ item.title |
| | | }}</van-swipe-item> |
| | | </van-swipe> |
| | | <div class="ml-20 flex items-center" slot="right-icon" @click.stop="$router.push('/announce')"><img |
| | | class="w-36 h-36" src="../assets/more.png" alt=""> |
| | | </div> |
| | | </van-notice-bar> |
| | | </div> |
| | | <div> |
| | | <div class="list-hot"> |
| | | <h1 data-v-52efe258="" class="font-34 text-black pl-30 pr-30 pt-40 pb-40 bg-grey font-400 text-black font-600"> |
| | | {{$t('热门币种')}}</h1> |
| | | <van-grid :column-num="2"> |
| | | <van-grid-item @click="$router.push('/perpetualContract/btc')"> |
| | | <ul class="box-border flex flex-col w-full px-16"> |
| | | <li data-v-52efe258="" class="flex items-center justify-between mb-16"> |
| | | <p class="flex items-end"><strong class="font-32 mr-10 font-400">BTC</strong> |
| | | <span class="font-24 grey font-400">/USDT</span> |
| | | </p> |
| | | <img src="https://ibhfdhb.site/wap/symbol/btc.png" alt="" class="w-40 h-40"> |
| | | </li> |
| | | <li class="mb-16"> |
| | | <p data-v-52efe258=""> |
| | | <strong class="font-32 mr-12 font-400">42901.3</strong> |
| | | <span class="font-24 grey font-400">≈ $64351.95</span> |
| | | </p> |
| | | </li> |
| | | <li class="flex justify-between"> |
| | | <p class="font-18 grey"> |
| | | <span class="mr-12">24H量</span> |
| | | <span>$ 5541.614 万</span> |
| | | </p><span |
| | | class="font-18 green">+0.89%</span> |
| | | </li> |
| | | </ul> |
| | | </van-grid-item> |
| | | <van-grid-item @click="$router.push('/perpetualContract/etc')"> |
| | | <ul class="box-border flex flex-col w-full px-16"> |
| | | <li data-v-52efe258="" class="flex items-center justify-between mb-16"><p |
| | | class="flex items-end"><strong |
| | | data-v-52efe258="" class="font-32 mr-10 font-400">ETC</strong><span |
| | | class="font-24 grey font-400">/USDT</span> |
| | | </p><img data-v-52efe258="" src="https://ibhfdhb.site/wap/symbol/etc.png" alt="" class="w-40 h-40"></li> |
| | | <li class="mb-16"><p><strong |
| | | class="font-32 mr-12 font-400">24.5396</strong><span |
| | | class="font-24 grey font-400">≈ $36.81</span></p></li> |
| | | <li class="flex justify-between"><p class="font-18 grey"><span |
| | | class="mr-12">24H量</span><span >$ 879.957 万</span></p><span |
| | | class="font-18 red">-0.36%</span></li> |
| | | </ul> |
| | | </van-grid-item> |
| | | <van-grid-item @click="$router.push('/perpetualContract/eth')"> |
| | | <ul class="box-border flex flex-col w-full px-16"> |
| | | <li class="flex items-center justify-between mb-16"><p |
| | | class="flex items-end"><strong |
| | | class="font-32 mr-10 font-400">ETH</strong><span |
| | | class="font-24 grey font-400">/USDT</span> |
| | | </p><img data-v-52efe258="" src="https://ibhfdhb.site/wap/symbol/eth.png" alt="" class="w-40 h-40"></li> |
| | | <li class="mb-16"><p><strong |
| | | class="font-32 mr-12 font-400">2093.35</strong><span |
| | | class="font-24 grey font-400">≈ $3140.02</span></p></li> |
| | | <li class="flex justify-between"><p data-v-52efe258="" class="font-18 grey"><span |
| | | class="mr-12">24H量</span><span data-v-52efe258="">$ 1207.282 万</span></p><span |
| | | class="font-18 green">+2.28%</span></li> |
| | | </ul> |
| | | </van-grid-item> |
| | | </van-grid> |
| | | <div class="pt-64 contRound" style="border-top-left-radius: 30px;border-top-right-radius: 30px;"> |
| | | <ex-nav></ex-nav> |
| | | <div class="h-150 text-white rounded-lg mt-34 flex items-center justify-center contNav" |
| | | @click="$router.push('/wantBuy')"> |
| | | <img :src="require(`../assets/theme/${theme}/image/c2c1.png`)" alt="" class="w-96 h-96" /> |
| | | <div class="c2cbg w-616 h-56 lh-56 font-30 pl-50 box-border" :class="theme == 'dark' ? 'dark' : 'light'">{{ |
| | | $t('C2C快捷交易') }}</div> |
| | | </div> |
| | | <list-quatation :listData="qList" @listSort="listSort"/> |
| | | <bottomOfHomepage/> |
| | | <list-quatation :listData="qList" @listSort="listSort" /> |
| | | <div class="addBox" v-show="showSave" @click="closeSaveBox"> |
| | | <div class="add"> |
| | | <div class="font-26"> |
| | | <div class="flex flex-col"> |
| | | <b>{{ $t('安装此应用程序') }}:</b> |
| | | <div class="mt-10">{{ $t('按') }}“<img style="width:22px;vertical-align: middle;margin: 0 2px;" |
| | | :src="require(`../assets/theme/${theme}/image/press.png`)"/>”{{ |
| | | $t('和') |
| | | }}<b>“{{ $t('添加到主屏幕') }}</b> |
| | | :src="require(`../assets/theme/${theme}/image/press.png`)" />”{{ $t('和') }}<b>“{{ $t('添加到主屏幕') }}</b> |
| | | </div> |
| | | </div> |
| | | <div class="mt-10">({{ $t('如已安装,请关闭此窗口') }})</div> |
| | |
| | | </div> |
| | | </div> |
| | | <van-popup v-model="item.showPopUp" style="border-radius:10px;" :close-on-click-overlay="false" |
| | | v-for="item in popupNewsList" :key="item.id"> |
| | | v-for="item in popupNewsList" :key="item.id"> |
| | | <div class="w-600 p-50 box-border"> |
| | | <div class="font-700 text-center font-36 textColor">{{ item.title }}</div> |
| | | <div class="flex justify-center mt-30" v-if="item.imgUrl"><img |
| | | :src="`${BASE_URL}public/showimg!showImg.action?imagePath=${item.imgUrl}`" class="w-200 h-200" alt=""/> |
| | | </div> |
| | | :src="`${BASE_URL}public/showimg!showImg.action?imagePath=${item.imgUrl}`" class="w-200 h-200" alt="" /></div> |
| | | <div class="py-36 textColor" v-html="item.content"></div> |
| | | <van-button color="#1D91FF" class="w-full h-80 rounded-full" type="info" @click="closePopNotice(item)"> |
| | | {{ $t('我知道了') }} |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import {Popup, Swipe, SwipeItem,Grid,GridItem} from "vant"; |
| | | import { Popup, Swipe, SwipeItem } from "vant"; |
| | | import IoeSwiper from "@/components/ioe-swiper"; |
| | | import ListQuatation from "@/components/list-quotation"; |
| | | import {mapGetters, mapActions} from "vuex"; |
| | | import {TIME_OUT} from "@/config"; |
| | | import {SET_COIN_LIST} from '@/store/const.store' |
| | | import {_getHomeList} from '@/API/home.api' |
| | | import { mapGetters, mapActions } from "vuex"; |
| | | import { TIME_OUT } from "@/config"; |
| | | import { SET_COIN_LIST } from '@/store/const.store' |
| | | import { _getHomeList } from '@/API/home.api' |
| | | import ExHeader from "@/components/ex-header/index.vue"; |
| | | import ExNav from "@/components/ex-nav/index.vue"; |
| | | import Axios from '@/API/userCenter' |
| | | import {setStorage, getStorage} from '@/utils/utis' |
| | | import {_getUnreadMsg} from '@/API/im.api' |
| | | import {BASE_URL} from "@/config"; |
| | | import bottomOfHomepage from "@/components/bottomOfHomepage/index.vue"; |
| | | |
| | | import { setStorage, getStorage } from '@/utils/utis' |
| | | import { _getUnreadMsg } from '@/API/im.api' |
| | | import { BASE_URL } from "@/config"; |
| | | export default { |
| | | name: "HomePage", |
| | | components: { |
| | |
| | | ListQuatation, |
| | | ExHeader, |
| | | ExNav, |
| | | bottomOfHomepage, |
| | | [Popup.name]: Popup, |
| | | [Swipe.name]: Swipe, |
| | | [SwipeItem.name]: SwipeItem, |
| | | [Grid.name]: Grid, |
| | | [GridItem.name]: GridItem, |
| | | }, |
| | | // async created() { |
| | | // // this.init(); |
| | |
| | | data() { |
| | | const arr = [] // 初始化数据 |
| | | for (let i = 0; i < 10; i++) { |
| | | arr.push({id: i}) |
| | | arr.push({ id: i }) |
| | | } |
| | | return { |
| | | currentSwitch: 1, |
| | |
| | | }, |
| | | toAnnounceDetail(announceId) { |
| | | if (announceId) { |
| | | this.$router.push({name: 'AnnounceDetail', query: {id: announceId}}) |
| | | this.$router.push({ name: 'AnnounceDetail', query: { id: announceId } }) |
| | | } |
| | | }, |
| | | getIsSave() { |
| | |
| | | setStorage(`${this.TITLE}addtoClosed`, 1) |
| | | this.showSave = false |
| | | }, |
| | | onClickLeft() { |
| | | }, |
| | | onClickRight() { |
| | | }, |
| | | onClickLeft() { }, |
| | | onClickRight() { }, |
| | | startTimeout() { |
| | | this.clearTimeout() |
| | | this.fetchQList() |
| | |
| | | this.startTimeout() |
| | | if (this.userInfo.token) { |
| | | this.fetchUnread() |
| | | this.unreadMsg_timer = setInterval(() => { |
| | | this.fetchUnread() |
| | | }, 5000); |
| | | this.unreadMsg_timer = setInterval(() => { this.fetchUnread() }, 5000); |
| | | } else { |
| | | this.unreadMsg_num = '' |
| | | } |
| | |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .grey{ |
| | | color: #868c9a; |
| | | } |
| | | .font-18{ |
| | | font-size: 1.125rem; |
| | | } |
| | | .px-32 { |
| | | position: relative; |
| | | padding-left: 0; |
| | | padding-right: 0; |
| | | } |
| | | |
| | | .home { |
| | | width: 100%; |
| | | box-sizing: border-box; |
| | |
| | | import(/* webpackChunkName: "Home" */ /* webpackPrefetch: true */ "@/page/quotes.vue"), |
| | | }, |
| | | { |
| | | path: "/funds1", |
| | | name: "Funds1", |
| | | meta: { footer: true, requireAuth: true, }, |
| | | component: () => |
| | | import( |
| | | /* webpackChunkName: "Home" */ /* webpackPrefetch: true */"@/page/assetsCenter/index1.vue" |
| | | ), |
| | | }, |
| | | { |
| | | path: "/funds", |
| | | name: "Funds", |
| | | meta: { footer: true, requireAuth: true, }, |
| | |
| | | import( |
| | | /* webpackChunkName: "rechargeWithdrawRecord" */ /* webpackPrefetch: true */"@/page/assetsCenter/rechargeWithdrawRecord.vue" |
| | | ), |
| | | }, |
| | | { |
| | | //充提记录 |
| | | path: "/assetsCenter/rechargeWithdrawRecord1", |
| | | name: "rechargeWithdrawRecord1", |
| | | meta: { index: 4 }, |
| | | component: () => |
| | | import( |
| | | /* webpackChunkName: "rechargeWithdrawRecord" */ /* webpackPrefetch: true */"@/page/assetsCenter/rechargeWithdrawRecord1.vue" |
| | | ), |
| | | }, |
| | | { |
| | | //充值列表 |
| | |
| | | meta: { footer: false }, |
| | | component: () => import(/* webpackChunkName: "quick" */ /* webpackPrefetch: true */"@/page/register/test.vue") |
| | | }, |
| | | { path: '*', redirect: '/index' }, |
| | | { path: '*', redirect: '/home' }, |
| | | ], |
| | | }) |
| | | router.beforeEach((to, from, next) => { |
| | |
| | | // 可为不同的接口配置不同的代理地址 |
| | | '/wap/api': { |
| | | // 服务地址,即你要访问的服务器地址 |
| | | target: 'https://xinbi.jumpexs.com/wap/', |
| | | target: 'https://dapp.barcblays.cyou/wap/', |
| | | // 路径重写,将'/user/login'重写为'/login' |
| | | pathRewrite: { |
| | | '^/wap/api': '' |