【拼团商品详情】

1. 整理变量
pull/1/MERGE
YunaiV 2023-06-15 20:54:32 +08:00
parent 31c96a5c76
commit 31ead800b1
2 changed files with 99 additions and 127 deletions

View File

@ -123,14 +123,13 @@
</view>
</view>
</view>
<!-- 评论 TODO -->
<!-- 评论 -->
<view class='userEvaluation borRadius14' id="past1">
<view class='title acea-row row-between-wrapper' :style="replyCount==0?'border-bottom-left-radius:14rpx;border-bottom-right-radius:14rpx;':''">
<view class='title acea-row row-between-wrapper' :style="replyCount===0?'border-bottom-left-radius:14rpx;border-bottom-right-radius:14rpx;':''">
<view>用户评价<i>({{replyCount}})</i></view>
<navigator class='praise' hover-class='none'
:url='"/pages/users/goods_comment_list/index?productId="+storeInfo.productId'>
<i>好评</i><text class='font-color'>{{replyChance || 0}}%</text>
:url='"/pages/users/goods_comment_list/index?productId="+spu.productId'>
<i>好评</i><text class='font-color'>{{ replyChance || 0}}%</text>
<text class='iconfont icon-jiantou'></text>
</navigator>
</view>
@ -204,7 +203,7 @@
@iptCartNum="iptCartNum"
@close="closeAttr"
/>
<!-- TODO 芋艿 -->
<!-- 左侧的分销提示 -->
<shareRedPackets
:sharePacket="sharePacket"
@listenerActionSheet="listenerActionSheet"
@ -309,6 +308,10 @@
runningRecords: [], //
AllIndex: 2, // runningRecords
AllIndexDefault: 0, // AllIndex
circular: true, // 4
autoplay: true,
interval: 3000,
duration: 500,
// ========== ==========
spu: {}, // SPU
@ -334,52 +337,37 @@
// ========== ==========
userCollect: false,
// TODO
// ========== ==========
qrcodeSize: 600, //
promotionCode: '', //
imgTop: '', // base64
errT: '', //
posters: false, //
weixinStatus: false, //
canvasStatus: false, //
H5ShareBox: false, //
posterbackgd: '/static/images/posterbackgd.png', //
storeImage: '', //
actionSheetHidden: true, //
posterImage: '', //
sharePacket: { //
isState: true, //
},
circular: true,
autoplay: true,
interval: 3000,
duration: 500,
productValue: [],
maxAllIndex: 0,
limitNum: 1,
timeer: null,
iSplus: false,
navH: "",
navList: ['商品', '评价', '详情'],
opacity: 0,
scrollY: 0,
topArr: [],
toView: '',
height: 0,
heightArr: [],
lock: false,
scrollTop: 0,
// ========== nav + scroll ==========
returnShow: true, // []
homeTop: 20, // top
height: 0, // height
scrollY: 0, // Y
scrollTop: 0, // top
lock: false, // scroll
topArr: [], // nav top
heightArr: [], // nav height
navH: "", // nav
opacity: 0, // nav
navList: ['商品', '评价', '详情'],
navActive: 0, // navList
storeInfo: {},
imgUrls: [],
sharePacket: {
isState: true, //
},
posters: false,
weixinStatus: false,
posterImageStatus: false,
canvasStatus: false, //
storeImage: '', //
promotionCode: '', //
posterImage: '', //
posterbackgd: '/static/images/posterbackgd.png',
navActive: 0,
actionSheetHidden: false,
attrTxt: '',
cart_num: '',
isAuto: false, //
imgTop: '',
qrcodeSize: 600,
H5ShareBox: false, //
errT: '',
returnShow: true,
homeTop: 20
}
},
watch: {
@ -394,74 +382,47 @@
},
//#endif
onLoad(options) {
let that = this
this.$store.commit("PRODUCT_TYPE", 'normal');
this.$nextTick(() => {
// #ifdef MP
const menuButton = uni.getMenuButtonBoundingClientRect();
const query = uni.createSelectorQuery().in(this);
query
.select('#home')
.boundingClientRect(data => {
this.homeTop = menuButton.top * 2 + menuButton.height - data.height;
})
.exec();
// #endif
});
//
uni.getSystemInfo({
success: res => {
this.height = res.windowHeight
//res.windowHeight:px*2rpx98
},
});
// #ifdef MP
this.navH = app.globalData.navHeight;
// #endif
// #ifndef MP
this.navH = 96;
// #endif
//
uni.getSystemInfo({
success: function(res) {
that.height = res.windowHeight
//res.windowHeight:px*2rpx98
},
});
if (options.hasOwnProperty('id') || options.scene) {
if (options.scene) { //
let qrCodeValue = this.$util.getUrlParams(decodeURIComponent(options.scene));
let mapeMpQrCodeValue = this.$util.formatMpQrCodeData(qrCodeValue);
app.globalData.spread = mapeMpQrCodeValue.spread;
this.id = mapeMpQrCodeValue.id;
setTimeout(()=>{
spread(mapeMpQrCodeValue.spread).then(res => {}).catch(res => {})
},2000)
}else{
this.id = options.id;
}
if (this.isLogin) {
this.combinationDetail();
} else {
// #ifdef H5 || APP-PLUS
try {
uni.setStorageSync('comGoodsId', options.id);
} catch (e) {}
// #endif
this.$Cache.set('login_back_url',
`/pages/activity/goods_combination_details/index?id=${options.id}&spread=${options.pid?options.pid:0}`
);
toLogin();
}
} else {
try {
let val = uni.getStorageSync('comGoodsId');
if (val != '') {
this.id = val
this.combinationDetail();
}
} catch (e) {
uni.showToast({
title: '参数错误',
icon: 'none',
duration: 1000,
mask: true,
})
}
}
//
if (!options.scene && !options.id){
this.$util.Tips({
title: '缺少参数无法查看商品'
}, {
url: '/pages/index/index'
});
return;
}
// id
if (options.scene) { //
// TODO code
let qrCodeValue = this.$util.getUrlParams(decodeURIComponent(options.scene));
let mapeMpQrCodeValue = this.$util.formatMpQrCodeData(qrCodeValue);
app.globalData.spread = mapeMpQrCodeValue.spread;
this.id = mapeMpQrCodeValue.id;
// TODO code
setTimeout(()=>{
spread(mapeMpQrCodeValue.spread).then(res => {}).catch(res => {})
}, 2000)
} else {
this.id = options.id;
}
//
this.combinationDetail();
},
//#ifdef MP
onShareAppMessage() {
@ -472,6 +433,20 @@
};
},
//#endif
onReady() {
this.$nextTick(() => {
// top
// #ifdef MP
const menuButton = uni.getMenuButtonBoundingClientRect();
const query = uni.createSelectorQuery().in(this);
query.select('#home')
.boundingClientRect(data => {
this.homeTop = menuButton.top * 2 + menuButton.height - data.height;
})
.exec();
// #endif
});
},
methods: {
// ========== ==========
combinationDetail() {

View File

@ -252,7 +252,6 @@
posters: false, //
weixinStatus: false, //
canvasStatus: false, //
imagePath: '', //
H5ShareBox: false, //
posterbackgd: '/static/images/posterbackgd.png', //
storeImage: '', //
@ -330,21 +329,19 @@
return;
}
// id
if (options.hasOwnProperty('id') || options.scene){
if (options.scene) { //
// TODO code
let qrCodeValue = this.$util.getUrlParams(decodeURIComponent(options.scene));
let mapeMpQrCodeValue = this.$util.formatMpQrCodeData(qrCodeValue);
app.globalData.spread = mapeMpQrCodeValue.spread;
this.id = mapeMpQrCodeValue.id;
// TODO code
setTimeout(()=>{
spread(mapeMpQrCodeValue.spread).then(res => {}).catch(res => {})
},2000)
} else {
this.id = options.id;
}
}
if (options.scene) { //
// TODO code
let qrCodeValue = this.$util.getUrlParams(decodeURIComponent(options.scene));
let mapeMpQrCodeValue = this.$util.formatMpQrCodeData(qrCodeValue);
app.globalData.spread = mapeMpQrCodeValue.spread;
this.id = mapeMpQrCodeValue.id;
// TODO code
setTimeout(()=>{
spread(mapeMpQrCodeValue.spread).then(res => {}).catch(res => {})
},2000)
} else {
this.id = options.id;
}
//
this.getSeckillDetail();