修复小程序端的部分bug

完善首页点击事件接口对接
pull/53/head
riverflow 1 month ago
parent f9a914bc19
commit 69f7ca2f33

@ -39,6 +39,9 @@
ref,
getCurrentInstance
} from "vue"
import {
onLoad
} from '@dcloudio/uni-app'
//
const instance = getCurrentInstance();
@ -46,7 +49,7 @@
const scrollTop = ref(0)
const current = ref(0)
const menuHeight = ref(0)
const menuItemHeight = ref(0) const getImg = ()=>{
const menuItemHeight = ref(0)
const getImg = () => {
return Math.floor(Math.random() * 35)
}
@ -63,7 +66,6 @@
// item
scrollTop.value = index * menuItemHeight.value + menuItemHeight.value / 2 - menuHeight.value / 2;
}
{
const getElRect = (elClass, dataVal) => {
new Promise((resolve, reject) => {
const query = uni.createSelectorQuery().in(instance);
@ -95,8 +97,14 @@
const toDetails = (item) => {
console.log(item)
//details.vue
// JSON
const encodedGoods = encodeURIComponent(JSON.stringify(item))
// uni.navigateTo({
// url: '../detail/detail?goods=' + JSON.stringify(item)
// });
uni.navigateTo({
url: '../detail/detail?goods=' + JSON.stringify(item)
url: '../detail/detail?goods=' + encodeURIComponent(JSON.stringify(item))
});
}
onLoad(() => {
@ -223,5 +231,4 @@
width: 120rpx;
height: 120rpx;
}
</style>

@ -192,21 +192,52 @@
}
onLoad((options) => {
userLogin()
const goods = JSON.parse(options.goods)
swipperList.value = goods.goodsImage.split(',')
console.log(goods)
goodsUnit.value = goods.goodsUnit
title.value = goods.goodsName
price.value = goods.specs[0].goodsPrice
specs.value = goods.specs
content.value = goods.goodsDesc
//
carData.value.goodsId = goods.goodsId
carData.value.goodsName = goods.goodsName
carData.value.goodsUnit = goods.goodsUnit
carData.value.specsName = goods.specs[0].specsName
carData.value.price = goods.specs[0].goodsPrice
carData.value.goodsImage = goods.goodsImage.split(',')[0]
// const goods = JSON.parse(options.goods)
// swipperList.value = goods.goodsImage.split(',')
// console.log(goods)
// goodsUnit.value = goods.goodsUnit
// title.value = goods.goodsName
// price.value = goods.specs[0].goodsPrice
// specs.value = goods.specs
// content.value = goods.goodsDesc
// //
// carData.value.goodsId = goods.goodsId
// carData.value.goodsName = goods.goodsName
// carData.value.goodsUnit = goods.goodsUnit
// carData.value.specsName = goods.specs[0].specsName
// carData.value.price = goods.specs[0].goodsPrice
// carData.value.goodsImage = goods.goodsImage.split(',')[0]
//
try {
//
const decodedGoods = decodeURIComponent(options.goods);
const goods = JSON.parse(decodedGoods);
swipperList.value = goods.goodsImage.split(',')
console.log(goods)
goodsUnit.value = goods.goodsUnit
title.value = goods.goodsName
price.value = goods.specs[0].goodsPrice
specs.value = goods.specs
content.value = goods.goodsDesc
//
carData.value.goodsId = goods.goodsId
carData.value.goodsName = goods.goodsName
carData.value.goodsUnit = goods.goodsUnit
carData.value.specsName = goods.specs[0].specsName
carData.value.price = goods.specs[0].goodsPrice
carData.value.goodsImage = goods.goodsImage.split(',')[0]
} catch (error) {
console.error('解析商品数据失败:', error)
uni.showToast({
title: '商品信息加载失败',
icon: 'none'
})
//
setTimeout(() => {
uni.navigateBack()
}, 1500)
}
})
</script>

@ -7,7 +7,7 @@
<view class="wrap">
<u-waterfall v-model="flowList" ref="uWaterfall">
<template v-slot:left="{leftList}">
<view class="demo-warter" v-for="(item, index) in leftList" :key="index">
<view @click="toDetails(item)" class="demo-warter" v-for="(item, index) in leftList" :key="index">
<!-- 警告微信小程序中需要hx2.8.11版本才支持在template中结合其他组件比如下方的lazy-load组件 -->
<u-lazy-load threshold="-450" border-radius="10" :image="item.goodsImage.split(',')[0]" :index="index"></u-lazy-load>
@ -23,12 +23,12 @@
<view class="demo-title">
/
</view>
<image class="carimg" :src="carimg"></image>
<image @click="toDetails(item)" class="carimg" :src="carimg"></image>
</view>
</view>
</template>
<template v-slot:right="{rightList}">
<view class="demo-warter" v-for="(item, index) in rightList" :key="index">
<view @click="toDetails(item)" class="demo-warter" v-for="(item, index) in rightList" :key="index">
<u-lazy-load threshold="-450" border-radius="10" :image="item.goodsImage.split(',')[0]" :index="index"></u-lazy-load>
<view class="demo-title">
@ -43,7 +43,7 @@
<view class="demo-title">
/
</view>
<image class="carimg" :src="carimg"></image>
<image @click="toDetails(item)" class="carimg" :src="carimg"></image>
</view>
</view>
</template>
@ -80,8 +80,12 @@
const flowList = ref([]) //
const toDetails = (item) => {
//details.vue
// uni.navigateTo({
// url: '../detail/detail?goods=' + JSON.stringify(item)
// });
uni.navigateTo({
url: '../detail/detail?goods=' + JSON.stringify(item)
url: '../detail/detail?goods=' + encodeURIComponent(JSON.stringify(item))
});
}
//

Loading…
Cancel
Save