代合合并
This commit is contained in:
@@ -1685,11 +1685,10 @@
|
||||
// 返回商品对应sku数据
|
||||
|
||||
function cartInit(arr) {
|
||||
|
||||
const result = []
|
||||
console.log('cartInitArr', arr);
|
||||
console.log('allGoodsArr', allGoodsArr);
|
||||
cartStore.carts = arr.map(v => {
|
||||
const goods = allGoodsArr.find(g => g.id == v.product_id)
|
||||
const goods = cartStore.allGoodsArr.find(g => g.id == v.product_id)
|
||||
const goodsSkuList = goods ? goods.skuList : []
|
||||
const findSku = goodsSkuList.find(sku => sku.id == v.sku_id)
|
||||
const memberPrice = findSku ? findSku.memberPrice : 0
|
||||
@@ -1699,6 +1698,13 @@
|
||||
}, cartStore.limitTimeDiscount, shopInfo,
|
||||
shopUserInfo.value, 'product_id');
|
||||
if (!goods) {
|
||||
console.log('删除未匹配到的商品', {
|
||||
id: v.id,
|
||||
operate_type: "del",
|
||||
table_code: uni.cache.get('tableCode'),
|
||||
shop_id: uni.cache.get('shopId'),
|
||||
type: "shopping",
|
||||
})
|
||||
useSocket.sendMessage({
|
||||
id: v.id,
|
||||
operate_type: "del",
|
||||
@@ -1747,7 +1753,7 @@
|
||||
isLoading.value = false;
|
||||
return false;
|
||||
}
|
||||
console.log('product index 收到消息', Message);
|
||||
|
||||
// 检查消息是否已经处理过
|
||||
if (processedMessageIds.has(Message.msg_id)) {
|
||||
return;
|
||||
@@ -2184,11 +2190,11 @@
|
||||
}
|
||||
return currentTime >= startTime && currentTime <= endTime;
|
||||
});
|
||||
let allGoodsArr = []
|
||||
const allGoodsArr = ref([])
|
||||
// 列表请求
|
||||
const productqueryProduct = async () => {
|
||||
cartStore.goodsIsloading = false;
|
||||
allGoodsArr = []
|
||||
allGoodsArr.value=[]
|
||||
try {
|
||||
shopProductList.hots = await productminiApphotsquery();
|
||||
shopProductList.productInfo = await APIgroupquery();
|
||||
@@ -2200,38 +2206,46 @@
|
||||
setTimeout(() => {
|
||||
uni.pro.switchTab('index/index');
|
||||
}, 1000);
|
||||
return; // 出错直接返回,避免后续逻辑
|
||||
}
|
||||
|
||||
if (shopProductList.productInfo.length > 0 || shopProductList.hots.length > 0) {
|
||||
//TODO handle the exception
|
||||
//第一步:将所有商品的 cartNumber 初始化为 0
|
||||
shopProductList.productInfo.forEach((group) => {
|
||||
group.productList.forEach(async (product) => {
|
||||
product.isSaleTimeshow = await isProductAvailable(product.days, product
|
||||
.startTime, product.endTime);
|
||||
|
||||
allGoodsArr.push(product)
|
||||
|
||||
// 第一步:处理productInfo(替换forEach为for...of,支持await)
|
||||
for (const group of shopProductList.productInfo) {
|
||||
for (const product of group.productList) {
|
||||
product.cartNumber = 0;
|
||||
// 等待异步函数执行完成后,再push
|
||||
product.isSaleTimeshow = await isProductAvailable(
|
||||
product.days,
|
||||
product.startTime,
|
||||
product.endTime
|
||||
);
|
||||
allGoodsArr.value.push(product);
|
||||
cartStore.setGoodsMap(product.id, product);
|
||||
});
|
||||
});
|
||||
shopProductList.hots.forEach(async (i) => {
|
||||
i.isSaleTimeshow = await isProductAvailable(i.days, i.startTime, i.endTime);
|
||||
allGoodsArr.push(i)
|
||||
cartStore.setGoodsMap(i.id, i);
|
||||
});
|
||||
console.log('shopProductList', shopProductList);
|
||||
}
|
||||
}
|
||||
|
||||
// 第二步:处理hots(同理替换forEach为for...of)
|
||||
for (const i of shopProductList.hots) {
|
||||
i.cartNumber = 0;
|
||||
i.isSaleTimeshow = await isProductAvailable(i.days, i.startTime, i.endTime);
|
||||
allGoodsArr.value.push(i);
|
||||
cartStore.setGoodsMap(i.id, i);
|
||||
}
|
||||
|
||||
// 此时所有异步操作完成,allGoodsArr已有数据
|
||||
// console.log('allGoodsArr', allGoodsArr);
|
||||
// console.log('shopProductList', shopProductList);
|
||||
console.log('cartStore.carts', cartStore.carts)
|
||||
cartStore.allGoodsArr=allGoodsArr.value
|
||||
if (cartStore.carts.length > 0) {
|
||||
cartInit(cartStore.carts)
|
||||
cartInit(cartStore.carts);
|
||||
}
|
||||
|
||||
cartStore.goodsIsloading = true;
|
||||
scrollTopSize.value = 0;
|
||||
topArr.value = [];
|
||||
// userStore.actionsAPIuser()
|
||||
// 数据可以更新
|
||||
isDataLoaded.value = true;
|
||||
// 历史订单
|
||||
Historicalorders();
|
||||
updateProductQuantities();
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user