You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

43 lines
1.4 KiB

import { MALL_API } from "./api";
import server from "./server";
import { accAdd, accMul } from "@/utils/calculate.js";
// 购物车商品列表
export function goodsCartList(brand_id){
return server.post({
url: MALL_API.goodsCartList,
data: { brand_id },
isDefaultGet: false,
})
.then(res => {
let _data = res?.data || {};
if(_data.code === 0){
let _ls = _data?.data ?? [];
//product_invalid 商品状态 0-正常 1-已失效
return ({
totalList: _ls,
validList: _ls.filter(item => item.product_invalid === 0),
invalidList: _ls.filter(item => item.product_invalid === 1),
});
}else{
return Promise.reject(_data);
}
})
}
// 获取商品列表价格信息
export function getPayInfoForGoodsList(array){
if(!array.length)return ({ num: 0, str: '0.00' });
let _priceNum = array.reduce((total, item) => {
let _unitPrice = 0;
if(item?.product_spec_multi === 0)_unitPrice = item?.product_spec_single_info?.price ?? 0;
if(item?.product_spec_multi === 1)_unitPrice = item?.product_spec_multi_info?.price ?? 0;
let _price = accMul((item?.product_nums ?? 0), _unitPrice);
return accAdd(total, _price);
}, 0);
return ({
num: _priceNum,
// 需要支付的类目,四舍五入违法
str: _priceNum.toFixed(3).slice(0, -1),
})
}