红包逻辑需要重构

This commit is contained in:
cbb
2026-01-16 17:57:43 +08:00
parent 5f9629f198
commit f0aee6ba14
16 changed files with 335 additions and 45 deletions

View File

@@ -17,6 +17,7 @@
const productId = ref('')
const listData = ref([])
const paging = ref(null)
const total = ref(0)
const onTop = id => {
formData.type = id
@@ -24,23 +25,31 @@
const getList = async (pageNum, pageSize) => {
try {
console.log(listData.value.length, '====')
const res = await getProductCommentList({
productId: productId.value,
pageNum,
pageSize
})
total.value = res.total
paging.value.complete(res.rows)
} catch (err) {
paging.value.complete(false)
}
}
const onImage = img => {
uni.previewImage({
urls: [img]
})
}
onLoad(e => {
productId.value = e.productId
})
onShow(() => {
getList()
getList(1, 15)
})
</script>
@@ -51,6 +60,7 @@
:default-page-size="15"
safe-area-inset-bottom
use-safe-area-placeholder
:show-loading-more-no-more-view="total !== listData.length"
:auto="false"
@query="getList"
>
@@ -69,7 +79,19 @@
<!-- 卡片位置 -->
<view v-for="item in listData" :key="item.id" class="card-box">
<uni-icons
v-if="item.isAnonymous"
type="contact-filled"
size="90rpx"
class="avatar"
style="
display: flex;
justify-content: center;
align-items: center;
"
></uni-icons>
<image
v-else
:src="item.avatar || '/static/images/public/random1.png'"
mode="scaleToFill"
class="avatar"
@@ -77,7 +99,9 @@
<!-- 右边 -->
<view class="right-box">
<view class="name_box">
<text class="name">{{ item.userName }}</text>
<text class="name">
{{ item.isAnonymous ? '匿名用户' : item.userName }}
</text>
<uni-rate readonly :size="24" :value="item.rating" />
</view>
<view class="rate-box">
@@ -104,15 +128,16 @@
<text class="content">
{{ item.content }}
</text>
<!-- <view class="img-box">
<image
v-for="item in 5"
src="/static/images/public/random1.png"
mode="scaleToFill"
class="bottom-img"
></image>
</view>
<view class="bottom-content">
<view v-if="item.imageUrls" class="img-box">
<image
:src="item.imageUrls"
lazy-load
mode="scaleToFill"
class="bottom-img"
@click="onImage(item.imageUrls)"
></image>
</view>
<!-- <view class="bottom-content">
<view class="name-box">
<text>名字</text>
<text>内容</text>
@@ -128,7 +153,7 @@
<cb-button
@click="navigateTo('/pages/mall/add-comment', { productId })"
>
确认添加
添加评论
</cb-button>
</bottom-view>
</template>
@@ -139,7 +164,7 @@
// @import './styles/public.scss';
@import '@/styles/top-selector.scss';
.comment-box {
padding: 32rpx 24rpx;
padding: 32rpx 24rpx 180rpx 24rpx;
.card-box {
margin-top: 36rpx;
display: flex;

View File

@@ -119,6 +119,8 @@
quantity: formData.num,
skuId: formData.spec
}
console.log(data, '===data===')
return
tixian.value.close()
const res = await addOrder(data)

View File

@@ -1,5 +1,5 @@
<script setup>
import { onLoad } from '@dcloudio/uni-app'
import { onLoad, onShow } from '@dcloudio/uni-app'
import { getProductDetail, getProductCommentList } from '@/api/mall'
import { ref, computed } from 'vue'
import { navigateTo } from '@/utils/router'
@@ -17,11 +17,14 @@
/** 评论数量获取 */
const getComment = async productId => {
const res = await getProductCommentList({
productId,
pageNum: 1,
pageSize: 1
})
const res = await getProductCommentList(
{
productId,
pageNum: 1,
pageSize: 1
},
false
)
commentNum.value = res.total
}
@@ -50,7 +53,9 @@
productId.value = e.productId
groupId.value = e?.groupId || ''
await getData(e.productId)
await getComment(e.productId)
})
onShow(() => {
getComment(productId.value)
})
</script>
@@ -64,13 +69,13 @@
class="left-icon"
></image>
</template>
<template #right>
<!-- <template #right>
<image
src="/static/images/public/share-icon.png"
mode="heightFix"
class="right-icon"
></image>
</template>
</template> -->
</nav-bar>
<!-- 顶部图片 -->
<view class="top-img">