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
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),
|
|
})
|
|
}
|