修复小程序端的部分bug 完善首页点击事件接口对接 #53

Merged
ppnwsfegt merged 1 commits from Brunch_LPQ into main 1 month ago

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

@ -192,21 +192,52 @@
} }
onLoad((options) => { onLoad((options) => {
userLogin() userLogin()
const goods = JSON.parse(options.goods) // const goods = JSON.parse(options.goods)
swipperList.value = goods.goodsImage.split(',') // swipperList.value = goods.goodsImage.split(',')
console.log(goods) // console.log(goods)
goodsUnit.value = goods.goodsUnit // goodsUnit.value = goods.goodsUnit
title.value = goods.goodsName // title.value = goods.goodsName
price.value = goods.specs[0].goodsPrice // price.value = goods.specs[0].goodsPrice
specs.value = goods.specs // specs.value = goods.specs
content.value = goods.goodsDesc // content.value = goods.goodsDesc
// // //
carData.value.goodsId = goods.goodsId // carData.value.goodsId = goods.goodsId
carData.value.goodsName = goods.goodsName // carData.value.goodsName = goods.goodsName
carData.value.goodsUnit = goods.goodsUnit // carData.value.goodsUnit = goods.goodsUnit
carData.value.specsName = goods.specs[0].specsName // carData.value.specsName = goods.specs[0].specsName
carData.value.price = goods.specs[0].goodsPrice // carData.value.price = goods.specs[0].goodsPrice
carData.value.goodsImage = goods.goodsImage.split(',')[0] // 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> </script>

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

Loading…
Cancel
Save