|
|
@ -5,7 +5,10 @@
|
|
|
|
<u-swiper :list="imgList" :autoplay="false" indicatorStyle="right: 20px" duration="400" mode="number"
|
|
|
|
<u-swiper :list="imgList" :autoplay="false" indicatorStyle="right: 20px" duration="400" mode="number"
|
|
|
|
height="750" indicator-pos="bottomRight" class="swiper">
|
|
|
|
height="750" indicator-pos="bottomRight" class="swiper">
|
|
|
|
</u-swiper>
|
|
|
|
</u-swiper>
|
|
|
|
<view class="btn-box">
|
|
|
|
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<view class="btn-box" :style="{top:statusBarHeight+'px'}">
|
|
|
|
<view class="goback" @click="goBack">
|
|
|
|
<view class="goback" @click="goBack">
|
|
|
|
<image src="@/static/icons/icon_back.png" mode=""></image>
|
|
|
|
<image src="@/static/icons/icon_back.png" mode=""></image>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
@ -13,7 +16,6 @@
|
|
|
|
<image src="@/static/icons/icon_share.png" mode=""></image>
|
|
|
|
<image src="@/static/icons/icon_share.png" mode=""></image>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<view class="introduce-section">
|
|
|
|
<view class="introduce-section">
|
|
|
|
<view class="price-box">
|
|
|
|
<view class="price-box">
|
|
|
@ -33,7 +35,7 @@
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 分享 -->
|
|
|
|
<!-- 分享 -->
|
|
|
|
<!-- <view class="share-section" @click="share">
|
|
|
|
<!-- <view class="share-section" @click="share">
|
|
|
|
<view class="share-icon">
|
|
|
|
<view class="share-icon">
|
|
|
|
<text class="yticon icon-xingxing"></text>
|
|
|
|
<text class="yticon icon-xingxing"></text>
|
|
|
|
返
|
|
|
|
返
|
|
|
@ -297,6 +299,8 @@
|
|
|
|
},
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
|
|
|
|
// 状态栏+胶囊的高度
|
|
|
|
|
|
|
|
statusBarHeight: 0,
|
|
|
|
specClass: 'none',
|
|
|
|
specClass: 'none',
|
|
|
|
attrClass: 'none',
|
|
|
|
attrClass: 'none',
|
|
|
|
specSelected: [],
|
|
|
|
specSelected: [],
|
|
|
@ -321,6 +325,16 @@
|
|
|
|
let id = options.id;
|
|
|
|
let id = options.id;
|
|
|
|
this.shareList = defaultShareList;
|
|
|
|
this.shareList = defaultShareList;
|
|
|
|
this.loadData(id);
|
|
|
|
this.loadData(id);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let systemInfo = uni.getSystemInfoSync()
|
|
|
|
|
|
|
|
this.statusBarHeight = systemInfo.statusBarHeight
|
|
|
|
|
|
|
|
console.log("N", systemInfo.statusBarHeight)
|
|
|
|
|
|
|
|
let menuButtonInfo = uni.getMenuButtonBoundingClientRect()
|
|
|
|
|
|
|
|
this.statusBarHeight = (menuButtonInfo.top - this.statusBarHeight) + menuButtonInfo.height + systemInfo.statusBarHeight
|
|
|
|
|
|
|
|
console.log("S", menuButtonInfo.top, menuButtonInfo.height)
|
|
|
|
|
|
|
|
console.log('M', this.statusBarHeight)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
computed: {
|
|
|
|
...mapState(['hasLogin'])
|
|
|
|
...mapState(['hasLogin'])
|
|
|
@ -605,7 +619,9 @@
|
|
|
|
//初始化商品详情信息
|
|
|
|
//初始化商品详情信息
|
|
|
|
initProductDesc() {
|
|
|
|
initProductDesc() {
|
|
|
|
let rawhtml = this.product.detailMobileHtml;
|
|
|
|
let rawhtml = this.product.detailMobileHtml;
|
|
|
|
if(!rawhtml){ return}
|
|
|
|
if (!rawhtml) {
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
let tempNode = document.createElement('div');
|
|
|
|
let tempNode = document.createElement('div');
|
|
|
|
tempNode.innerHTML = rawhtml;
|
|
|
|
tempNode.innerHTML = rawhtml;
|
|
|
|
let imgs = tempNode.getElementsByTagName('img');
|
|
|
|
let imgs = tempNode.getElementsByTagName('img');
|
|
|
@ -764,25 +780,12 @@
|
|
|
|
.carousel {
|
|
|
|
.carousel {
|
|
|
|
height: 722upx;
|
|
|
|
height: 722upx;
|
|
|
|
position: relative;
|
|
|
|
position: relative;
|
|
|
|
.btn-box {
|
|
|
|
|
|
|
|
width: 100vw;
|
|
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
|
|
top: calc(var(--status-bar-height) + 38upx);
|
|
|
|
|
|
|
|
left: 0upx;
|
|
|
|
|
|
|
|
padding: 38upx;
|
|
|
|
|
|
|
|
@include flex(x, center, center);
|
|
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
/* align-self: ; */
|
|
|
|
|
|
|
|
view image {
|
|
|
|
|
|
|
|
width: 60upx;
|
|
|
|
|
|
|
|
height: 60upx;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.swiper {
|
|
|
|
.swiper {
|
|
|
|
height: 100%;
|
|
|
|
height: 100%;
|
|
|
|
|
|
|
|
|
|
|
|
.u-swiper-indicator {
|
|
|
|
.u-swiper-indicator {
|
|
|
|
bottom: 36upx!important;
|
|
|
|
bottom: 36upx !important;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -806,6 +809,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.btn-box {
|
|
|
|
|
|
|
|
width: 100vw;
|
|
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
|
|
top: calc(var(--status-bar-height) + 38upx);
|
|
|
|
|
|
|
|
left: 0upx;
|
|
|
|
|
|
|
|
padding: 38upx;
|
|
|
|
|
|
|
|
@include flex(x, center, center);
|
|
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* align-self: ; */
|
|
|
|
|
|
|
|
view image {
|
|
|
|
|
|
|
|
width: 60upx;
|
|
|
|
|
|
|
|
height: 60upx;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 标题简介 */
|
|
|
|
/* 标题简介 */
|
|
|
|
.introduce-section {
|
|
|
|
.introduce-section {
|
|
|
|
background: #fff;
|
|
|
|
background: #fff;
|
|
|
@ -1300,6 +1319,7 @@
|
|
|
|
width: 96upx;
|
|
|
|
width: 96upx;
|
|
|
|
height: 80upx;
|
|
|
|
height: 80upx;
|
|
|
|
position: relative;
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
|
|
|
|
.cart-badge>view {
|
|
|
|
.cart-badge>view {
|
|
|
|
top: 0upx !important;
|
|
|
|
top: 0upx !important;
|
|
|
|
right: 0upx !important;
|
|
|
|
right: 0upx !important;
|
|
|
|