This commit is contained in:
yuyongdong 2024-10-17 14:35:39 +08:00
commit c00a42feb0
8 changed files with 2065 additions and 24 deletions

View File

@ -11,6 +11,7 @@ VUE_APP_PASSPORT_CLIENT_ID=0FNfXxQywm7wjdbyLTDzWt4txc53yRrT
VUE_APP_PASSPORT_MARKET_ADDRESS=0x7d117aA8BD6D31c4fa91722f246388f38ab1942c VUE_APP_PASSPORT_MARKET_ADDRESS=0x7d117aA8BD6D31c4fa91722f246388f38ab1942c
VUE_APP_UAW_API='https://oauth-svr.cebggame.com/task' VUE_APP_UAW_API='https://oauth-svr.cebggame.com/task'
VUE_APP_MKT_API='https://market-test.kingsome.cn' VUE_APP_MKT_API='https://market-test.kingsome.cn'
VUE_APP_REWARD_API='https://game2006api-test.kingsome.cn'
VUE_APP_NET_ID='13473' VUE_APP_NET_ID='13473'
VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34' VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34'
VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39' VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39'

View File

@ -11,6 +11,7 @@ VUE_APP_PASSPORT_CLIENT_ID=0FNfXxQywm7wjdbyLTDzWt4txc53yRrT
VUE_APP_PASSPORT_MARKET_ADDRESS=0x7d117aA8BD6D31c4fa91722f246388f38ab1942c VUE_APP_PASSPORT_MARKET_ADDRESS=0x7d117aA8BD6D31c4fa91722f246388f38ab1942c
VUE_APP_UAW_API='https://oauth-svr.cebggame.com/task' VUE_APP_UAW_API='https://oauth-svr.cebggame.com/task'
VUE_APP_MKT_API='https://market-test.kingsome.cn' VUE_APP_MKT_API='https://market-test.kingsome.cn'
VUE_APP_REWARD_API='https://game2006api-test.kingsome.cn'
VUE_APP_NET_ID='13473' VUE_APP_NET_ID='13473'
VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34' VUE_APP_MARKET_CURRENCY='0xFd42bfb03212dA7e1A4608a44d7658641D99CF34'
VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39' VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39'

View File

@ -11,6 +11,7 @@ VUE_APP_PASSPORT_CLIENT_ID=tTB5eEedqDOHPHMI41sRDGmqAQwus9oE
VUE_APP_PASSPORT_MARKET_ADDRESS=0x7d117aA8BD6D31c4fa91722f246388f38ab1942c VUE_APP_PASSPORT_MARKET_ADDRESS=0x7d117aA8BD6D31c4fa91722f246388f38ab1942c
VUE_APP_UAW_API='https://taskapi.cebggame.com' VUE_APP_UAW_API='https://taskapi.cebggame.com'
VUE_APP_MKT_API='https://market-api.counterfire.games' VUE_APP_MKT_API='https://market-api.counterfire.games'
VUE_APP_REWARD_API='https://game2006api-test.kingsome.cn'
VUE_APP_NET_ID='13371' VUE_APP_NET_ID='13371'
VUE_APP_MARKET_CURRENCY='0x52A6c53869Ce09a731CD772f245b97A4401d3348' VUE_APP_MARKET_CURRENCY='0x52A6c53869Ce09a731CD772f245b97A4401d3348'
VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39' VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39'

View File

@ -11,6 +11,7 @@ VUE_APP_PASSPORT_CLIENT_ID=tTB5eEedqDOHPHMI41sRDGmqAQwus9oE
VUE_APP_PASSPORT_MARKET_ADDRESS=0x7d117aA8BD6D31c4fa91722f246388f38ab1942c VUE_APP_PASSPORT_MARKET_ADDRESS=0x7d117aA8BD6D31c4fa91722f246388f38ab1942c
VUE_APP_UAW_API='https://taskapi.cebggame.com' VUE_APP_UAW_API='https://taskapi.cebggame.com'
VUE_APP_MKT_API='https://market-api.counterfire.games' VUE_APP_MKT_API='https://market-api.counterfire.games'
VUE_APP_REWARD_API='https://game2006api-test.kingsome.cn'
VUE_APP_NET_ID='13371' VUE_APP_NET_ID='13371'
VUE_APP_MARKET_CURRENCY='0x52A6c53869Ce09a731CD772f245b97A4401d3348' VUE_APP_MARKET_CURRENCY='0x52A6c53869Ce09a731CD772f245b97A4401d3348'
VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39' VUE_APP_MAKEFEE_ADDRESS='0x50A8e60041A206AcaA5F844a1104896224be6F39'

View File

@ -39,6 +39,9 @@ export const sliceAddress = (address) => {
export const timeFormat = (value) => { export const timeFormat = (value) => {
return moment(value).format('YYYY-MM-DD HH:mm:ss') return moment(value).format('YYYY-MM-DD HH:mm:ss')
} }
export const timeReward = (value) => {
return moment(Number(value)*1000).format('MM.DD')
}
export const royaltiesPrice = (price) => { export const royaltiesPrice = (price) => {
let str = (Number(price) * 0.02).toFixed(5) let str = (Number(price) * 0.02).toFixed(5)

View File

@ -4,6 +4,7 @@ import axios from "axios"
const API_BASE = import.meta.env.VUE_APP_MKT_API const API_BASE = import.meta.env.VUE_APP_MKT_API
const API_UAW = import.meta.env.VUE_APP_UAW_API const API_UAW = import.meta.env.VUE_APP_UAW_API
const KingSome = import.meta.env.VUE_APP_REWARD_API
const net_id = import.meta.env.VUE_APP_NET_ID const net_id = import.meta.env.VUE_APP_NET_ID
const toJson = res => res.json(); const toJson = res => res.json();
@ -243,3 +244,9 @@ export const apiBindPassport = async (data) => {
const url = `${API_BASE}/api/vip/bind` const url = `${API_BASE}/api/vip/bind`
return httpPost(url, data) return httpPost(url, data)
} }
// 拉力赛列表
export const apiCircuitRewardHistory = async (data) => {
const url = `${KingSome}/webapp/index.php?c=OutAppCircuit&a=getCircuitRewardHistory`
return httpGet(url,data)
}

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,8 @@
<div class="claim"> <div class="claim">
<div class="claim-content"> <div class="claim-content">
<div class="claim-content-title"> <div class="claim-content-title">
<img src="@/assets/img/cec_claim/HistoryTxt.png" alt=""> <!-- <img src="@/assets/img/cec_claim/HistoryTxt.png" alt=""> -->
<h1>CEC AIRDROP & TOURNAMENT REWARDS</h1>
</div> </div>
<div class="claim-content-data"> <div class="claim-content-data">
<div class="claim-content-data-left"> <div class="claim-content-data-left">
@ -136,8 +137,28 @@
</div> </div>
<div class="content" v-else-if="cecUserStatus == -1"> <div class="content" v-else-if="cecUserStatus == -1">
<div class="content-tips content-tips-login"> <div class="content-tips content-tips-login">
<div class="user-address">
<span>Address:</span> {{address}} <span>Address:</span> {{address}}
</div> </div>
<div class="rewards" v-if="localWalletStore.walletType == 3 && (rewardList !== undefined && rewardList.length > 0)">
<div class="rewards-text">Tournament Rewards</div>
<div class="rewards-hover">
<li v-for="(item, index) in rewardList" :key="index">
<h6>Tournament: {{ timeReward(item.start_time) }}-{{ timeReward(item.end_time) }}</h6>
<div v-if="item.reward == -1" class="rewards-hover-btm">
<p>Unavailable</p>
</div>
<div v-else-if="item.reward == 0" class="rewards-hover-btm">
<p>NO rewards</p>
</div>
<div v-else-if="item.reward > 0" class="rewards-hover-btm">
<img src="@/assets/img/cec_claim/CEC_ICON.png" alt="">
<span>CEC: &nbsp;{{ item.reward }}</span>
</div>
</li>
</div>
</div>
</div>
<!-- <div class="content-tips content-tips-login" v-if="cecInfo.bindUid"> <!-- <div class="content-tips content-tips-login" v-if="cecInfo.bindUid">
<span>You'll receive your $CEC airdrop in Bitget spot account before the listing time.</span> <span>You'll receive your $CEC airdrop in Bitget spot account before the listing time.</span>
</div> --> </div> -->
@ -360,12 +381,12 @@ const message = inject('$message')
import { FileTextOutlined } from '@ant-design/icons-vue'; import { FileTextOutlined } from '@ant-design/icons-vue';
import LoadingDialog from "@/components/Dialogs/loadingDialog.vue"; import LoadingDialog from "@/components/Dialogs/loadingDialog.vue";
import { priceCalculated } from "@/configs/priceCalculate" import { priceCalculated, timeReward } from "@/configs/priceCalculate"
import {switchEthereumChain} from "@/components/chain/utils" import {switchEthereumChain} from "@/components/chain/utils"
import {walletStore} from "@/store/wallet"; import {walletStore} from "@/store/wallet";
import { useMarketplaceStore } from "@/store/marketplace" import { useMarketplaceStore } from "@/store/marketplace"
import { BlockChain } from "@/components/chain/BlockChain" import { BlockChain } from "@/components/chain/BlockChain"
import { apiCecInfoAll, apiBindAccount, apiCecClaim } from "@/utils/marketplace" import { apiCecInfoAll, apiBindAccount, apiCecClaim, apiCircuitRewardHistory } from "@/utils/marketplace"
import ConfirmDialog from "@/components/Dialogs/confirmDialog.vue"; import ConfirmDialog from "@/components/Dialogs/confirmDialog.vue";
import {createModal} from "@/utils/model.util"; import {createModal} from "@/utils/model.util";
@ -393,21 +414,21 @@ const getCecTotal = async () => {
if(address.value) { if(address.value) {
let token = marketplaceStore.fireToken || localWalletStore.token let token = marketplaceStore.fireToken || localWalletStore.token
let data = await apiCecInfoAll(address.value, token) let data = await apiCecInfoAll(address.value, token)
cecInfo.value = data.data // cecInfo.value = data.data
availableAmount.value = cecInfo.value.available // availableAmount.value = cecInfo.value.available
if(data.data.bindUid) { // if(data.data.bindUid) {
if(data.data.available == 0 || data.data.available == '0') { // if(data.data.available == 0 || data.data.available == '0') {
cecUserStatus.value = -2 // cecUserStatus.value = -2
} else { // } else {
cecUserStatus.value = -1 // cecUserStatus.value = -1
} // }
} else { // } else {
if(data.data.available == 0 || data.data.available == '0') { // if(data.data.available == 0 || data.data.available == '0') {
cecUserStatus.value = -2 // cecUserStatus.value = -2
} else { // } else {
cecUserStatus.value = -1 // cecUserStatus.value = -1
} // }
} // }
} }
} }
@ -586,7 +607,38 @@ const walletClaim = async () => {
} }
} }
const rewardList = ref([
{
start_time: 1727078400,
end_time: 1727088400,
reward: -1,
},
{
start_time: 1727098400,
end_time: 1727108400,
reward: 0,
},
{
start_time: 1727118400,
end_time: 1727128400,
reward: 50,
}
])
//
const getCircuitRewardHistory = async () => {
if(localWalletStore.walletType == 3) {
const query = {
address: localWalletStore.address
}
console.log(query)
let res = await apiCircuitRewardHistory(query)
console.log(res)
// rewardList.value = res.data
}
}
onMounted(() => { onMounted(() => {
getCircuitRewardHistory()
address.value = marketplaceStore.fireAddress || localWalletStore.address address.value = marketplaceStore.fireAddress || localWalletStore.address
getCecTotal() getCecTotal()
}) })
@ -613,10 +665,20 @@ onMounted(() => {
background: url('@/assets/img/cec_claim/Counterfire_bg.png') no-repeat; background: url('@/assets/img/cec_claim/Counterfire_bg.png') no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
.claim-content-title { .claim-content-title {
width: 822px; // width: 822px;
text-align: center;
height: 40px; height: 40px;
line-height: 40px;
margin: 0 auto; margin: 0 auto;
margin-top: 54px; margin-top: 54px;
h1 {
font-size: 48px;
font-family: 'Poppins';
font-weight: bold;
background-image: linear-gradient(to right, #e1c5ff, #bb7fff);
color: transparent;
-webkit-background-clip: text;
}
} }
.claim-content-data { .claim-content-data {
display: flex; display: flex;
@ -752,14 +814,85 @@ onMounted(() => {
font-size: 24px; font-size: 24px;
} }
.content-tips-login { .content-tips-login {
display: flex;
align-items: center;
justify-content: center;
// text-align: center;
font-family: "Poppins-Regular"; font-family: "Poppins-Regular";
font-size: 14px; font-size: 14px;
.user-address {
span { span {
font-size: 16px; font-size: 16px;
font-family: 'Poppins'; font-family: 'Poppins';
font-weight: 700; font-weight: 700;
} }
} }
.rewards {
width: 222px;
height: 31px;
border: 2px solid #625A68;
background: #2D2738;
border-radius: 16px;
margin-left: 20px;
font-family: 'Poppins-Regular';
font-size: 18px;
cursor: pointer;
position: relative;
.rewards-text {
color: #FEC25D;
}
.rewards-hover {
display: none;
position: absolute;
top: -20px;
right: -110%;
background: #1a1821;
border: 1px solid #B966FF;
box-shadow: 0px 15px 28px 3px rgba(22,22,22,0.13);
padding: 0 20px;
border-radius: 15px;
box-sizing: border-box;
li {
font-family: 'Poppins';
font-weight: 500;
font-size: 14px;
h6 {
margin: 10px 0;
font-family: 'Poppins';
font-weight: 500;
font-size: 14px;
}
.rewards-hover-btm {
display: flex;
border-bottom: 1px solid #3D4057;
padding-bottom: 10px;
img {
width: 28px;
height: 27px;
margin-right: 10px;
}
p {
width: 100%;
text-align: center;
font-family: 'Poppins';
font-weight: 500;
font-size: 14px;
}
}
&:last-child {
.rewards-hover-btm {
border: 0px;
}
}
}
}
&:hover {
.rewards-hover {
display: block
}
}
}
}
.content-btn { .content-btn {
margin: 0 auto; margin: 0 auto;
display: flex; display: flex;