|
|
@@ -69,17 +69,21 @@
|
|
|
|
|
|
<div class="info">
|
|
|
<div class="info-title">
|
|
|
- <div class="detail-name">
|
|
|
+ <!-- <div class="detail-name">
|
|
|
<span>{{ info.name }}</span>
|
|
|
<img src="../../assets/svgs/png-biaotikuang-01.svg" alt="" />
|
|
|
<img src="../../assets/svgs/png-biaotikuang-02.svg" alt="" />
|
|
|
<img src="../../assets/svgs/png-biaotikuang-03.svg" alt="" />
|
|
|
<img src="../../assets/svgs/png-biaotikuang-04.svg" alt="" />
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
+ <product-title>{{ info.name }}</product-title>
|
|
|
</div>
|
|
|
<div class="price-line">
|
|
|
<template v-if="info.consignment">
|
|
|
- <div class="price"><i class="font_family icon-icon_jiage"></i>{{ info.sellPrice || 0 }}</div>
|
|
|
+ <div class="price">
|
|
|
+ <img src="../../assets/jiage_huang.png" alt="" />
|
|
|
+ <span>{{ info.sellPrice || 0 }}</span>
|
|
|
+ </div>
|
|
|
<div class="sub" v-if="info.royalties">
|
|
|
含 <span>{{ info.royalties }}%</span> 版税
|
|
|
</div>
|
|
|
@@ -111,18 +115,26 @@
|
|
|
|
|
|
<div class="goods">
|
|
|
<van-collapse v-model="activeNames">
|
|
|
- <van-collapse-item name="01" class="goods-info">
|
|
|
+ <van-collapse-item name="1" class="goods-info">
|
|
|
<template #title>
|
|
|
<div class="page-title"><img src="../../assets/fenxiang-icon.png" alt="" />用户信息</div>
|
|
|
</template>
|
|
|
<div class="user">
|
|
|
- <van-cell class="creator">
|
|
|
+ <van-cell
|
|
|
+ class="creator"
|
|
|
+ :to="{
|
|
|
+ path: '/creatorDetail',
|
|
|
+ query: {
|
|
|
+ id: info.minterId
|
|
|
+ }
|
|
|
+ }"
|
|
|
+ >
|
|
|
<template #icon>
|
|
|
<van-image
|
|
|
width="40"
|
|
|
height="40"
|
|
|
class="user-img"
|
|
|
- :src="info.minterAvatar"
|
|
|
+ :src="info.minterAvatar || require('../../assets/svgs/img_default_photo.svg')"
|
|
|
fit="cover"
|
|
|
radius="100"
|
|
|
/>
|
|
|
@@ -151,14 +163,14 @@
|
|
|
</div>
|
|
|
</van-collapse-item>
|
|
|
|
|
|
- <van-collapse-item name="4" class="goods-info">
|
|
|
+ <van-collapse-item name="2" class="goods-info">
|
|
|
<template #title>
|
|
|
<div class="page-title"><img src="../../assets/icon-miaoshu.png" alt="" />作品描述</div>
|
|
|
</template>
|
|
|
<div v-if="info.detail" class="page-text page-detail" v-html="info.detail"></div>
|
|
|
<div v-else class="textName">铸造者未设置</div>
|
|
|
</van-collapse-item>
|
|
|
- <van-collapse-item name="002" class="goods-info">
|
|
|
+ <van-collapse-item name="3" class="goods-info">
|
|
|
<template #title>
|
|
|
<div class="page-title"><img src="../../assets/icon-lianshangxinxi.png" alt="" />类型</div>
|
|
|
</template>
|
|
|
@@ -169,7 +181,7 @@
|
|
|
<div v-else class="text5">铸造者未设置</div>
|
|
|
</div>
|
|
|
</van-collapse-item>
|
|
|
- <van-collapse-item name="00" class="goods-info init">
|
|
|
+ <van-collapse-item name="4" class="goods-info init">
|
|
|
<template #title>
|
|
|
<div class="page-title">
|
|
|
<img src="../../assets/qiaoqiaohua-icon-weidakai.png" alt="" /> 悄悄话<span
|
|
|
@@ -188,7 +200,7 @@
|
|
|
<div class="text5" v-else>铸造者未设置</div>
|
|
|
</div>
|
|
|
</van-collapse-item>
|
|
|
- <van-collapse-item name="0" class="goods-info">
|
|
|
+ <van-collapse-item name="5" class="goods-info">
|
|
|
<template #title>
|
|
|
<div class="titleIcon page-title">
|
|
|
<img src="../../assets/icon-lianshangxinxi(1).png" alt="" />持有特权<span
|
|
|
@@ -197,7 +209,7 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
<div class="prive" v-if="init.length > 0">
|
|
|
- <div class="prive1" v-for="(item, index) in init" :key="index">
|
|
|
+ <div class="prive1" :class="{ opened: item.opened }" v-for="(item, index) in init" :key="index">
|
|
|
<img v-if="!item.opened" class="img" :src="item.icon[0]" alt="" />
|
|
|
<div style="margin-top: 4px;" v-if="item.icon[2]">
|
|
|
<img v-if="item.opened" class="img" :src="item.icon[2]" alt="" />
|
|
|
@@ -214,7 +226,7 @@
|
|
|
</div>
|
|
|
<div v-if="init.length === 0" class="tips">铸造者未设置</div>
|
|
|
</van-collapse-item>
|
|
|
- <van-collapse-item name="1" class="goods-info">
|
|
|
+ <van-collapse-item name="6" class="goods-info">
|
|
|
<template #title>
|
|
|
<div class="page-title">
|
|
|
<img src="../../assets/icon-lianshangxinxi(2).png" alt="" />商品特性
|
|
|
@@ -228,23 +240,13 @@
|
|
|
</div>
|
|
|
<div v-else class="textName">铸造者未设置</div>
|
|
|
</van-collapse-item>
|
|
|
- <van-collapse-item name="2" class="goods-info">
|
|
|
+ <hash-code :info="info"></hash-code>
|
|
|
+ <van-collapse-item name="8" class="goods-info">
|
|
|
<template #title>
|
|
|
<div class="page-title">
|
|
|
- <img src="../../assets/icon-lianshangxinxi(3).png" alt="" />链上信息
|
|
|
+ <img src="../../assets/info_icon_jiaoyijilu1.png" alt="" />交易记录
|
|
|
</div>
|
|
|
</template>
|
|
|
- <div class="page-text" v-if="info.txHash || info.blockNumber || info.tokenId">
|
|
|
- Hash地址:{{ info.txHash }}<br />
|
|
|
- 区块高度: {{ info.blockNumber }}<br />
|
|
|
- 令牌ID: {{ info.tokenId }}
|
|
|
- </div>
|
|
|
- <div v-else class="textName">铸造者未设置</div>
|
|
|
- </van-collapse-item>
|
|
|
- <van-collapse-item name="5" class="goods-info">
|
|
|
- <template #title>
|
|
|
- <div class="page-title"><img src="../../assets/info_icon_jiaoyijilu.png" alt="" />交易记录</div>
|
|
|
- </template>
|
|
|
<div v-if="list.length > 0">
|
|
|
<div class="user-detail" v-for="item in list" :key="item.id">
|
|
|
<div class="text1 van-ellipsis">{{ item.fromUser || '保密' }}</div>
|
|
|
@@ -400,6 +402,8 @@ import { mapState } from 'vuex';
|
|
|
import { ImagePreview } from 'vant';
|
|
|
import Vue from 'vue';
|
|
|
import { Dialog } from 'vant';
|
|
|
+import HashCode from '../../components/product/HashCode.vue';
|
|
|
+import ProductTitle from '../../components/product/ProductTitle.vue';
|
|
|
// install Swiper modules
|
|
|
SwiperCore.use([Pagination]);
|
|
|
|
|
|
@@ -407,13 +411,15 @@ export default {
|
|
|
components: {
|
|
|
Swiper,
|
|
|
SwiperSlide,
|
|
|
- Post
|
|
|
+ Post,
|
|
|
+ HashCode,
|
|
|
+ ProductTitle
|
|
|
},
|
|
|
|
|
|
mixins: [asset, product],
|
|
|
data() {
|
|
|
return {
|
|
|
- activeNames: ['01', '4'],
|
|
|
+ activeNames: ['1', '2', '3', '4', '5', '6', 'hashCode', '8'],
|
|
|
info: {},
|
|
|
liked: false,
|
|
|
show2: false,
|
|
|
@@ -778,16 +784,17 @@ export default {
|
|
|
box-sizing: border-box;
|
|
|
|
|
|
.price {
|
|
|
- font-size: @font4;
|
|
|
+ font-size: 32px;
|
|
|
font-family: OSP;
|
|
|
color: #fdfb60;
|
|
|
- line-height: 36px;
|
|
|
+ line-height: 32px;
|
|
|
transform: translateY(3px);
|
|
|
+ .flex();
|
|
|
|
|
|
- .font_family {
|
|
|
- font-size: 8px;
|
|
|
- line-height: 24px;
|
|
|
- vertical-align: middle;
|
|
|
+ img {
|
|
|
+ width: 10px;
|
|
|
+ height: 11px;
|
|
|
+ margin-top: 10px;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -797,7 +804,7 @@ export default {
|
|
|
.sub {
|
|
|
flex-grow: 1;
|
|
|
margin-left: 5px;
|
|
|
- font-size: 14px;
|
|
|
+ font-size: @font1;
|
|
|
color: #949699;
|
|
|
line-height: 16px;
|
|
|
span {
|
|
|
@@ -805,8 +812,8 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- .text {
|
|
|
- font-size: 14px;
|
|
|
+ .text1 {
|
|
|
+ font-size: @font1;
|
|
|
color: @text3;
|
|
|
line-height: 16px;
|
|
|
span {
|
|
|
@@ -855,11 +862,11 @@ export default {
|
|
|
.van-cell__title {
|
|
|
margin-left: 12px;
|
|
|
.text1 {
|
|
|
- font-size: 16px;
|
|
|
+ font-size: @font1;
|
|
|
line-height: 24px;
|
|
|
}
|
|
|
.text2 {
|
|
|
- font-size: 12px;
|
|
|
+ font-size: @font1;
|
|
|
color: @text3;
|
|
|
line-height: 22px;
|
|
|
}
|
|
|
@@ -909,29 +916,11 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-@keyframes flipY {
|
|
|
- 0% {
|
|
|
- transform: perspective(500px) rotateX(0deg) rotateY(0deg);
|
|
|
- }
|
|
|
- 27% {
|
|
|
- transform: perspective(500px) rotateX(0deg) rotateY(15deg);
|
|
|
- }
|
|
|
- 50% {
|
|
|
- transform: perspective(500px) rotateX(0deg) rotateY(0deg);
|
|
|
- }
|
|
|
- 73% {
|
|
|
- transform: perspective(500px) rotateX(0deg) rotateY(-15deg);
|
|
|
- }
|
|
|
- 100% {
|
|
|
- transform: perspective(500px) rotateX(0deg) rotateY(0deg);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
/deep/ .mySwiper {
|
|
|
width: calc(100vw - 120px);
|
|
|
height: calc(100vw - 120px);
|
|
|
z-index: 1;
|
|
|
- animation: flipY 6s linear infinite;
|
|
|
+ .detail-animate();
|
|
|
|
|
|
.swiper-pagination {
|
|
|
bottom: 22px;
|
|
|
@@ -1079,7 +1068,7 @@ export default {
|
|
|
align-items: center;
|
|
|
// margin-top: 12px;
|
|
|
.text1 {
|
|
|
- font-size: @font2;
|
|
|
+ font-size: @font1;
|
|
|
font-weight: bold;
|
|
|
color: #ffffff;
|
|
|
line-height: 28px;
|
|
|
@@ -1094,6 +1083,7 @@ export default {
|
|
|
text-align: center;
|
|
|
color: #ffffff;
|
|
|
position: relative;
|
|
|
+ font-size: @font1;
|
|
|
margin-left: 0;
|
|
|
* {
|
|
|
position: relative;
|
|
|
@@ -1128,9 +1118,15 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
.text4 {
|
|
|
- color: #fdfb60;
|
|
|
+ color: #ffffff;
|
|
|
+ line-height: 22px;
|
|
|
+ background: linear-gradient(135deg, #fdfb60 0%, #ff8f3e 100%);
|
|
|
+ -webkit-background-clip: text;
|
|
|
+ -webkit-text-fill-color: transparent;
|
|
|
&.prim {
|
|
|
color: @text3;
|
|
|
+ background: transparent;
|
|
|
+ -webkit-text-fill-color: @text3;
|
|
|
}
|
|
|
}
|
|
|
.text5 {
|
|
|
@@ -1170,12 +1166,17 @@ export default {
|
|
|
background: #202122;
|
|
|
color: @text3;
|
|
|
}
|
|
|
+
|
|
|
+ &.opened {
|
|
|
+ background: @bg;
|
|
|
+ border: 1px solid #303133;
|
|
|
+ }
|
|
|
}
|
|
|
.prive2 {
|
|
|
font-size: @font1;
|
|
|
text-align: center;
|
|
|
margin-left: 2px;
|
|
|
- color: #303133;
|
|
|
+ color: @text3;
|
|
|
}
|
|
|
.img {
|
|
|
text-align: center;
|
|
|
@@ -1299,8 +1300,8 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
.status {
|
|
|
- font-size: @font4;
|
|
|
- font-weight: bold;
|
|
|
+ font-size: @font3;
|
|
|
+ // font-weight: bold;
|
|
|
color: #fdfb60;
|
|
|
line-height: 24px;
|
|
|
}
|
|
|
@@ -1540,7 +1541,6 @@ export default {
|
|
|
background-color: #131313 !important;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
.user-detail {
|
|
|
.flex();
|
|
|
width: 100%;
|