From fc89da8bef1e023b07577e0a2ad21e757fa3868d Mon Sep 17 00:00:00 2001 From: swcho Date: Mon, 10 Nov 2025 18:07:04 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20-=20sn=20API=20=ED=98=B8=EC=B6=9C=20?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=ED=83=80=EC=9E=85=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20-=20rdiiChart=20=EC=98=B5=EC=85=94=EB=84=90=20?= =?UTF-8?q?=EC=B2=B4=EC=9D=B4=EB=8B=9D(Optional=20Chaining)=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../map/components/popupComponent/chart/rdiiChart.tsx | 8 ++++---- apps/sn/app/components/lib/api/index.ts | 11 +++++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/apps/sn/app/(map-layout)/map/components/popupComponent/chart/rdiiChart.tsx b/apps/sn/app/(map-layout)/map/components/popupComponent/chart/rdiiChart.tsx index b788b9cf6..39617eb21 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/chart/rdiiChart.tsx +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/chart/rdiiChart.tsx @@ -113,10 +113,10 @@ const RdiiChart = ({ pplMngNo }: ModalOpenProp) => { const rdiiRsltChart = () => { // 그래프 & 팝업 닫기 fetchFilteredData(); fn.selectPplRdiiQty(rainInfwtAnlsSn, pplMngNo).then((data) => {// 강우유입수량 조회 - setRdiiQty(Math.round(data.rdiih*24).toLocaleString('ko-KR')); // cmd: m³/d 단위로 변환 - if (data.raintotal && data.rainTotal !== 0) { - setRainTotal(data.raintotal.toLocaleString('ko-KR')); // 총강우량mm - setTotalVolume(Math.round(data.rdiih * data.sustaintime / data.raintotal).toLocaleString('ko-KR')); // 총체적 m³/mm + setRdiiQty(Math.round(data?.rdiih*24).toLocaleString('ko-KR')); // cmd: m³/d 단위로 변환 + if (data?.raintotal && data?.rainTotal !== 0) { + setRainTotal(data?.raintotal.toLocaleString('ko-KR')); // 총강우량mm + setTotalVolume(Math.round(data?.rdiih * data?.sustaintime / data?.raintotal).toLocaleString('ko-KR')); // 총체적 m³/mm } }); setPopupOpen(false); diff --git a/apps/sn/app/components/lib/api/index.ts b/apps/sn/app/components/lib/api/index.ts index 6b668294d..d567eec05 100644 --- a/apps/sn/app/components/lib/api/index.ts +++ b/apps/sn/app/components/lib/api/index.ts @@ -34,7 +34,7 @@ export const getData = async (url: string): Promise => { // JSON 파싱 시도 const data = JSON.parse(text); - return data; + return data.data; } catch (error) { console.error('JSON parsing error:', error); // JSON 파싱에 실패한 경우, 원본 텍스트 또는 null 반환 @@ -55,7 +55,8 @@ export const postData = async (url: string, data: object): Promise => { const res = await fetch(`${BASE_URL}/${url}`, options); if (res.ok) { const resData = await res.json(); - return resData; + console.log('postData response:', resData); + return resData.data; } }; @@ -63,7 +64,8 @@ export const postMutiPart = async (url: string, data: FormData): Promise => const res = await axios.post(`${BASE_URL}/${url}`, data, { timeout: 600000, // 10분 }); - return res.data; + console.log('postMultiPart response:', res); + return res.data.data; }; export const putData = async (url: string, data: object): Promise => { @@ -76,7 +78,8 @@ export const putData = async (url: string, data: object): Promise => { }; const res = await fetch(`${BASE_URL}/${url}`, options); const resData = await res.json(); - return resData; + console.log('putData response:', resData); + return resData.data; }; export const deleteData = async (url: string, data?: object): Promise => {