85 lines
1.8 KiB
JavaScript
85 lines
1.8 KiB
JavaScript
import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
|
|
import { URLS } from "../../api/apiConfig";
|
|
import { TAxios } from "../../api/TAxios";
|
|
|
|
// 약관 정보 조회 IF-LGSP-005
|
|
export const getHomeTerms = createAsyncThunk(
|
|
"home/getHomeTerms",
|
|
|
|
async (props, thunkAPI) => {
|
|
const { trmsTpCdList, mbrNo } = props;
|
|
|
|
const onSuccess = (response) => {
|
|
console.log("getHomeTerms onSuccess ", response.data);
|
|
|
|
thunkAPI.dispatch(homeSlice.actions.updateTermsData(response.data));
|
|
};
|
|
|
|
const onFail = (error) => {
|
|
console.error("getHomeTerms onFail ", error);
|
|
};
|
|
|
|
TAxios(
|
|
thunkAPI.dispatch,
|
|
thunkAPI.getState,
|
|
"get",
|
|
URLS.GET_HOME_TERMS,
|
|
{ trmsTpCdList, mbrNo },
|
|
{},
|
|
onSuccess,
|
|
onFail
|
|
);
|
|
}
|
|
);
|
|
|
|
// 메뉴 목록 조회 IF-LGSP-044
|
|
export const getHomeMenu = createAsyncThunk(
|
|
"home/getHomeMenu",
|
|
|
|
async (_, thunkAPI) => {
|
|
const onSuccess = (response) => {
|
|
console.log("getHomeMenu onSuccess ", response.data);
|
|
|
|
thunkAPI.dispatch(homeSlice.actions.updateMenuData(response.data));
|
|
};
|
|
|
|
const onFail = (error) => {
|
|
console.error("getHomeMenu onFail ", error);
|
|
};
|
|
|
|
TAxios(
|
|
thunkAPI.dispatch,
|
|
thunkAPI.getState,
|
|
"get",
|
|
URLS.GET_HOME_MENU,
|
|
{},
|
|
{},
|
|
onSuccess,
|
|
onFail
|
|
);
|
|
}
|
|
);
|
|
|
|
const initialState = {
|
|
termsData: {},
|
|
menuData: {},
|
|
};
|
|
|
|
export const homeSlice = createSlice({
|
|
name: "home",
|
|
initialState,
|
|
reducers: {
|
|
updateTermsData: (state, action) => {
|
|
state.termsData = action.payload;
|
|
},
|
|
updateMenuData: (state, action) => {
|
|
//임시코드
|
|
state.menuData = action.payload;
|
|
},
|
|
},
|
|
});
|
|
|
|
export const { updateTermsData, updateMenuData } = homeSlice.actions;
|
|
|
|
export default homeSlice.reducer;
|