|
|
@ -1,76 +1,38 @@
|
|
|
|
<template>
|
|
|
|
<template>
|
|
|
|
<view>
|
|
|
|
<view>
|
|
|
|
<navBar
|
|
|
|
<navBar
|
|
|
|
:navTitle="collectionsDetail.Name"
|
|
|
|
:navTitle="collectionsDetail.name"
|
|
|
|
:stickyShow="stickyShow"
|
|
|
|
:stickyShow="stickyShow"
|
|
|
|
:color="'#000000'"
|
|
|
|
:color="'#000000'"
|
|
|
|
:backBackGroundColor="'#699A70'"
|
|
|
|
:backBackGroundColor="'#699A70'"
|
|
|
|
v-if="!isActive"
|
|
|
|
|
|
|
|
:sfBack="true"
|
|
|
|
:sfBack="true"
|
|
|
|
@triggerSfBack="back"
|
|
|
|
@triggerSfBack="back"
|
|
|
|
></navBar>
|
|
|
|
></navBar>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<view>
|
|
|
|
|
|
|
|
<view class="top-img">
|
|
|
|
|
|
|
|
<u-album :urls="[carouselFigureImg]" :singleSize="358"></u-album>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
<view
|
|
|
|
<view
|
|
|
|
class="fixed-box"
|
|
|
|
class="title-t"
|
|
|
|
:style="{ background: !isActive ? '#FFFFFF' : '#000000' }"
|
|
|
|
:style="{ fontSize: '36rpx', color: '#434343', fontWeight: 600 }"
|
|
|
|
|
|
|
|
>{{ $t("basic.info") }}</view
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<view class="btn" v-if="!isActive">
|
|
|
|
<view class="info-box" style="padding: 28rpx 32rpx 4rpx 32rpx; background: #ffffff">
|
|
|
|
<u-button
|
|
|
|
<view class="item">
|
|
|
|
type="primary"
|
|
|
|
<text class="label">{{ $t("series.name") }}</text>
|
|
|
|
:text="$t('navbar.back')"
|
|
|
|
<text class="value">{{ collectionsDetail.seriesName }}</text>
|
|
|
|
class="back"
|
|
|
|
|
|
|
|
@click="back"
|
|
|
|
|
|
|
|
></u-button>
|
|
|
|
|
|
|
|
<u-button
|
|
|
|
|
|
|
|
v-if="this.collectionsDetail.CurrencyType === 'point'"
|
|
|
|
|
|
|
|
type="success"
|
|
|
|
|
|
|
|
:text="'积分制尚未开通'"
|
|
|
|
|
|
|
|
class="buyer"
|
|
|
|
|
|
|
|
></u-button>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<u-button
|
|
|
|
|
|
|
|
v-if="this.collectionsDetail.CurrencyType === 'normal'"
|
|
|
|
|
|
|
|
type="success"
|
|
|
|
|
|
|
|
:text="
|
|
|
|
|
|
|
|
this.collectionsDetail.SaleType === 'draw'
|
|
|
|
|
|
|
|
? '领取'
|
|
|
|
|
|
|
|
: this.collectionsDetail.SaleType === 'normal'
|
|
|
|
|
|
|
|
? '¥' + price + $t('collection.buy')
|
|
|
|
|
|
|
|
: '仅限渠道购买'
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
class="buyer"
|
|
|
|
|
|
|
|
@click="buy"
|
|
|
|
|
|
|
|
></u-button>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="btn" v-else>
|
|
|
|
|
|
|
|
<u-button
|
|
|
|
|
|
|
|
type="primary"
|
|
|
|
|
|
|
|
:text="$t('navbar.back')"
|
|
|
|
|
|
|
|
class="back-active"
|
|
|
|
|
|
|
|
@click="back"
|
|
|
|
|
|
|
|
></u-button>
|
|
|
|
|
|
|
|
<u-button type="success" :text="'售罄'" class="sell-out"></u-button>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="item">
|
|
|
|
|
|
|
|
<text class="label">{{ $t("series.issuer") }}</text>
|
|
|
|
|
|
|
|
<text class="value">{{ collectionsDetail.brandName }}</text>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view v-if="!isActive">
|
|
|
|
<view class="item">
|
|
|
|
<view class="top-img">
|
|
|
|
<text class="label">{{ $t("series.hash") }}</text>
|
|
|
|
<!-- @click="open3D"-->
|
|
|
|
<text class="value">{{ collectionsDetail.hash }}</text>
|
|
|
|
<image
|
|
|
|
|
|
|
|
:src="this.collectionsDetail.CollectionImg"
|
|
|
|
|
|
|
|
mode="widthFix"
|
|
|
|
|
|
|
|
></image>
|
|
|
|
|
|
|
|
<!-- <text class="price" v-if="this.collectionsDetail.Price != 0">¥{{ this.collectionsDetail.Price }}</text> -->
|
|
|
|
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<!-- <view class="title-t">{{ collectionsDetail.Price != 0 ? $t('letter.all') : $t('letter.you') }}</view> -->
|
|
|
|
|
|
|
|
<!-- <view class="info-box" style="padding: 28rpx 32rpx">
|
|
|
|
|
|
|
|
<image src="@/static/image/home/to1.png" class="title-img" v-if="collectionsDetail.Price != 0"></image>
|
|
|
|
|
|
|
|
<image src="@/static/image/home/to.png" class="title-img" v-else></image>
|
|
|
|
|
|
|
|
<image src="@/static/image/home/333.png" class="content-img" mode="widthFix"
|
|
|
|
|
|
|
|
v-if="collectionsDetail.Price != 0"></image>
|
|
|
|
|
|
|
|
<image src="@/static/image/home/222.png" class="content-img" mode="widthFix" v-else></image>
|
|
|
|
|
|
|
|
<view style="text-align: right;">
|
|
|
|
|
|
|
|
<image src="@/static/image/home/from.png" class="from-img"></image>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view> -->
|
|
|
|
|
|
|
|
<view
|
|
|
|
<view
|
|
|
|
class="title-t"
|
|
|
|
class="title-t"
|
|
|
|
:style="{ fontSize: '36rpx', color: '#434343', fontWeight: 600 }"
|
|
|
|
:style="{ fontSize: '36rpx', color: '#434343', fontWeight: 600 }"
|
|
|
@ -79,29 +41,29 @@
|
|
|
|
<view class="info-box" style="padding: 28rpx 32rpx; background: #ffffff">
|
|
|
|
<view class="info-box" style="padding: 28rpx 32rpx; background: #ffffff">
|
|
|
|
<view class="item">
|
|
|
|
<view class="item">
|
|
|
|
<text class="label">{{ $t("collection.name") }}</text>
|
|
|
|
<text class="label">{{ $t("collection.name") }}</text>
|
|
|
|
<text class="value">{{ this.collectionsDetail.Name || "-" }}</text>
|
|
|
|
<text class="value">{{ this.collectionsDetail.name || "-" }}</text>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="item">
|
|
|
|
<view class="item">
|
|
|
|
<text class="label">{{ $t("collection.type") }}</text>
|
|
|
|
<text class="label">{{ $t("collection.type") }}</text>
|
|
|
|
<text class="value">{{
|
|
|
|
<text class="value">{{
|
|
|
|
this.collectionsDetail.CollectionType || "-"
|
|
|
|
this.collectionsDetail.collectionType || "-"
|
|
|
|
}}</text>
|
|
|
|
}}</text>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="item">
|
|
|
|
<view class="item">
|
|
|
|
<text class="label">{{ $t("collection.size") }}</text>
|
|
|
|
<text class="label">{{ $t("collection.size") }}</text>
|
|
|
|
<text class="value">{{ this.collectionsDetail.Size || "-" }}</text>
|
|
|
|
<text class="value">{{ this.collectionsDetail.size || "-" }}</text>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="item">
|
|
|
|
<view class="item">
|
|
|
|
<text class="label">{{ $t("collection.specs") }}</text>
|
|
|
|
<text class="label">{{ $t("collection.specs") }}</text>
|
|
|
|
<text class="value">{{ this.collectionsDetail.Specs || "-" }}</text>
|
|
|
|
<text class="value">{{ this.collectionsDetail.specs || "-" }}</text>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="item">
|
|
|
|
<view class="item">
|
|
|
|
<text class="label">{{ $t("collection.address") }}</text>
|
|
|
|
<text class="label">{{ $t("collection.address") }}</text>
|
|
|
|
<text class="value">{{ this.collectionsDetail.Address || "-" }}</text>
|
|
|
|
<text class="value">{{ this.collectionsDetail.address || "-" }}</text>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="item">
|
|
|
|
<view class="item">
|
|
|
|
<text class="label">{{ $t("collection.intro") }}</text>
|
|
|
|
<text class="label">{{ $t("collection.intro") }}</text>
|
|
|
|
<view class="des">{{ this.collectionsDetail.Intro || "-" }}</view>
|
|
|
|
<view class="des">{{ this.collectionsDetail.intro || "-" }}</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view
|
|
|
|
<view
|
|
|
@ -110,76 +72,13 @@
|
|
|
|
>{{ $t("collection.detail") }}
|
|
|
|
>{{ $t("collection.detail") }}
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view class="detail-info">
|
|
|
|
<view class="detail-info">
|
|
|
|
<!-- <view class="title-t">{{$t('collection.sell')}}</view>
|
|
|
|
|
|
|
|
<view class="box">
|
|
|
|
|
|
|
|
<image v-for="item in sellPoint" :key="item" :src="item" mode="widthFix" class="img"></image>
|
|
|
|
<view v-if="detailImgList.length > 0" class="box">
|
|
|
|
</view> -->
|
|
|
|
|
|
|
|
<view
|
|
|
|
|
|
|
|
v-if="
|
|
|
|
|
|
|
|
this.CollectionUID !== '372afbef-4d3c-4e06-8fae-2ef1068b0a89' &&
|
|
|
|
|
|
|
|
collDetails.length > 0
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
class="title-t"
|
|
|
|
|
|
|
|
>{{ $t("collection.sellDec") }}</view
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<view
|
|
|
|
|
|
|
|
v-if="
|
|
|
|
|
|
|
|
this.CollectionUID !== '372afbef-4d3c-4e06-8fae-2ef1068b0a89' &&
|
|
|
|
|
|
|
|
collDetails.length > 0
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
class="box"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<image
|
|
|
|
|
|
|
|
v-for="item in collDetails"
|
|
|
|
|
|
|
|
:src="item"
|
|
|
|
|
|
|
|
:key="item"
|
|
|
|
|
|
|
|
mode="widthFix"
|
|
|
|
|
|
|
|
class="img"
|
|
|
|
|
|
|
|
></image>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view
|
|
|
|
|
|
|
|
v-if="
|
|
|
|
|
|
|
|
this.CollectionUID !== '372afbef-4d3c-4e06-8fae-2ef1068b0a89' &&
|
|
|
|
|
|
|
|
companyInfo.length > 0
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
class="title-t"
|
|
|
|
|
|
|
|
>{{ $t("collection.company") }}</view
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<view
|
|
|
|
|
|
|
|
v-if="
|
|
|
|
|
|
|
|
this.CollectionUID !== '372afbef-4d3c-4e06-8fae-2ef1068b0a89' &&
|
|
|
|
|
|
|
|
companyInfo.length > 0
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
class="box"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<image
|
|
|
|
|
|
|
|
v-for="item in companyInfo"
|
|
|
|
|
|
|
|
:src="item"
|
|
|
|
|
|
|
|
:key="item"
|
|
|
|
|
|
|
|
mode="widthFix"
|
|
|
|
|
|
|
|
class="img"
|
|
|
|
|
|
|
|
></image>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view v-if="copyright.length > 0" class="title-t">{{
|
|
|
|
|
|
|
|
$t("collection.copyight")
|
|
|
|
|
|
|
|
}}</view>
|
|
|
|
|
|
|
|
<view v-if="copyright.length > 0" lass="box">
|
|
|
|
|
|
|
|
<image
|
|
|
|
|
|
|
|
v-for="item in copyright"
|
|
|
|
|
|
|
|
:src="item"
|
|
|
|
|
|
|
|
:key="item"
|
|
|
|
|
|
|
|
mode="widthFix"
|
|
|
|
|
|
|
|
class="img"
|
|
|
|
|
|
|
|
></image>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view v-if="Blockchain.length > 0" class="title-t">{{
|
|
|
|
|
|
|
|
$t("collection.blockchain")
|
|
|
|
|
|
|
|
}}</view>
|
|
|
|
|
|
|
|
<view v-if="Blockchain.length > 0" class="box">
|
|
|
|
|
|
|
|
<image
|
|
|
|
<image
|
|
|
|
v-for="item in Blockchain"
|
|
|
|
v-for="(img,index) in detailImgList"
|
|
|
|
:src="item"
|
|
|
|
:src="img"
|
|
|
|
:key="item"
|
|
|
|
:key="index"
|
|
|
|
mode="widthFix"
|
|
|
|
mode="widthFix"
|
|
|
|
class="img"
|
|
|
|
class="img"
|
|
|
|
></image>
|
|
|
|
></image>
|
|
|
@ -194,88 +93,8 @@
|
|
|
|
></image>
|
|
|
|
></image>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view v-else class="active">
|
|
|
|
|
|
|
|
<view class="head">
|
|
|
|
|
|
|
|
<u-button class="back" @click="back"> 返回 </u-button>
|
|
|
|
|
|
|
|
<view>泰丰十周年纪念徽章</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<image
|
|
|
|
|
|
|
|
src="@/static/image/home/drawing-board.png"
|
|
|
|
|
|
|
|
mode="scaleToFill"
|
|
|
|
|
|
|
|
class="drawing-board"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view style="height: 180rpx"></view>
|
|
|
|
<view style="height: 180rpx"></view>
|
|
|
|
<u-popup
|
|
|
|
|
|
|
|
:show="showVerfy"
|
|
|
|
|
|
|
|
mode="center"
|
|
|
|
|
|
|
|
@close="closeVerfy"
|
|
|
|
|
|
|
|
bgColor="transparent"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<view class="popup-box">
|
|
|
|
|
|
|
|
<view class="title">{{ $t("buyVerfy.title") }}</view>
|
|
|
|
|
|
|
|
<view class="">
|
|
|
|
|
|
|
|
<view class="input-box">
|
|
|
|
|
|
|
|
<view class="label">{{ $t("buyVerfy.username") }}:</view>
|
|
|
|
|
|
|
|
<view class="input">
|
|
|
|
|
|
|
|
<u--input
|
|
|
|
|
|
|
|
border="none"
|
|
|
|
|
|
|
|
shape="circle"
|
|
|
|
|
|
|
|
v-model="realName"
|
|
|
|
|
|
|
|
@focus="verfFocus"
|
|
|
|
|
|
|
|
></u--input>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="input-box">
|
|
|
|
|
|
|
|
<view class="label">{{ $t("buyVerfy.idNum") }}:</view>
|
|
|
|
|
|
|
|
<view class="input">
|
|
|
|
|
|
|
|
<u--input
|
|
|
|
|
|
|
|
border="none"
|
|
|
|
|
|
|
|
shape="circle"
|
|
|
|
|
|
|
|
v-model="idNum"
|
|
|
|
|
|
|
|
@focus="verfFocus"
|
|
|
|
|
|
|
|
></u--input>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="flex-end">
|
|
|
|
|
|
|
|
<view class="fl-e" v-if="succes">
|
|
|
|
|
|
|
|
<image
|
|
|
|
|
|
|
|
src="../../../static/image/home/true.png"
|
|
|
|
|
|
|
|
mode=""
|
|
|
|
|
|
|
|
style="width: 30rpx; height: 30rpx; margin-right: 5px"
|
|
|
|
|
|
|
|
></image>
|
|
|
|
|
|
|
|
<text style="color: #ffffff; font-size: 24rpx">{{
|
|
|
|
|
|
|
|
$t("buyVerfy.suss")
|
|
|
|
|
|
|
|
}}</text>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<view class="fl-e" v-if="err">
|
|
|
|
|
|
|
|
<image
|
|
|
|
|
|
|
|
src="../../../static/image/home/false.png"
|
|
|
|
|
|
|
|
mode=""
|
|
|
|
|
|
|
|
style="width: 30rpx; height: 30rpx; margin-right: 5px"
|
|
|
|
|
|
|
|
></image>
|
|
|
|
|
|
|
|
<text style="color: #fd343c; font-size: 24rpx">{{
|
|
|
|
|
|
|
|
$t("buyVerfy.error")
|
|
|
|
|
|
|
|
}}</text>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
<u-button
|
|
|
|
|
|
|
|
:text="$t('buyVerfy.done')"
|
|
|
|
|
|
|
|
color="#699A70"
|
|
|
|
|
|
|
|
@click="verifyName"
|
|
|
|
|
|
|
|
style="
|
|
|
|
|
|
|
|
'width: 622rpx;
|
|
|
|
|
|
|
|
height: 56rpx;
|
|
|
|
|
|
|
|
border-radius: 40rpx;
|
|
|
|
|
|
|
|
margin-top: 114rpx;'
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
></u-button>
|
|
|
|
|
|
|
|
<view @click="closeVerfy" class="cancel">{{
|
|
|
|
|
|
|
|
$t("buyVerfy.cancel")
|
|
|
|
|
|
|
|
}}</view>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
</u-popup>
|
|
|
|
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
@ -285,55 +104,30 @@ export default {
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
stickyShow: false,
|
|
|
|
stickyShow: false,
|
|
|
|
showVerfy: false,
|
|
|
|
showVerfy: false,
|
|
|
|
CollectionUID: "",
|
|
|
|
collectionsUID: "",
|
|
|
|
collectionsDetail: {},
|
|
|
|
collectionsDetail: {},
|
|
|
|
sellPoint: [],
|
|
|
|
carouselFigureImg: "",
|
|
|
|
collDetails: [],
|
|
|
|
detailImgList: [],
|
|
|
|
companyInfo: [],
|
|
|
|
containerWidth:300 , // 替换为你的图片容器宽度
|
|
|
|
copyright: [],
|
|
|
|
|
|
|
|
Blockchain: [],
|
|
|
|
|
|
|
|
realName: "",
|
|
|
|
|
|
|
|
idNum: "",
|
|
|
|
|
|
|
|
err: false,
|
|
|
|
|
|
|
|
succes: false,
|
|
|
|
|
|
|
|
SeriesName: "",
|
|
|
|
|
|
|
|
isHave: false,
|
|
|
|
|
|
|
|
AirdorpUid: "",
|
|
|
|
|
|
|
|
price: "",
|
|
|
|
|
|
|
|
isActive: false,
|
|
|
|
|
|
|
|
currencyType: "",
|
|
|
|
|
|
|
|
pageParams: {},
|
|
|
|
|
|
|
|
};
|
|
|
|
};
|
|
|
|
},
|
|
|
|
},
|
|
|
|
onPageScroll(e) {
|
|
|
|
|
|
|
|
this.stickyShow = e.scrollTop > 5 ? true : false;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
onLoad: function (option) {
|
|
|
|
onLoad: function (option) {
|
|
|
|
this.pageParams = option;
|
|
|
|
this.collectionsUID = option.collectionUID;
|
|
|
|
this.CollectionUID = option.CollectionUID;
|
|
|
|
|
|
|
|
this.SeriesName = option.SeriesName;
|
|
|
|
|
|
|
|
this.price = option.Price;
|
|
|
|
|
|
|
|
this.isActive = !Object.keys(option).length;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
onShow() {
|
|
|
|
|
|
|
|
this.getCollectionDetail();
|
|
|
|
this.getCollectionDetail();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
onReady() {
|
|
|
|
calcRouteParams(obj) {
|
|
|
|
// 页面加载完毕后开始动画
|
|
|
|
if (obj && JSON.stringify(obj) !== "{}") {
|
|
|
|
|
|
|
|
let str = "?";
|
|
|
|
|
|
|
|
for (let key in obj) {
|
|
|
|
|
|
|
|
str += key + "=" + obj[key] + "&";
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return str.slice(0, -1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return "";
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
open3D() {
|
|
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
methods: {
|
|
|
|
url: "/pages/index/detail/open3D/open3D",
|
|
|
|
onPageScroll(e) {
|
|
|
|
});
|
|
|
|
this.stickyShow = e.scrollTop > 5 ? true : false;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
back() {
|
|
|
|
back() {
|
|
|
|
let routesRecord = getCurrentPages();
|
|
|
|
let routesRecord = getCurrentPages();
|
|
|
|
if (routesRecord.length > 1) {
|
|
|
|
if (routesRecord.length > 1) {
|
|
|
@ -345,194 +139,26 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
async getCollectionDetail() {
|
|
|
|
async getCollectionDetail() {
|
|
|
|
if (this.isActive) return;
|
|
|
|
|
|
|
|
let data = {
|
|
|
|
let data = {
|
|
|
|
CollectionsUID: this.CollectionUID,
|
|
|
|
collectionsUID: this.collectionsUID,
|
|
|
|
};
|
|
|
|
};
|
|
|
|
let res = await this.$api.series.collectionsInfo(data);
|
|
|
|
let res = await this.$api.usa.collectionsInfo(data);
|
|
|
|
if (res.status === 0) {
|
|
|
|
if (res.status === 0) {
|
|
|
|
// await this.getPick(res.data.CollectionUID);
|
|
|
|
|
|
|
|
this.collectionsDetail = res.data;
|
|
|
|
this.collectionsDetail = res.data;
|
|
|
|
(this.AllImgList = res.data.CutImg ? JSON.parse(res.data.CutImg) : []),
|
|
|
|
this.carouselFigureImg = this.collectionsDetail.carouselFigureList[0];
|
|
|
|
this.cutImg();
|
|
|
|
this.detailImgList = this.collectionsDetail.detailImgList;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
uni.$u.toast(this.$t("load.failed"));
|
|
|
|
uni.$u.toast(this.$t("load.failed"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
async getPick(uid) {
|
|
|
|
|
|
|
|
if (this.isActive) return;
|
|
|
|
|
|
|
|
let parmas = {
|
|
|
|
|
|
|
|
uuid: uid,
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
let res = await this.$api.series.userHaveDropNo(parmas);
|
|
|
|
|
|
|
|
if (res.status === 0) {
|
|
|
|
|
|
|
|
console.log(res.data.Hava);
|
|
|
|
|
|
|
|
this.isHave = res.data.Have != 0 ? false : true;
|
|
|
|
|
|
|
|
this.AirdorpUid = res.data.UserAirdorpUid;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
this.isHave = false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
cutImg() {
|
|
|
|
|
|
|
|
this.AllImgList.forEach((v) => {
|
|
|
|
|
|
|
|
if (Array.isArray(v.imgs)) {
|
|
|
|
|
|
|
|
v.imgs = v.imgs.filter((img) => {
|
|
|
|
|
|
|
|
if (img) {
|
|
|
|
|
|
|
|
return img;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (v.label) {
|
|
|
|
|
|
|
|
case "卖点":
|
|
|
|
|
|
|
|
this.sellPoint = v.imgs;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case "藏品细节":
|
|
|
|
|
|
|
|
this.collDetails = v.imgs;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case "工艺/公司介绍":
|
|
|
|
|
|
|
|
this.companyInfo = v.imgs;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case "版权声明":
|
|
|
|
|
|
|
|
this.copyright = v.imgs;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case "区块链说明":
|
|
|
|
|
|
|
|
this.Blockchain = v.imgs;
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
buy() {
|
|
|
|
|
|
|
|
// 只有领取和普通购买 才执行下去
|
|
|
|
|
|
|
|
if (
|
|
|
|
|
|
|
|
this.collectionsDetail.CurrencyType === "normal" &&
|
|
|
|
|
|
|
|
["normal", "draw"].includes(this.collectionsDetail.SaleType)
|
|
|
|
|
|
|
|
) {
|
|
|
|
|
|
|
|
let token = uni.getStorageSync("mall_token");
|
|
|
|
|
|
|
|
let realName = uni.getStorageSync("mall-user-info")
|
|
|
|
|
|
|
|
? uni.getStorageSync("mall-user-info").realName
|
|
|
|
|
|
|
|
: "";
|
|
|
|
|
|
|
|
if (!token) {
|
|
|
|
|
|
|
|
uni.$u.toast(this.$t("login.pls"));
|
|
|
|
|
|
|
|
uni.setStorageSync(
|
|
|
|
|
|
|
|
"login-redirect",
|
|
|
|
|
|
|
|
"/pages/index/detail/detail" + this.calcRouteParams(this.pageParams)
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
|
|
url: "/pages/login/login",
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
} else if (!realName) {
|
|
|
|
|
|
|
|
this.showVerfy = true;
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
if (this.collectionsDetail.SaleType === "draw") {
|
|
|
|
|
|
|
|
this.directGet();
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
|
|
url:
|
|
|
|
|
|
|
|
"/pages/index/comfirm/comfirm?Collection=" +
|
|
|
|
|
|
|
|
encodeURIComponent(JSON.stringify(this.collectionsDetail)),
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
async directGet() {
|
|
|
|
|
|
|
|
let data = {
|
|
|
|
|
|
|
|
CollectionsUID: this.collectionsDetail.CollectionUID,
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
let res = await this.$api.airdrop.directGet(data);
|
|
|
|
|
|
|
|
if (res.status === 0) {
|
|
|
|
|
|
|
|
uni.$u.toast("领取成功!");
|
|
|
|
|
|
|
|
this.getCollectionDetail();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let routesRecord = getCurrentPages();
|
|
|
|
|
|
|
|
if (routesRecord.length > 1) {
|
|
|
|
|
|
|
|
let that = this;
|
|
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
|
|
that.$common.navigateBack();
|
|
|
|
|
|
|
|
}, 1000);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
|
|
uni.reLaunch({
|
|
|
|
|
|
|
|
url: "/pages/index/index",
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
}, 1000);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
uni.$u.toast(res.msg);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
async pickUp() {
|
|
|
|
|
|
|
|
let data = {
|
|
|
|
|
|
|
|
UserId: uni.getStorageSync("mall-user-info").ID,
|
|
|
|
|
|
|
|
Uuid: this.AirdorpUid,
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
let res = await this.$api.airdrop.getCollection(data);
|
|
|
|
|
|
|
|
if (res.status === 0) {
|
|
|
|
|
|
|
|
this.recive();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
uni.$u.toast(res.msg);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
async recive() {
|
|
|
|
|
|
|
|
let data = {
|
|
|
|
|
|
|
|
collectionsUID: this.CollectionUID,
|
|
|
|
|
|
|
|
userAirdropUuid: this.AirdorpUid,
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
let res = await this.$api.airdrop.getCollectionStepTwo(data);
|
|
|
|
|
|
|
|
if (res.status === 0) {
|
|
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
|
|
url: "/pages/index/payment/reciveOK",
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
uni.$u.toast(res.msg);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
async verifyName() {
|
|
|
|
|
|
|
|
let data = {
|
|
|
|
|
|
|
|
idNum: this.idNum,
|
|
|
|
|
|
|
|
realName: this.realName,
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
if (!data.idNum || !data.realName) {
|
|
|
|
|
|
|
|
return uni.$u.toast("姓名和身份证号不能为空");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!uni.$u.test.idCard(data.idNum)) {
|
|
|
|
|
|
|
|
return uni.$u.toast("身份证号不正确");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
let res = await this.$api.mine.update(data);
|
|
|
|
|
|
|
|
if (res.status === 0) {
|
|
|
|
|
|
|
|
this.succes = true;
|
|
|
|
|
|
|
|
uni.setStorageSync("mall-user-info", res.data);
|
|
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
|
|
this.idNum = "";
|
|
|
|
|
|
|
|
this.realName = "";
|
|
|
|
|
|
|
|
this.showVerfy = false;
|
|
|
|
|
|
|
|
this.err = false;
|
|
|
|
|
|
|
|
this.succes = false;
|
|
|
|
|
|
|
|
}, 1000);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
this.err = true;
|
|
|
|
|
|
|
|
this.succes = false;
|
|
|
|
|
|
|
|
uni.$u.toast(res.msg);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
verfFocus() {
|
|
|
|
|
|
|
|
this.err = false;
|
|
|
|
|
|
|
|
this.succes = false;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
doneVerfy() {
|
|
|
|
|
|
|
|
this.showVerfy = false;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
closeVerfy() {
|
|
|
|
|
|
|
|
this.showVerfy = false;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
<style lang="scss">
|
|
|
|
page {
|
|
|
|
page {
|
|
|
|
background: url("@/static/image/home/new_bg.png?x-oss-process=image/resize,w_750,h_1580")
|
|
|
|
background: url("../../../static/image/start/new_bg.png") no-repeat;
|
|
|
|
no-repeat;
|
|
|
|
|
|
|
|
background-size: 100% 100%;
|
|
|
|
background-size: 100% 100%;
|
|
|
|
background-attachment: fixed;
|
|
|
|
background-attachment: fixed;
|
|
|
|
height: 100vh;
|
|
|
|
height: 100vh;
|
|
|
@ -639,20 +265,14 @@ page {
|
|
|
|
height: 660rpx;
|
|
|
|
height: 660rpx;
|
|
|
|
border-radius: 8rpx;
|
|
|
|
border-radius: 8rpx;
|
|
|
|
margin: 44rpx 44rpx 32rpx 46rpx;
|
|
|
|
margin: 44rpx 44rpx 32rpx 46rpx;
|
|
|
|
position: relative;
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
justify-content: center;
|
|
|
|
.price {
|
|
|
|
align-items: center;
|
|
|
|
font-size: 48rpx;
|
|
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
|
|
bottom: 10rpx;
|
|
|
|
|
|
|
|
right: 30upx;
|
|
|
|
|
|
|
|
// left: 50%;
|
|
|
|
|
|
|
|
// transform: translateX(-50%);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
image {
|
|
|
|
image {
|
|
|
|
width: 100%;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
height: 100%;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -738,6 +358,11 @@ page {
|
|
|
|
|
|
|
|
|
|
|
|
.value {
|
|
|
|
.value {
|
|
|
|
color: #878787;
|
|
|
|
color: #878787;
|
|
|
|
|
|
|
|
// 超出部分显示省略号
|
|
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
|
|
|
max-width: 400rpx;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.des {
|
|
|
|
.des {
|
|
|
|