Browse Source

기초정보/기체관리 toolkit 적용중

toolkit
junh_eee(이준희) 8 months ago
parent
commit
3269298ba3
  1. 5
      src/app/test/page.tsx
  2. 122
      src/redux/features/basis/drone/droneThunk.ts

5
src/app/test/page.tsx

@ -1,12 +1,11 @@
'use Client';
'use client';
import Drone from './drone';
export default function Home() {
return (
<>
<div>main</div>
{/* <Drone /> */}
<Drone />
</>
);
}

122
src/redux/features/basis/drone/droneThunk.ts

@ -2,7 +2,9 @@ import axios from '../../../../utils/axiosInterceptor';
import qs from 'qs';
import { createAsyncThunk } from '@reduxjs/toolkit';
import { DroneData } from './droneState';
// 드론 목록 조회
export const getDroneList = createAsyncThunk(
'basis/getDroneList',
async (data: any) => {
@ -11,20 +13,132 @@ export const getDroneList = createAsyncThunk(
addQueryPrefix: true,
arrayFormat: 'repeat'
});
const response = await axios.get(`api/bas/dron/list${queryString}`);
return response.data;
const res = await axios.get(`api/bas/dron/list${queryString}`);
return res.data;
} catch (error) {
console.error(error);
}
}
);
// 드론 상세 조회
export const getDroneDetail = createAsyncThunk(
'basis/getDroneDetail',
async (id: number) => {
try {
const res = await axios.get(`api/bas/dron/detail/${id}`);
return res.data;
} catch (error) {
console.error(error);
}
}
);
// 드론 생성
export const createDrone = createAsyncThunk(
'basis/createDrone',
async (data: DroneData) => {
try {
const res = await axios.post('api/bas/dron/create', data);
return res.data;
} catch (error) {
console.error(error);
}
}
);
// 드론 수정
export const updateDrone = createAsyncThunk(
'basis/updateDrone',
async (data: DroneData) => {
try {
const res = await axios.put('api/bas/dron/update', data);
return res.data;
} catch (error) {
console.error(error);
}
}
);
// 드론 삭제
export const deleteDrone = createAsyncThunk(
'basis/deleteDrone',
async (id: number) => {
try {
const res = await axios.delete(`api/bas/dron/delete/${id}`);
return res.data;
} catch (error) {
console.error(error);
}
}
);
// 식별장치 목록 조회
export const getIdntfList = createAsyncThunk(
'basis/getIdntfList',
async (id: number) => {
try {
const response = await axios.get(`api/bas/dron/idntf/list/${id}`);
return response.data;
const res = await axios.get(`api/bas/dron/idntf/list/${id}`);
return res.data;
} catch (error) {
console.error(error);
}
}
);
// 식별장치 수정
export const updateIdntf = createAsyncThunk(
'basis/updateIdntf',
async (item: { id: number; data: any[] }) => {
try {
const res = await axios.put(`/api/bas/dron/idntf/update/${item.id}`, {
idntfNum: item.data[0].idntfNum,
ownerNm: item.data[0].ownerNm,
hpno: item.data[0].hpno
});
return res.data;
} catch (error) {
console.error(error);
}
}
);
// 식별장치 삭제
export const deleteIdntf = createAsyncThunk(
'basis/deleteIdntf',
async (id: string) => {
try {
const res = await axios.delete(`api/bas/dron/idntf/delete/${id}`);
return res.data;
} catch (error) {
console.error(error);
}
}
);
// 식별장치 생성
export const createIdntf = createAsyncThunk(
'basis/createIdntf',
async (item: { data: any[]; arcrftSno: number }) => {
try {
const res = await axios.post('api/bas/dron/idntf/create', item);
return res.data;
} catch (error) {
console.error(error);
}
}
);
// 파일 업로드
export const fileUpload = createAsyncThunk(
'basis/fileUpload',
async (file: any) => {
try {
let form = new FormData();
form.append('file', file);
const res = await axios.post('api/file/upload', form);
return res.data;
} catch (error) {
console.error(error);
}

Loading…
Cancel
Save