[장바구니 관련 추가]#1

- 작업 진행중
 - api로 데이터 보내도록 처리중.
This commit is contained in:
junghoon86.park
2025-11-12 19:40:55 +09:00
parent 5c8c67f666
commit 301e002985
7 changed files with 244 additions and 18 deletions

View File

@@ -50,6 +50,151 @@ export const getMyInfoCartSearch = (props) => (dispatch, getState) => {
);
};
/**
* 장바구니 상품 추가 API
*/
export const insertMyinfoCart = (props) => (dispatch, getState) => {
const { mbrNo, patnrId, prdtId, prdtOpt, prodQty } = props;
const onSuccess = (response) => {
console.log("✅ insertMyinfoCart API 성공:", response.data);
if (response.data.retCode !== '0' && response.data.retCode !== 0) {
console.error("❌ retCode 에러:", response.data.retCode);
console.error("에러 메시지:", response.data.retMsg);
return;
}
// response.data.data가 실제 상품 정보인지 확인
if (!response.data.data) {
console.warn("⚠️ response.data.data가 undefined입니다");
}
dispatch({
type: types.INSERT_MY_INFO_CART,
payload: response.data.data,
});
dispatch(getMyInfoCartSearch({ mbrNo }));
};
const onFail = (error) => {
console.error("insertMyinfoCart OnFail: ", error);
};
TAxios(
dispatch,
getState,
"post",
URLS.INSERT_MY_INFO_CART,
{},
{ mbrNo, patnrId, prdtId, prdtOpt, prodQty },
onSuccess,
onFail
);
};
/**
* 장바구니 상품 삭제 API
*/
export const deleteMyinfoCart = (props) => (dispatch, getState) => {
const { mbrNo, patnrId, prdtId, prodSno } = props;
const onSuccess = (response) => {
console.log("deleteMyinfoCart onSuccess: ", response.data);
dispatch({
type: types.DELETE_MY_INFO_CART,
payload: response.data.data,
});
// 장바구니 목록 재조회
dispatch(getMyInfoCartSearch({ mbrNo }));
};
const onFail = (error) => {
console.error("deleteMyinfoCart OnFail: ", error);
};
TAxios(
dispatch,
getState,
"post",
URLS.DELETE_MY_INFO_CART,
{},
{ mbrNo, patnrId, prdtId, prodSno },
onSuccess,
onFail
);
};
/**
* 장바구니 상품 전체 삭제
*/
export const deleteAllMyinfoCart = (props) => (dispatch, getState) => {
const { mbrNo } = props;
const onSuccess = (response) => {
console.log("deleteAllMyinfoCart onSuccess: ", response.data);
dispatch({
type: types.DELETE_ALL_MY_INFO_CART,
payload: response.data.data,
});
// 장바구니 목록 재조회
dispatch(getMyInfoCartSearch({ mbrNo }));
};
const onFail = (error) => {
console.error("deleteAllMyinfoCart OnFail: ", error);
};
TAxios(
dispatch,
getState,
"post",
URLS.DELETE_ALL_MY_INFO_CART,
{},
{ mbrNo },
onSuccess,
onFail
);
};
/**
* 장바구니 상품 수정
*/
export const updateMyinfoCart = (props) => (dispatch, getState) => {
const { mbrNo, patnrId, prdtId, prodQty, prodSno } = props;
const onSuccess = (response) => {
console.log("updateMyinfoCart onSuccess: ", response.data);
dispatch({
type: types.UPDATE_MY_INFO_CART,
payload: response.data.data,
});
// 장바구니 목록 재조회
dispatch(getMyInfoCartSearch({ mbrNo }));
};
const onFail = (error) => {
console.error("updateMyinfoCart OnFail: ", error);
};
TAxios(
dispatch,
getState,
"post",
URLS.UPDATE_MY_INFO_CART,
{},
{ mbrNo, patnrId, prdtId, prodQty, prodSno },
onSuccess,
onFail
);
};
/**
* 장바구니에 상품 추가
* @param {Object} props - 장바구니 상품 정보