김장현 8 months ago
parent
commit
a29d29a007
  1. 30
      src/_redux/features/basis/drone/droneThunk.ts
  2. 41
      src/_redux/features/comn/message/messageSlice.ts
  3. 21
      src/_redux/features/comn/message/messageState.ts
  4. 2
      src/containers/basis/dron/BasisDronDetailContainer.js

30
src/_redux/features/basis/drone/droneThunk.ts

@ -2,30 +2,36 @@ import axios from '../../../../modules/utils/customAxiosUtil';
import qs from 'qs'; import qs from 'qs';
import { createAsyncThunk } from '@reduxjs/toolkit'; import { createAsyncThunk } from '@reduxjs/toolkit';
import { isError } from '../../comn/message/messageSlice';
import { ERROR_MESSAGE } from 'src/configs/constants';
// 드론 목록 조회 // 드론 목록 조회
export const getDroneList = createAsyncThunk( export const getDroneList = createAsyncThunk(
'basis/getDroneList', 'basis/getDroneList',
async (data: any) => { async (rq: string, thunkAPI) => {
try { try {
const queryString = qs.stringify(data, { const queryString = qs.stringify(rq, {
addQueryPrefix: true, addQueryPrefix: true,
arrayFormat: 'repeat' arrayFormat: 'repeat'
}); });
const res = await axios.get(`api/bas/dron/list${queryString}`); const res: any = await axios.get(`api/bas/dron/list${queryString}`);
// const { const { data, errorCode } = res;
// data: { items, total },
// errorCode
// } = res.data;
// if (errorCode) { if (errorCode) {
// return; return errorCode;
// } }
return res.data; return data;
} catch (error) { } catch (error) {
console.error(error); thunkAPI.dispatch(
isError({
errorCode: ERROR_MESSAGE,
errorMessage: '처리중 오류가 발생하였습니다',
isHistoryBack: false,
isRefresh: false
})
);
} }
} }
); );

41
src/_redux/features/comn/message/messageSlice.ts

@ -0,0 +1,41 @@
import { createSlice } from '@reduxjs/toolkit';
import { initMsg } from './messageState';
const msgSlice = createSlice({
name: 'msgSlice',
initialState: initMsg,
reducers: {
isMessage: (state, action) => {
const { messageCode, message, isHistoryBack, isRefresh } = action.payload;
state.messageCode = messageCode;
state.message = message;
state.isHistoryBack = isHistoryBack;
state.isMessage = true;
state.isRefresh = isRefresh;
},
isNoMessage: (state, action) => {
state.messageCode = '';
state.message = '';
// state.isHistoryBack = false;
state.isMessage = false;
},
isError: (state, action) => {
const { errorCode, errorMessage, isHistoryBack, isRefresh } =
action.payload;
state.errorCode = errorCode;
state.errorMessage = errorMessage;
state.isHistoryBack = isHistoryBack;
state.isRefresh = isRefresh;
state.isError = true;
},
isNoError: (state, action) => {
// const {errorCode , errorMessage} = action.payload;
state.errorCode = '';
state.errorMessage = '';
// state.isHistoryBack = false;
state.isError = false;
}
}
});
export const { isMessage, isNoMessage, isError, isNoError } = msgSlice.actions;

21
src/_redux/features/comn/message/messageState.ts

@ -0,0 +1,21 @@
export interface IMsgState {
messageCode: string;
message: string;
errorMessage: string;
errorCode: string;
isError: boolean;
isMessage: boolean;
isHistoryBack: boolean;
isRefresh: boolean;
}
export const initMsg: IMsgState = {
messageCode: '',
message: '',
errorMessage: '',
errorCode: '',
isError: false,
isMessage: false,
isHistoryBack: false,
isRefresh: false
};

2
src/containers/basis/dron/BasisDronDetailContainer.js

@ -24,7 +24,7 @@ export const BasisDronDetailContainer = props => {
const dispatch2 = useDispatch2(); const dispatch2 = useDispatch2();
const testValue = useSelector2(state => state.droneState2); const testValue = useSelector2(state => state.droneState2);
const testHandler = () => { const testHandler = () => {
dispatch2(getDroneList({ groupId: 'C807F9', page: 1 })); dispatch2(getDroneList({ groupId: '2A60F8', page: 1 }));
dispatch2(testClient('test')); dispatch2(testClient('test'));
}; };

Loading…
Cancel
Save