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.

72 lines
1.9 KiB

2 months ago
import apiService from './apiClient';
export interface AddToCartParams {
offer_id: number;
1 month ago
skus: {sku_id:number,quantity:number}[]
2 months ago
}
export interface GetCartListResponse {
items: GetCartList[]
}
2 months ago
export interface attributes{
attribute_name:string,
attribute_name_trans:string,
attribute_name_trans_ar:string,
attribute_name_trans_en:string,
attribute_value:string,
sku_id:number,
sku_image_url:string,
value:string,
value_trans:string,
value_trans_ar:string,
value_trans_en:string,
attribute_id:number,
}
export interface CartSku {
cart_item_id: number,
price: number,
quantity: number,
selected: number,
sku_id: number,
attributes:attributes[],
}
2 months ago
export interface GetCartList {
"cart_id": number,
"user_id": number,
"offer_id": number,
"sku_id": number,
"quantity": number,
"selected": number,
"subject": string,
"subject_trans": string,
"subject_trans_en": string,
"subject_trans_ar": string,
"category_id": number,
"price": number,
2 months ago
"product_image": string,
min_order_quantity:number
skus:CartSku[]
2 months ago
}
export const cartApi = (data: AddToCartParams) => {
4 weeks ago
return apiService.post('/api/cart/', data);
2 months ago
}
export const getCartList = () => {
4 weeks ago
return apiService.get<GetCartListResponse>('https://api.brainnel.com/backend/api/cart/');
2 months ago
}
export const updateCartItem = (cart_id:number,data?:{cart_item_id?:number | null,selected:number | null,quantity:number | null}) => {
4 weeks ago
return apiService.put(`/api/cart/${cart_id}/`,data);
2 months ago
}
// 批量更新选中状态
export const updateBatchCartSelected = (data?:{cart_id?:number | null,selected:number | null,offer_ids:Array<number> | null}) => {
4 weeks ago
return apiService.patch(`/api/cart/selected/`,data);
}
2 months ago
export const deleteCartItem = (cart_id:number,cart_item_id:number) => {
4 weeks ago
return apiService.delete(`/api/cart/${cart_id}/?cart_item_id=${cart_item_id}`);
2 months ago
}