import apiService from './apiClient'; export interface AddToCartParams { offer_id: number; skus: {sku_id:number,quantity:number}[] } export interface GetCartListResponse { items: GetCartList[] } 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[], } 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, "product_image": string, min_order_quantity:number skus:CartSku[] } export const cartApi = (data: AddToCartParams) => { return apiService.post('/api/cart/', data); } export const getCartList = () => { return apiService.get('https://api.brainnel.com/backend/api/cart/'); } export const updateCartItem = (cart_id:number,data?:{cart_item_id?:number | null,selected:number | null,quantity:number | null}) => { return apiService.put(`/api/cart/${cart_id}/`,data); } // 批量更新选中状态 export const updateBatchCartSelected = (data?:{cart_id?:number | null,selected:number | null,offer_ids:Array | null}) => { return apiService.patch(`/api/cart/selected/`,data); } export const deleteCartItem = (cart_id:number,cart_item_id:number) => { return apiService.delete(`/api/cart/${cart_id}/?cart_item_id=${cart_item_id}`); }