11 changed files with 1103 additions and 848 deletions
@ -1,125 +1,144 @@ |
|||||
<template> |
<template> |
||||
<view class="main"> |
<view class="main"> |
||||
<!-- nav --> |
<!-- nav --> |
||||
<navigation>{{ i18n.MinePool }}</navigation> |
<navigation>{{ i18n.MinePool }}</navigation> |
||||
<view class="poolContent"> |
<view class="poolContent"> |
||||
<!-- pool选择框 --> |
<!-- pool选择框 --> |
||||
<view class="pool-item" v-for="(item, index) in 4" :key="index"> |
<view class="pool-item" v-for="(item, index) in mineCon.mineList" :key="index"> |
||||
<u-icon class="icon" :name="'../../static/mine/img_mine01.png'" size="92rpx" width="92rpx"></u-icon> |
<u-icon class="icon" :name="mineCon.imgAddress+item.imgMobile" size="92rpx" width="92rpx"></u-icon> |
||||
<view class="right"> |
<view class="right"> |
||||
<view class="title">0.1 BTC 30 days</view> |
<view class="title">{{item.name}}</view> |
||||
<view class="description">every time lock 0.1 BTC,Lock 30 Mine poolLock,to produce 300 ACTA per 1 |
<view class="description">{{item.remarks}}</view> |
||||
day</view> |
</view> |
||||
</view> |
<u-button class="button" @click="gotoDetails(item,index)" color="#00E8A2" throttleTime="500" :disabled="item.status!='open'"> |
||||
<u-button class="button" @click="gotoDetails(index)" color="#00E8A2" throttleTime="500">{{ i18n.OpenMine }}</u-button> |
{{ i18n.OpenMine }}</u-button> |
||||
</view> |
</view> |
||||
|
|
||||
|
<u-empty :text="i18n.Dataisempty" mode="data" v-if="mineCon.mineList.length==0"></u-empty> |
||||
</view> |
<u-loadmore :status="loadStatus" :loading-text="loadingText" :loadmore-text="loadmoreText" |
||||
|
:nomore-text="nomoreText" v-if="mineCon.mineList.length" height="80" /> |
||||
|
|
||||
</view> |
</view> |
||||
|
|
||||
|
|
||||
|
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
export default { |
import api from '@/utils/api' |
||||
name: "mine", |
import constant from '@/utils/constant.js'; |
||||
data() { |
export default { |
||||
return { |
name: "mine", |
||||
pageState: 'coinRecharge', |
data() { |
||||
coin: '', |
return { |
||||
USDTPopupShow: false, |
mineCon:[], |
||||
USDTRadioValue: '', |
pageState: 'coinRecharge', |
||||
selectNumberValue: 100, |
coin: '', |
||||
selectMethod: '1', |
USDTPopupShow: false, |
||||
}; |
USDTRadioValue: '', |
||||
}, |
selectNumberValue: 100, |
||||
computed: { |
selectMethod: '1', |
||||
i18n() { |
isLoadMore: false, //是否加载中 |
||||
return this.$t("mine"); |
loadStatus: 'loadmore', |
||||
}, |
loadingText: this.$t("login").toload, |
||||
}, |
loadmoreText: this.$t("login").pullup, |
||||
onLoad() { |
nomoreText: this.$t("login").Nomore, |
||||
}, |
}; |
||||
onShow() { }, |
}, |
||||
methods: { |
computed: { |
||||
gotoDetails(index) { |
i18n() { |
||||
console.log(index); |
return this.$t("mine"); |
||||
uni.navigateTo({ |
}, |
||||
url: `/pages/mine/mineDetails?id=${index}` |
}, |
||||
}); |
onLoad() { |
||||
}, |
this.getMine() |
||||
|
}, |
||||
}, |
onShow() {}, |
||||
} |
methods: { |
||||
|
//获取挖矿产品列表 |
||||
|
getMine() { |
||||
|
this.isLoadMore = true |
||||
|
api.mineList().then(res => { |
||||
|
this.mineCon=res |
||||
|
this.loadStatus = 'nomore' |
||||
|
}) |
||||
|
}, |
||||
|
gotoDetails(item,index) { |
||||
|
uni.navigateTo({ |
||||
|
url: `/pages/mine/mineDetails?id=${item.id}&imgAddress=${this.mineCon.imgAddress}` |
||||
|
}); |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
} |
||||
</script> |
</script> |
||||
|
|
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
.main { |
.main { |
||||
|
|
||||
.poolContent { |
.poolContent { |
||||
overflow: hidden; |
overflow: hidden; |
||||
margin-top: 200rpx; |
margin-top: 200rpx; |
||||
padding: 0 60rpx; |
padding: 0 60rpx; |
||||
|
|
||||
|
|
||||
.pool-item { |
.pool-item { |
||||
position: relative; |
position: relative; |
||||
background: #211F32; |
background: #211F32; |
||||
margin-top: 32rpx; |
margin-top: 32rpx; |
||||
padding: 32rpx 24rpx; |
padding: 32rpx 24rpx; |
||||
background-image: url(../../static/mine/Line.png); |
background-image: url(../../static/mine/Line.png); |
||||
background-repeat: no-repeat; |
background-repeat: no-repeat; |
||||
background-size: 630rpx 2rpx; |
background-size: 630rpx 2rpx; |
||||
|
|
||||
.icon { |
.icon { |
||||
display: inline-block; |
display: inline-block; |
||||
width: 92rpx; |
width: 92rpx; |
||||
margin-top: 10rpx; |
margin-top: 10rpx; |
||||
margin-right: 28rpx; |
margin-right: 28rpx; |
||||
border-radius: 16rpx; |
border-radius: 16rpx; |
||||
vertical-align: top; |
vertical-align: top; |
||||
} |
} |
||||
|
|
||||
.right { |
.right { |
||||
display: inline-block; |
display: inline-block; |
||||
width: 460rpx; |
width: 460rpx; |
||||
|
|
||||
.title { |
.title { |
||||
font-weight: 600; |
font-weight: 600; |
||||
width: 460rpx; |
width: 460rpx; |
||||
height: 52rpx; |
height: 52rpx; |
||||
line-height: 52rpx; |
line-height: 52rpx; |
||||
font-size: 32rpx; |
font-size: 32rpx; |
||||
} |
} |
||||
|
|
||||
.description { |
.description { |
||||
width: 460rpx; |
width: 460rpx; |
||||
font-size: 24rpx; |
font-size: 24rpx; |
||||
color: #A1A0A8; |
color: #A1A0A8; |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
|
|
||||
|
|
||||
.button { |
.button { |
||||
height: 64rpx; |
height: 64rpx; |
||||
line-height:64rpx; |
line-height: 64rpx; |
||||
font-size: 28rpx; |
font-size: 28rpx; |
||||
color: #15141F !important; |
color: #15141F !important; |
||||
margin-top: 48rpx; |
margin-top: 48rpx; |
||||
border-radius: 16rpx; |
border-radius: 16rpx; |
||||
text-align: center; |
text-align: center; |
||||
font-weight: 600; |
font-weight: 600; |
||||
} |
} |
||||
|
|
||||
&:last-child{ |
&:last-child { |
||||
margin-bottom: 80rpx; |
margin-bottom: 80rpx; |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
} |
} |
||||
|
|
||||
|
|
||||
} |
} |
||||
</style> |
</style> |
||||
|
@ -1,233 +1,276 @@ |
|||||
<template> |
<template> |
||||
<view class="main"> |
<view class="main"> |
||||
<!-- nav --> |
<!-- nav --> |
||||
<navigation>{{ i18n.MineDetails }}<view slot="right" class="right" @click="goto('mineRecord')">{{ i18n.Record }} |
<navigation>{{ i18n.MineDetails }} |
||||
</view> |
<view slot="right" class="right" @click="goto('mineRecord')">{{ i18n.Record }} |
||||
</navigation> |
</view> |
||||
<view class="content"> |
</navigation> |
||||
<view class="card"> |
<view class="content"> |
||||
<view class="top"> |
<view class="card"> |
||||
<u-icon class="icon" :name="'../../static/mine/coinLogo.png'" size="80rpx" width="80rpx"></u-icon> |
<view class="top"> |
||||
<view class="title">{{ i18n.YourBTC }}</view> |
<u-icon class="icon" :name="imgAddress+detail.mineDetails.imgMobile" size="80rpx" width="80rpx"> |
||||
<view class="coinValue">{{ coinValue }}</view> |
</u-icon> |
||||
</view> |
<view class="title">{{ detail.mineDetails.name }}</view> |
||||
<view class="bottom"> |
<view class="coinValue">{{ detail.userCapital }} <text |
||||
<view class="item"> |
style="font-size: 26rpx;">{{detail.mineDetails.baseCoin}}</text> </view> |
||||
<view class="title">{{ i18n.LockBTC }}</view> |
</view> |
||||
<view class="value">0.1</view> |
<view class="bottom"> |
||||
</view> |
<view class="item"> |
||||
<view class="item"> |
<view class="title">{{ i18n.LockBTC }}</view> |
||||
<view class="title">{{ i18n.dayproduce }}</view> |
<view class="value">{{ detail.mineDetails.limitMin }}</view> |
||||
<view class="value">300 ACTA</view> |
</view> |
||||
</view> |
<view class="item"> |
||||
<view class="item"> |
<view class="title">{{ i18n.dayproduce }}</view> |
||||
<view class="title">{{ i18n.MinLockTime }}</view> |
<view class="value">{{ detail.mineDetails.price }} {{ detail.mineDetails.profitCoin }}</view> |
||||
<view class="value">30{{ i18n.days }}</view> |
</view> |
||||
</view> |
<view class="item"> |
||||
</view> |
<view class="title">{{ i18n.MinLockTime }}</view> |
||||
|
<view class="value">{{ detail.mineDetails.day}}{{ i18n.days }}</view> |
||||
</view> |
</view> |
||||
<input class="input" v-model="codeValue" focus :placeholder="i18n.invuteCode" |
</view> |
||||
placeholder-style="color:#A1A0A8" /> |
|
||||
<view class="allItem"> |
</view> |
||||
<input class="input" v-model="coinQuantity" :placeholder="i18n.lockBTC" |
<!-- <input class="input" v-model="info.inviteCode" focus :placeholder="i18n.invuteCode" |
||||
placeholder-style="color:#A1A0A8" /> |
placeholder-style="color:#A1A0A8" :disabled="detail.inviteCode" /> --> |
||||
<view class="all">{{ i18n.ALL }}</view> |
<view class="allItem"> |
||||
</view> |
<input class="input" v-model="info.amount" :placeholder="i18n.lockBTC" |
||||
|
placeholder-style="color:#A1A0A8" /> |
||||
<u-button class="button" color="#00E8A2" throttleTime="500" :disabled="true">{{ i18n.LockBTCBtn }} |
<view class="all" @click="info.amount=detail.userCapital">{{ i18n.ALL }}</view> |
||||
</u-button> |
</view> |
||||
</view> |
|
||||
|
<u-button class="button" color="#00E8A2" throttleTime="500" :disabled="lockBTCBtned" @click="Lock"> |
||||
|
{{ i18n.LockBTCBtn }} |
||||
</view> |
</u-button> |
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
import uniCopy from '@/utils/uni-copy' |
import uniCopy from '@/utils/uni-copy' |
||||
export default { |
import api from '@/utils/api' |
||||
name: "mineDetails", |
import constant from '@/utils/constant.js'; |
||||
data() { |
export default { |
||||
return { |
name: "mineDetails", |
||||
coinValue: 1000.001, |
data() { |
||||
codeValue: '', |
return { |
||||
coinQuantity: '', |
id:null, |
||||
}; |
info: { |
||||
}, |
productId: null, |
||||
computed: { |
amount: null, |
||||
i18n() { |
// inviteCode: null, |
||||
return this.$t("mine"); |
}, |
||||
}, |
coinValue: 1000.001, |
||||
}, |
codeValue: '', |
||||
onLoad() { |
coinQuantity: '', |
||||
}, |
detail: {}, |
||||
onShow() { }, |
imgAddress: '', |
||||
methods: { |
}; |
||||
goto(page) { |
}, |
||||
// console.log(page); |
computed: { |
||||
let url = ''; |
i18n() { |
||||
switch (page) { |
return this.$t("mine"); |
||||
case 'mineRecord': |
}, |
||||
url = '/pages/mine/mineRecord' |
lockBTCBtned() { |
||||
break; |
if (!this.info.amount && !this.info.amount) { |
||||
default: |
return true; |
||||
break; |
} else { |
||||
} |
return false; |
||||
if (url) { |
} |
||||
// console.log(url); |
} |
||||
uni.navigateTo({ |
}, |
||||
url, |
onLoad(res) { |
||||
}); |
this.id=res.id |
||||
} |
this.getMineDetail(this.id) |
||||
|
this.imgAddress = res.imgAddress |
||||
}, |
}, |
||||
USDTRadioChange(e) { |
onShow() {}, |
||||
console.log(e); |
methods: { |
||||
}, |
// 瓊슥뭔찜穀웁끓틔땐데 |
||||
|
Lock() { |
||||
copyAddress(value = "") { |
api.mineSubmit(this.info).then(res => { |
||||
console.log(value) |
uni.$u.toast(this.$t("login").Purchasesucceeded) |
||||
uniCopy({ |
setTimeout(()=>{ |
||||
content: value, |
this.getMineDetail(this.id) |
||||
success: (res) => { |
},1200) |
||||
uni.showToast({ |
}) |
||||
title: "复制成功", |
}, |
||||
duration: 3000, |
//삿혤穀웁끓틔圈헙 |
||||
}) |
getMineDetail(id) { |
||||
}, |
api.showMineDetails({ |
||||
error: (e) => { |
mineId: id |
||||
uni.showToast({ |
}).then(res => { |
||||
title: e, |
this.detail = res |
||||
icon: 'none', |
this.info.productId = this.detail.mineDetails.id |
||||
duration: 2000, |
|
||||
}) |
}) |
||||
} |
}, |
||||
}) |
goto(page) { |
||||
}, |
// console.log(page); |
||||
|
let url = ''; |
||||
}, |
switch (page) { |
||||
} |
case 'mineRecord': |
||||
|
url = '/pages/mine/mineRecord' |
||||
|
break; |
||||
|
default: |
||||
|
break; |
||||
|
} |
||||
|
if (url) { |
||||
|
// console.log(url); |
||||
|
uni.navigateTo({ |
||||
|
url, |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
USDTRadioChange(e) { |
||||
|
console.log(e); |
||||
|
}, |
||||
|
|
||||
|
copyAddress(value = "") { |
||||
|
console.log(value) |
||||
|
uniCopy({ |
||||
|
content: value, |
||||
|
success: (res) => { |
||||
|
uni.showToast({ |
||||
|
title: "鸚띶댍�먨뒣", |
||||
|
duration: 3000, |
||||
|
}) |
||||
|
}, |
||||
|
error: (e) => { |
||||
|
uni.showToast({ |
||||
|
title: e, |
||||
|
icon: 'none', |
||||
|
duration: 2000, |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
} |
||||
</script> |
</script> |
||||
|
|
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
.main { |
.main { |
||||
|
|
||||
.right { |
.right { |
||||
position: absolute; |
position: absolute; |
||||
right: 32rpx; |
right: 32rpx; |
||||
font-size: 24rpx; |
font-size: 24rpx; |
||||
} |
} |
||||
|
|
||||
.content { |
.content { |
||||
overflow: hidden; |
overflow: hidden; |
||||
margin-top: 200rpx; |
margin-top: 200rpx; |
||||
padding: 0 32rpx; |
padding: 0 32rpx; |
||||
|
|
||||
.card { |
.card { |
||||
margin-top: 40rpx; |
margin-top: 40rpx; |
||||
height: 274rpx; |
height: 274rpx; |
||||
padding: 0 24rpx; |
padding: 0 24rpx; |
||||
background-image: url(../../static/mine/bg_mine.png); |
background-image: url(../../static/mine/bg_mine.png); |
||||
background-repeat: no-repeat; |
background-repeat: no-repeat; |
||||
background-size: 686rpx 274rpx; |
background-size: 686rpx 274rpx; |
||||
|
|
||||
.top { |
.top { |
||||
display: flex; |
display: flex; |
||||
height: 132rpx; |
height: 132rpx; |
||||
border-bottom: 2rpx solid rgba(255, 255, 255, 0.2); |
border-bottom: 2rpx solid rgba(255, 255, 255, 0.2); |
||||
|
|
||||
.icon { |
.icon { |
||||
margin: 0 24rpx 0 16rpx; |
margin: 0 24rpx 0 16rpx; |
||||
} |
} |
||||
|
|
||||
.title { |
.title { |
||||
font-size: 28rpx; |
font-size: 28rpx; |
||||
line-height: 136rpx; |
line-height: 136rpx; |
||||
} |
} |
||||
|
|
||||
.coinValue { |
.coinValue { |
||||
flex: 1; |
flex: 1; |
||||
text-align: right; |
text-align: right; |
||||
font-size: 68rpx; |
font-size: 48rpx; |
||||
line-height: 144rpx; |
line-height: 144rpx; |
||||
padding-right: 20rpx; |
padding-right: 20rpx; |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
.bottom { |
.bottom { |
||||
display: flex; |
display: flex; |
||||
height: 140rpx; |
height: 140rpx; |
||||
padding: 0 20rpx; |
padding: 0 20rpx; |
||||
|
|
||||
.item { |
.item { |
||||
flex: 1; |
flex: 1; |
||||
|
|
||||
.title { |
.title { |
||||
font-size: 20rpx; |
font-size: 20rpx; |
||||
line-height: 64rpx; |
line-height: 64rpx; |
||||
} |
} |
||||
|
|
||||
.value { |
.value { |
||||
font-size: 35rpx; |
font-size: 35rpx; |
||||
line-height: 40rpx; |
line-height: 40rpx; |
||||
font-weight: 600; |
font-weight: 600; |
||||
} |
} |
||||
|
|
||||
&:nth-child(1) { |
&:nth-child(1) { |
||||
text-align: left; |
text-align: left; |
||||
} |
} |
||||
|
|
||||
&:nth-child(2) { |
&:nth-child(2) { |
||||
text-align: center; |
text-align: center; |
||||
} |
} |
||||
|
|
||||
&:nth-child(3) { |
&:nth-child(3) { |
||||
text-align: right; |
text-align: right; |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
} |
} |
||||
|
|
||||
} |
} |
||||
|
|
||||
.input { |
.input { |
||||
margin-top: 32rpx; |
margin-top: 32rpx; |
||||
height: 112rpx; |
height: 112rpx; |
||||
background: #323045; |
background: #323045; |
||||
border-radius: 32rpx; |
border-radius: 32rpx; |
||||
padding-left: 32rpx; |
padding-left: 32rpx; |
||||
font-size: 26rpx; |
font-size: 26rpx; |
||||
color: #fff; |
color: #fff; |
||||
} |
} |
||||
|
|
||||
.allItem { |
.allItem { |
||||
position: relative; |
position: relative; |
||||
|
|
||||
.all { |
.all { |
||||
position: absolute; |
position: absolute; |
||||
display: inline; |
display: inline; |
||||
font-size: 20rpx; |
font-size: 20rpx; |
||||
color: #00E8A2; |
color: #00E8A2; |
||||
top: 44rpx; |
top: 44rpx; |
||||
right: 30rpx; |
right: 30rpx; |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
.button { |
.button { |
||||
margin-top: 60rpx; |
margin-top: 60rpx; |
||||
border-radius: 32rpx; |
border-radius: 32rpx; |
||||
height: 112rpx; |
height: 112rpx; |
||||
line-height: 112rpx; |
line-height: 112rpx; |
||||
color: #15141F !important; |
color: #15141F !important; |
||||
font-weight: bold; |
font-weight: bold; |
||||
} |
} |
||||
|
|
||||
} |
} |
||||
} |
} |
||||
</style> |
</style> |
||||
|
@ -1,258 +1,345 @@ |
|||||
<template> |
<template> |
||||
<view class="main"> |
<view class="main"> |
||||
<!-- nav --> |
<!-- nav --> |
||||
<navigation>{{ i18n.Subscription }}</navigation> |
<navigation>{{ i18n.Subscription }}</navigation> |
||||
<view class="body"> |
<view class="body"> |
||||
<!-- 倒计时 --> |
<!-- 倒计时 --> |
||||
<view class="countDown"> |
<view class="countDown"> |
||||
<view class="item"> |
<view class="item"> |
||||
<view class="title">{{ i18n.Days }}</view> |
<view class="title">{{ i18n.Days }}</view> |
||||
<view class="value">20</view> |
<view class="value">{{day}}</view> |
||||
</view> |
</view> |
||||
<view class="item"> |
<view class="item"> |
||||
<view class="title">{{ i18n.Hours }}</view> |
<view class="title">{{ i18n.Hours }}</view> |
||||
<view class="value">8</view> |
<view class="value">{{hr}}</view> |
||||
</view> |
</view> |
||||
<view class="item"> |
<view class="item"> |
||||
<view class="title">{{ i18n.Minutes }}</view> |
<view class="title">{{ i18n.Minutes }}</view> |
||||
<view class="value">47</view> |
<view class="value">{{min}}</view> |
||||
</view> |
</view> |
||||
<view class="item"> |
<view class="item"> |
||||
<view class="title">{{ i18n.Seconds }}</view> |
<view class="title">{{ i18n.Seconds }}</view> |
||||
<view class="value">9</view> |
<view class="value">{{sec}}</view> |
||||
</view> |
</view> |
||||
</view> |
</view> |
||||
|
|
||||
<!-- input --> |
<!-- input --> |
||||
<view class="input-item"> |
<view class="input-item"> |
||||
<u-input class="input" v-model="SubscribeCount" color="#A1A0A8" fontSize="32rpx" border="none" |
<u-input class="input" v-model="SubscribeCount" color="#A1A0A8" fontSize="32rpx" border="none" |
||||
:placeholder="i18n.PleaseChooseCoin"> |
:placeholder="i18n.PleaseChooseCoin" @focus="SubscribeCount=''"> |
||||
</u-input> |
</u-input> |
||||
<view class="selectCoin" @click="USDTPopupShow = true">USDT |
<view class="selectCoin" @click="USDTPopupShow = true">{{deinfo.sysCoinInfo.coinCode}} |
||||
</view> |
</view> |
||||
</view> |
</view> |
||||
<!-- total --> |
<!-- total --> |
||||
<key-value-row :keyName="i18n.Total" :value="'≈ 993.64069952 ACTA'" :size="'24rpx'" :leftColor="'#A1A0A8'" |
<key-value-row :keyName="i18n.Total" :value="'≈'+coinPirce+deinfo.coins[0].code" :size="'24rpx'" |
||||
:rightColor="'#A1A0A8'"></key-value-row> |
:leftColor="'#A1A0A8'" :rightColor="'#A1A0A8'"></key-value-row> |
||||
|
|
||||
<!-- 按钮 --> |
<!-- 按钮 --> |
||||
<u-button class="button" color="#00E8A2" throttleTime="500">{{ |
<u-button class="button" color="#00E8A2" throttleTime="500" :disabled="SubscribeNowed" @click="subscribe">{{ |
||||
i18n.SubscribeNow |
i18n.SubscribeNow |
||||
}} |
}} |
||||
</u-button> |
</u-button> |
||||
|
|
||||
<!-- ProjectDetails --> |
<!-- ProjectDetails --> |
||||
<view class="contentTitle"> |
<view class="contentTitle"> |
||||
<view class="ProjectDetails">{{ i18n.ProjectDetails }}</view> |
<view class="ProjectDetails">{{ i18n.ProjectDetails }}</view> |
||||
<view class="videoBtn">{{ i18n.Video }}</view> |
<view class="videoBtn" @click="getContact('video')">{{ i18n.Video }}</view> |
||||
<view class="whiteBook">{{ i18n.WhiteBook }}</view> |
<view class="whiteBook" @click="getContact('book')">{{ i18n.WhiteBook }}</view> |
||||
</view> |
</view> |
||||
|
|
||||
<!-- 文字内容 --> |
<!-- 文字内容 --> |
||||
<view class="content">Access to COVID-19 Tools Accelerator (ACTA) is a fully decentralized financial (DeFi) |
<view class="content">{{des}}</view> |
||||
ecosystem with blockchain as the underlying architecture, 100% decentralized exchange, 100% free |
|
||||
trading, 100% customized trading model, 100% cross-chain support. We have pre-customized two trading |
|
||||
models, ACTA/BTC and ACTA/USDT. ACTA/BTC is the mainstream currency with stable appreciation space; |
|
||||
ACTA/USDT is a stable settlement virtual currency which can be 1:1 freely convertible with US dollars. |
|
||||
ACTA is the leader of the global digital encryption currency decentralized market. |
|
||||
|
|
||||
Full name of the token: Access to COVID-19 Tools Accelerator |
</view> |
||||
|
</view> |
||||
ACTA total circulation: 1,200,000,000.00 |
|
||||
|
|
||||
ICO Price: 0.02 USDT |
|
||||
|
|
||||
ICO Time: From December 12,2021 to March 12, 2022</view> |
|
||||
|
|
||||
</view> |
|
||||
</view> |
|
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
import KeyValueRow from '../../components/KeyValueRow/KeyValueRow.vue'; |
import KeyValueRow from '../../components/KeyValueRow/KeyValueRow.vue'; |
||||
import UButton from '../../uview-ui/components/u-button/u-button' |
import UButton from '../../uview-ui/components/u-button/u-button' |
||||
export default { |
import api from '@/utils/api' |
||||
name: "subscriptionDetails", |
import constant from '@/utils/constant.js'; |
||||
data() { |
export default { |
||||
return { |
name: "subscriptionDetails", |
||||
SubscribeCount: 0, |
data() { |
||||
DonatePopupShow: false, |
return { |
||||
USDTPopupShow: false, |
// 计算的价格 |
||||
DonatePopupDisabled: true, |
coinPirce: 0, |
||||
coinInfo: {}, |
toLiveBtn: '', |
||||
rules: {}, |
_interval: null, |
||||
radioValue: '', |
des: '', |
||||
}; |
SubscribeCount: 0, |
||||
}, |
DonatePopupShow: false, |
||||
computed: { |
USDTPopupShow: false, |
||||
i18n() { |
DonatePopupDisabled: true, |
||||
return this.$t("subscription"); |
coinInfo: {}, |
||||
}, |
rules: {}, |
||||
}, |
radioValue: '', |
||||
onLoad() { |
baseURL: '', |
||||
// console.log(this.$t('login.emailInputMessage')); |
deinfo: {}, |
||||
}, |
day: '', |
||||
onShow() { }, |
hr: '', |
||||
methods: { |
min: '', |
||||
radioChange(e) { |
sec: '', |
||||
// console.log(e); |
}; |
||||
} |
}, |
||||
}, |
computed: { |
||||
components: { UButton, KeyValueRow } |
i18n() { |
||||
} |
return this.$t("subscription"); |
||||
|
}, |
||||
|
SubscribeNowed() { |
||||
|
if (this.SubscribeCount == 0 || !this.SubscribeCount || isNaN(this.SubscribeCount)) { |
||||
|
return true |
||||
|
} else { |
||||
|
return false |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
SubscribeCount: { |
||||
|
handler(newName, oldName) { |
||||
|
this.SubscribeCount = newName |
||||
|
this.coinPirce = newName / this.deinfo.sysCoinInfo.initalPrice |
||||
|
this.coinPirce = parseFloat(this.coinPirce.toPrecision(10)) |
||||
|
this.coinPirce = String(this.coinPirce) |
||||
|
this.coinPirce = this.coinPirce.substring(0, this.coinPirce.indexOf(".") + 9); |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
onLoad(res) { |
||||
|
this.baseURL = constant.BASE_URL |
||||
|
this.getDetail(res.id); |
||||
|
// console.log(this.$t('login.emailInputMessage')); |
||||
|
}, |
||||
|
onShow() {}, |
||||
|
methods: { |
||||
|
//提交申购订单 |
||||
|
subscribe() { |
||||
|
api.exchangeCoin({ |
||||
|
baseSymbol: this.deinfo.coins[0].code, |
||||
|
coinSymbol: this.deinfo.sysCoinInfo.coinCode, |
||||
|
baseAmount: this.SubscribeCount, |
||||
|
}).then(res => { |
||||
|
uni.$u.toast(this.$t("login").Successfulsubscription) |
||||
|
}) |
||||
|
}, |
||||
|
//当离开页面时,清除倒计时 |
||||
|
beforeDestroy() { |
||||
|
clearInterval(this._interval) |
||||
|
}, |
||||
|
// 倒计时事件 |
||||
|
countdown(e) { |
||||
|
const that = this |
||||
|
that._interval = setInterval(() => { |
||||
|
if (e == 0) { |
||||
|
// 计时结束,清除缓存 |
||||
|
clearInterval(that._interval) |
||||
|
} else { |
||||
|
e-- |
||||
|
let day = parseInt(e / 60 / 60 / 24) |
||||
|
let hr = parseInt(e / 60 / 60 % 24) |
||||
|
let min = parseInt(e / 60 % 60) |
||||
|
let sec = parseInt(e % 60) |
||||
|
this.day = day > 9 ? day : '0' + day |
||||
|
this.hr = hr > 9 ? hr : '0' + hr |
||||
|
this.min = min > 9 ? min : '0' + min |
||||
|
this.sec = sec > 9 ? sec : '0' + sec |
||||
|
that.toLiveBtn = `${this.day}天${this.hr}时${this.min}分${this.sec}秒` |
||||
|
} |
||||
|
}, 1000); |
||||
|
}, |
||||
|
|
||||
|
radioChange(e) { |
||||
|
// console.log(e); |
||||
|
}, |
||||
|
// 跳转视频和pdfe |
||||
|
getContact(e) { |
||||
|
let url; |
||||
|
if (e == 'video') { |
||||
|
url = this.deinfo.sysCoinInfo.videoWebsite |
||||
|
} else { |
||||
|
url = this.deinfo.sysCoinInfo.whitePaperWebsite |
||||
|
} |
||||
|
// #ifdef APP-PLUS |
||||
|
plus.runtime.openURL(url); |
||||
|
// #endif |
||||
|
// #ifdef H5 |
||||
|
window.location.href = url |
||||
|
// #endif |
||||
|
}, |
||||
|
// 申购详情 |
||||
|
getDetail(e) { |
||||
|
api.subscription({ |
||||
|
coinCode: e, |
||||
|
}).then(res => { |
||||
|
this.deinfo = res; |
||||
|
this.des = this.deinfo.sysCoinInfo.info |
||||
|
this.deinfo.lefttime=this.deinfo.lefttime/1000 |
||||
|
this.countdown(this.deinfo.lefttime) |
||||
|
}) |
||||
|
}, |
||||
|
}, |
||||
|
components: { |
||||
|
UButton, |
||||
|
KeyValueRow |
||||
|
} |
||||
|
} |
||||
</script> |
</script> |
||||
|
|
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
.main { |
.main { |
||||
|
|
||||
.body { |
.body { |
||||
overflow: hidden; |
overflow: hidden; |
||||
margin-top: 200rpx; |
margin-top: 200rpx; |
||||
padding: 0 48rpx; |
padding: 0 48rpx; |
||||
|
|
||||
.countDown { |
.countDown { |
||||
margin-top: 60rpx; |
margin-top: 60rpx; |
||||
height: 248rpx; |
height: 248rpx; |
||||
background-image: url(../../static/subscription/RoundedRectangle.png); |
background-image: url(../../static/subscription/RoundedRectangle.png); |
||||
background-repeat: no-repeat; |
background-repeat: no-repeat; |
||||
background-size: 654rpx 248rpx; |
background-size: 654rpx 248rpx; |
||||
color: #15141F; |
color: #15141F; |
||||
padding: 36rpx 28rpx; |
padding: 36rpx 28rpx; |
||||
display: flex; |
display: flex; |
||||
align-items: center; |
align-items: center; |
||||
justify-content: space-around; |
justify-content: space-around; |
||||
box-sizing: border-box; |
box-sizing: border-box; |
||||
|
|
||||
.item { |
.item { |
||||
width: 140rpx; |
// width: 140rpx; |
||||
height: 174rpx; |
height: 174rpx; |
||||
font-weight: bold; |
font-weight: bold; |
||||
|
|
||||
|
|
||||
.title { |
.title { |
||||
font-size: 32rpx; |
font-size: 32rpx; |
||||
text-align: center; |
text-align: center; |
||||
} |
} |
||||
|
|
||||
.value { |
.value { |
||||
margin-top: 10rpx; |
margin-top: 10rpx; |
||||
font-size: 96rpx; |
font-size: 96rpx; |
||||
text-align: center; |
text-align: center; |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
} |
} |
||||
|
|
||||
.input-item { |
.input-item { |
||||
position: relative; |
position: relative; |
||||
overflow: hidden; |
overflow: hidden; |
||||
height: 124rpx; |
height: 124rpx; |
||||
line-height: 124rpx; |
line-height: 124rpx; |
||||
background: #323045; |
background: #323045; |
||||
margin: 32rpx 0; |
margin: 32rpx 0; |
||||
border-radius: 32rpx; |
border-radius: 32rpx; |
||||
padding: 0 40rpx; |
padding: 0 40rpx; |
||||
|
|
||||
/deep/.u-form-item__body { |
/deep/.u-form-item__body { |
||||
padding: 0; |
padding: 0; |
||||
} |
} |
||||
|
|
||||
.input { |
.input { |
||||
width: 80%; |
width: 80%; |
||||
height: 124rpx; |
height: 124rpx; |
||||
} |
} |
||||
|
|
||||
.selectCoin { |
.selectCoin { |
||||
position: absolute; |
position: absolute; |
||||
width: 150rpx; |
width: 150rpx; |
||||
height: 54rpx; |
height: 54rpx; |
||||
top: 36rpx; |
top: 36rpx; |
||||
right: 0rpx; |
right: 0rpx; |
||||
line-height: 56rpx; |
line-height: 56rpx; |
||||
font-size: 36rpx; |
font-size: 36rpx; |
||||
padding: 0; |
padding: 0; |
||||
color: #fff; |
color: #fff; |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
.button { |
.button { |
||||
margin-top: 38rpx; |
margin-top: 38rpx; |
||||
margin-bottom: 48rpx; |
margin-bottom: 48rpx; |
||||
height: 112rpx; |
height: 112rpx; |
||||
line-height: 112rpx; |
line-height: 112rpx; |
||||
border-radius: 32rpx; |
border-radius: 32rpx; |
||||
font-size: 32rpx; |
font-size: 32rpx; |
||||
color: #15141F !important; |
color: #15141F !important; |
||||
font-weight: bold; |
font-weight: bold; |
||||
} |
} |
||||
|
|
||||
.contentTitle { |
.contentTitle { |
||||
position: relative; |
position: relative; |
||||
margin-bottom: 32rpx; |
margin-bottom: 32rpx; |
||||
|
|
||||
.ProjectDetails { |
.ProjectDetails { |
||||
font-size: 32rpx; |
font-size: 32rpx; |
||||
color: #fff; |
color: #fff; |
||||
} |
} |
||||
|
|
||||
.videoBtn { |
.videoBtn { |
||||
position: absolute; |
position: absolute; |
||||
top: 0; |
top: 0; |
||||
right: 184rpx; |
right: 184rpx; |
||||
width: 134rpx; |
width: 134rpx; |
||||
height: 48rpx; |
height: 48rpx; |
||||
line-height: 48rpx; |
line-height: 48rpx; |
||||
background: #F2FE8D; |
background: #F2FE8D; |
||||
border-radius: 8rpx; |
border-radius: 8rpx; |
||||
text-align: right; |
text-align: right; |
||||
color: #15141F; |
color: #15141F; |
||||
font-size: 24rpx; |
font-size: 24rpx; |
||||
font-weight: bold; |
font-weight: bold; |
||||
box-sizing: border-box; |
box-sizing: border-box; |
||||
padding: 0 16rpx; |
padding: 0 16rpx; |
||||
|
|
||||
&::before { |
&::before { |
||||
display: block; |
display: block; |
||||
position: absolute; |
position: absolute; |
||||
content: ''; |
content: ''; |
||||
background-image: url(../../static/subscription/ic_play.png); |
background-image: url(../../static/subscription/ic_play.png); |
||||
background-repeat: no-repeat; |
background-repeat: no-repeat; |
||||
background-size: 32rpx; |
background-size: 32rpx; |
||||
width: 32rpx; |
width: 32rpx; |
||||
height: 32rpx; |
height: 32rpx; |
||||
top: 8rpx; |
top: 8rpx; |
||||
left: 10rpx; |
left: 10rpx; |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
.whiteBook { |
.whiteBook { |
||||
position: absolute; |
position: absolute; |
||||
top: 0; |
top: 0; |
||||
right: 0rpx; |
right: 0rpx; |
||||
width: 164rpx; |
width: 164rpx; |
||||
height: 48rpx; |
height: 48rpx; |
||||
line-height: 48rpx; |
line-height: 48rpx; |
||||
background: #F2FE8D; |
background: #F2FE8D; |
||||
border-radius: 8rpx; |
border-radius: 8rpx; |
||||
text-align: center; |
text-align: center; |
||||
color: #15141F; |
color: #15141F; |
||||
font-size: 24rpx; |
font-size: 24rpx; |
||||
font-weight: bold; |
font-weight: bold; |
||||
box-sizing: border-box; |
box-sizing: border-box; |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
|
|
||||
.content { |
.content { |
||||
font-size: 24rpx; |
font-size: 24rpx; |
||||
color: #A1A0A8; |
color: #A1A0A8; |
||||
margin-bottom: 48rpx; |
margin-bottom: 48rpx; |
||||
} |
line-height: 40rpx; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
|
} |
||||
} |
|
||||
|
} |
||||
</style> |
</style> |
||||
|
@ -1,164 +1,202 @@ |
|||||
<template> |
<template> |
||||
<view class="main"> |
<view class="main"> |
||||
<!-- nav --> |
<!-- nav --> |
||||
<view class="nav-head"> |
<view class="nav-head"> |
||||
<view class="navItem" @click="pageState = 'product'" :class="{ select: pageState === 'product' }"> |
<view class="navItem" @click="pageState = 'product'" :class="{ select: pageState === 'product' }"> |
||||
{{ i18n.Product }} |
{{ i18n.Product }} |
||||
</view> |
</view> |
||||
<view class="navItem" @click="pageState = 'pending'" :class="{ select: pageState === 'pending' }"> |
<view class="navItem" @click="pageState = 'pending'" :class="{ select: pageState === 'pending' }"> |
||||
{{ i18n.Pending }} |
{{ i18n.Pending }} |
||||
</view> |
</view> |
||||
<view class="navItem" @click="pageState = 'complete'" :class="{ select: pageState === 'complete' }"> |
<view class="navItem" @click="pageState = 'complete'" :class="{ select: pageState === 'complete' }"> |
||||
{{ i18n.Complete }} |
{{ i18n.Complete }} |
||||
</view> |
</view> |
||||
</view> |
</view> |
||||
<!-- Product 产品列表 --> |
<!-- Product 产品列表 --> |
||||
<view class="cardList"> |
<view class="cardList"> |
||||
<view class="card" v-for="(item, index) in 10" :key="index" @click="gotoDetails(index)"> |
<view class="card" v-for="(item, index) in info" :key="index" @click="gotoDetails(item,index)"> |
||||
<!-- 卡片条件渲染 --> |
<!-- 卡片条件渲染 --> |
||||
<!-- product --> |
<!-- product --> |
||||
<card-header v-if="pageState === 'product'" :iconName="'../../static/maskets/bye.png'" |
<card-header v-if="pageState === 'product'" :iconName="baseURL+'/coins/'+item.coinCode+'.png'" |
||||
:title="'BTC(Bitcoin)'" :rightName="i18n.Subscribe" :hasBtn="true" :btnColor="'#00E8A2'"> |
:title="item.fullName" |
||||
</card-header> |
:rightName="item.status=='open'?'Subscribe':item.status=='close'?'Ended':'Coming soon'" |
||||
<view class="dataBody" v-if="pageState === 'product'"> |
:hasBtn="true" :btnColor="item.status=='open'?'#00E8A2':item.status=='close'?'#A1A0A8':'#F2FE8D'"> |
||||
<key-value-row :keyName="i18n.STLTotalCirculation" :value="'23989'"></key-value-row> |
</card-header> |
||||
<key-value-row :keyName="i18n.PrivateSalePrice" :value="'284145.61'"></key-value-row> |
<view class="dataBody" v-if="pageState === 'product'"> |
||||
<key-value-row :keyName="i18n.ICOTime" :value="'2022/08/06-2022/08/31'"></key-value-row> |
<key-value-row :keyName="i18n.STLTotalCirculation" :value="item.issueAmount"></key-value-row> |
||||
</view> |
<key-value-row :keyName="i18n.PrivateSalePrice" :value="item.initalPrice+item.coinCode"> |
||||
|
</key-value-row> |
||||
|
<key-value-row :keyName="i18n.ICOTime" :value="item.startDate"></key-value-row> |
||||
<!-- pending --> |
</view> |
||||
<card-header v-if="pageState === 'pending'" :iconName="'../../static/maskets/bye.png'" |
|
||||
:title="'973430980989323445'" :rightName="'Pending'" fontColor="#00E8A2"> |
|
||||
</card-header> |
<!-- pending --> |
||||
<view class="dataBody" v-if="pageState === 'pending'"> |
<card-header v-if="pageState === 'pending'" :iconName="'../../static/maskets/bye.png'" |
||||
<key-value-row :keyName="i18n.Price" :value="'284145.61'"></key-value-row> |
:title="'973430980989323445'" :rightName="'Pending'" fontColor="#00E8A2"> |
||||
<key-value-row :keyName="i18n.Quantity" :value="'1000'"></key-value-row> |
</card-header> |
||||
<key-value-row :keyName="i18n.USDT" :value="'3166.61'"></key-value-row> |
<view class="dataBody" v-if="pageState === 'pending'"> |
||||
<key-value-row :keyName="i18n.Time" :value="'2022/08/06 14:51'"></key-value-row> |
<key-value-row :keyName="i18n.Price" :value="'284145.61'"></key-value-row> |
||||
</view> |
<key-value-row :keyName="i18n.Quantity" :value="'1000'"></key-value-row> |
||||
|
<key-value-row :keyName="i18n.USDT" :value="'3166.61'"></key-value-row> |
||||
|
<key-value-row :keyName="i18n.Time" :value="'2022/08/06 14:51'"></key-value-row> |
||||
<!-- complete --> |
</view> |
||||
<card-header v-if="pageState === 'complete'" :iconName="'../../static/maskets/bye.png'" |
|
||||
:title="'973430980989323445'" :rightName="'complete'" fontColor="#00E8A2"> |
|
||||
</card-header> |
<!-- complete --> |
||||
<view class="dataBody" v-if="pageState === 'complete'"> |
<card-header v-if="pageState === 'complete'" :iconName="'../../static/maskets/bye.png'" |
||||
<key-value-row :keyName="i18n.Price" :value="'284145.61'"></key-value-row> |
:title="'973430980989323445'" :rightName="'complete'" fontColor="#00E8A2"> |
||||
<key-value-row :keyName="i18n.Quantity" :value="'1000'"></key-value-row> |
</card-header> |
||||
<key-value-row :keyName="i18n.ConfirmAmount" :value="'999'" :leftColor="'#F2FE8D'" |
<view class="dataBody" v-if="pageState === 'complete'"> |
||||
:rightColor="'#F2FE8D'"></key-value-row> |
<key-value-row :keyName="i18n.Price" :value="'284145.61'"></key-value-row> |
||||
<key-value-row :keyName="i18n.USDT" :value="'3166.61'"></key-value-row> |
<key-value-row :keyName="i18n.Quantity" :value="'1000'"></key-value-row> |
||||
<key-value-row :keyName="i18n.CheckTheNumberoOfUSDT" :value="'2000'" :leftColor="'#F2FE8D'" |
<key-value-row :keyName="i18n.ConfirmAmount" :value="'999'" :leftColor="'#F2FE8D'" |
||||
:rightColor="'#F2FE8D'"> |
:rightColor="'#F2FE8D'"></key-value-row> |
||||
</key-value-row> |
<key-value-row :keyName="i18n.USDT" :value="'3166.61'"></key-value-row> |
||||
<key-value-row :keyName="i18n.Time" :value="'2022/08/06 14:51'"></key-value-row> |
<key-value-row :keyName="i18n.CheckTheNumberoOfUSDT" :value="'2000'" :leftColor="'#F2FE8D'" |
||||
|
:rightColor="'#F2FE8D'"> |
||||
</view> |
</key-value-row> |
||||
|
<key-value-row :keyName="i18n.Time" :value="'2022/08/06 14:51'"></key-value-row> |
||||
</view> |
|
||||
</view> |
</view> |
||||
|
|
||||
|
</view> |
||||
|
</view> |
||||
<!-- tabBar --> |
<u-empty :text="i18n.Dataisempty" mode="data" v-if="info.length==0"></u-empty> |
||||
<tab-bar :selectActive="4"></tab-bar> |
<u-loadmore :status="loadStatus" :loading-text="loadingText" :loadmore-text="loadmoreText" |
||||
</view> |
:nomore-text="nomoreText" v-if="info.length" height="80" /> |
||||
|
<!-- tabBar --> |
||||
|
<tab-bar :selectActive="4"></tab-bar> |
||||
|
</view> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
import CardHeader from '../../components/cardHeader/cardHeader.vue'; |
import CardHeader from '../../components/cardHeader/cardHeader.vue'; |
||||
import KeyValueRow from '../../components/KeyValueRow/KeyValueRow.vue'; |
import KeyValueRow from '../../components/KeyValueRow/KeyValueRow.vue'; |
||||
export default { |
import api from '@/utils/api' |
||||
components: { KeyValueRow, CardHeader }, |
import constant from '@/utils/constant.js'; |
||||
name: 'subscription', |
export default { |
||||
data() { |
components: { |
||||
return { |
KeyValueRow, |
||||
pageState: 'product', // 当前页签状态 |
CardHeader |
||||
} |
}, |
||||
}, |
name: 'subscription', |
||||
onLoad() { |
data() { |
||||
|
return { |
||||
}, |
baseURL: '', |
||||
onShow() { |
userInfoObj: [], |
||||
|
isLoadMore: false, //是否加载中 |
||||
}, |
loadStatus: 'loadmore', |
||||
onHide() { |
loadingText: this.$t("login").toload, |
||||
}, |
loadmoreText: this.$t("login").pullup, |
||||
computed: { |
nomoreText: this.$t("login").Nomore, |
||||
i18n() { |
info: [], |
||||
return this.$t('subscription') |
pageState: 'product', // 当前页签状态 |
||||
} |
form: { |
||||
}, |
pageNumber: 1, |
||||
methods: { |
pageSize: 20, |
||||
gotoDetails(index) { |
type: 'crypto', |
||||
if (this.pageState !== 'product') return |
}, |
||||
uni.navigateTo({ |
} |
||||
url: `/pages/subscription/details?id=${index}` |
}, |
||||
}); |
onLoad() { |
||||
} |
}, |
||||
} |
onShow() { |
||||
} |
this.baseURL = constant.BASE_URL |
||||
|
this.getGoods(); |
||||
|
}, |
||||
|
onHide() {}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t('subscription') |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
getGoods() { |
||||
|
api.subscriptionList().then(res => { |
||||
|
this.info = res; |
||||
|
this.isLoadMore = true |
||||
|
this.loadStatus = 'nomore' |
||||
|
}) |
||||
|
}, |
||||
|
gotoDetails(i, index) { |
||||
|
if (this.pageState !== 'product') return |
||||
|
if (i.status == 'close') { |
||||
|
uni.$u.toast(this.$t("subscription").Subcompleted) |
||||
|
return; |
||||
|
} |
||||
|
if (i.status == 'unstart') { |
||||
|
uni.$u.toast(this.$t("subscription").Substarted) |
||||
|
return; |
||||
|
} |
||||
|
uni.navigateTo({ |
||||
|
url: `/pages/subscription/details?id=${i.coinCode}` |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
</script> |
</script> |
||||
|
|
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
.main { |
/deep/ .cardHeader .button { |
||||
padding-bottom: 198rpx; // 避免底部TabBar盖住内容 |
width: 160rpx; |
||||
|
} |
||||
|
|
||||
|
.main { |
||||
|
padding-bottom: 198rpx; // 避免底部TabBar盖住内容 |
||||
|
|
||||
.nav-head { |
.nav-head { |
||||
overflow: hidden; |
overflow: hidden; |
||||
position: fixed; |
position: fixed; |
||||
top: 0rpx; |
top: 0rpx; |
||||
height: 80rpx; |
height: 80rpx; |
||||
font-size: 24rpx; |
font-size: 24rpx; |
||||
color: #fff; |
color: #fff; |
||||
display: flex; |
display: flex; |
||||
justify-content: space-around; |
justify-content: space-around; |
||||
align-items: center; |
align-items: center; |
||||
z-index: 8; |
z-index: 8; |
||||
background-color: #15141F; |
background-color: #15141F; |
||||
padding: 94rpx 48rpx 0; |
padding: 94rpx 48rpx 0; |
||||
|
|
||||
|
|
||||
.navItem { |
.navItem { |
||||
width: 218rpx; |
width: 218rpx; |
||||
height: 80rpx; |
height: 80rpx; |
||||
line-height: 80rpx; |
line-height: 80rpx; |
||||
text-align: center; |
text-align: center; |
||||
color: #0b7e60; |
color: #0b7e60; |
||||
font-size: 28rpx; |
font-size: 28rpx; |
||||
border-bottom: 10rpx solid #0b7e60; |
border-bottom: 10rpx solid #0b7e60; |
||||
} |
} |
||||
|
|
||||
.select { |
.select { |
||||
color: #00E8A2; |
color: #00E8A2; |
||||
border-bottom: 10rpx solid #00E8A2; |
border-bottom: 10rpx solid #00E8A2; |
||||
} |
} |
||||
|
|
||||
} |
} |
||||
|
|
||||
|
|
||||
.cardList { |
.cardList { |
||||
margin-top: 212rpx; |
margin-top: 212rpx; |
||||
|
|
||||
.card { |
.card { |
||||
background: #211F32; |
background: #211F32; |
||||
border-radius: 32rpx; |
border-radius: 32rpx; |
||||
margin: 32rpx; |
margin: 32rpx; |
||||
|
|
||||
|
|
||||
|
|
||||
.dataBody { |
.dataBody { |
||||
box-sizing: border-box; |
box-sizing: border-box; |
||||
padding: 32rpx; |
padding: 32rpx; |
||||
} |
} |
||||
} |
} |
||||
} |
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
} |
} |
||||
</style> |
</style> |
||||
|
Loading…
Reference in new issue