[product]  bestSeller 관련 추가 사항

Detail Notes :
1. productSlice.js 추가
2. apiconfig.js 파일 내용 추가
3. App.js 파일 내용 추가
4. Store.js 파일 내용 추가
This commit is contained in:
jangheon Pyo
2024-01-29 10:04:30 +09:00
parent e173f9f32f
commit f1852ef19b
4 changed files with 56 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ import { getHomeMenu } from "../features/home/homeSlice";
import { getMyRecommandedKeyword } from "../features/mypage/myPageSlice"; import { getMyRecommandedKeyword } from "../features/mypage/myPageSlice";
import { getOnSaleInfo } from "../features/onSale/onSaleSlice"; import { getOnSaleInfo } from "../features/onSale/onSaleSlice";
import { getSubCategory } from "../features/main/mainSlice"; import { getSubCategory } from "../features/main/mainSlice";
import { getBestSeller } from "../features/product/productSlice";
import MainView from "../views/MainView/MainView"; import MainView from "../views/MainView/MainView";
import css from "./App.module.less"; import css from "./App.module.less";
@@ -22,6 +23,7 @@ function AppBase(props) {
dispatch(getOnSaleInfo({ categoryIncFlag: "Y", lgCatCd: "" })); dispatch(getOnSaleInfo({ categoryIncFlag: "Y", lgCatCd: "" }));
dispatch(getBrandList()); dispatch(getBrandList());
dispatch(getMyRecommandedKeyword()); dispatch(getMyRecommandedKeyword());
dispatch(getBestSeller());
dispatch( dispatch(
getSubCategory({ getSubCategory({
lgCatCd: "1000", lgCatCd: "1000",

View File

@@ -28,6 +28,9 @@ export const URLS = {
//on-sale controller //on-sale controller
GET_ON_SALE_INFO: "/lgsp/v1/onsale/onsale.lge", GET_ON_SALE_INFO: "/lgsp/v1/onsale/onsale.lge",
//product controller
GET_PRODUCT_BESTSELLER: "/lgsp/v1/product/bestSeller.lge",
//my-page controller //my-page controller
GET_MY_RECOMMANDED_KEYWORD: "/lgsp/v1/mypage/reckeyword.lge", GET_MY_RECOMMANDED_KEYWORD: "/lgsp/v1/mypage/reckeyword.lge",

View File

@@ -0,0 +1,49 @@
import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
import { URLS } from "../../api/apiConfig";
import { TAxios } from "../../api/TAxios";
// Best Seller 상품 목록 조회 IF-LGSP-303
export const getBestSeller = createAsyncThunk(
"bestSeller/getBestSeller",
async (_, thunkAPI) => {
const onSuccess = (response) => {
console.log("getBestSeller onSuccess", response.data);
thunkAPI.dispatch(
productSlice.actions.updateBestSellerData(response.data.data)
);
};
const onFail = (error) => {
console.log("getBestSeller onFail", error);
};
TAxios(
thunkAPI.dispatch,
thunkAPI.getState,
"get",
URLS.GET_PRODUCT_BESTSELLER,
{},
{},
onSuccess,
onFail
);
}
);
const initialState = {
bestSellerData: {},
};
export const productSlice = createSlice({
name: "product",
initialState,
reducers: {
updateBestSellerData: (state, action) => {
state.bestSellerData = action.payload;
},
},
});
export const { updateBestSellerData } = productSlice.actions;
export default productSlice.reducer;

View File

@@ -7,6 +7,7 @@ import deviceReducer from "../features/device/deviceSlice";
import homeReducer from "../features/home/homeSlice"; import homeReducer from "../features/home/homeSlice";
import myPageReducer from "../features/mypage/myPageSlice"; import myPageReducer from "../features/mypage/myPageSlice";
import onSaleReducer from "../features/onSale/onSaleSlice"; import onSaleReducer from "../features/onSale/onSaleSlice";
import productReducer from "../features/product/productSlice";
import panelsReducer from "../features/panels/panelsSlice"; import panelsReducer from "../features/panels/panelsSlice";
import mainReducer from "../features/main/mainSlice"; import mainReducer from "../features/main/mainSlice";
@@ -20,6 +21,7 @@ export const store = configureStore({
onSale: onSaleReducer, onSale: onSaleReducer,
brand: brandReducer, brand: brandReducer,
myPage: myPageReducer, myPage: myPageReducer,
product: productReducer,
main: mainReducer, main: mainReducer,
}, },
}); });