[현재 작업중] 포유, 에너지 라벨 관련 처리#1

- 포유 api받아오는 부분 처리완료(단 호출 위치를 홈에서 불러서 처리해야함 props로 데이터 내려주는 방식으로 처리해야할듯.)
 - 에너지라벨(컨버트 이미지 처리하였지만 현재 이미지가 노출되지않아 이부분 확인중, 이부분 처리완료 되면 다른곳 노출작업 예정)
This commit is contained in:
junghoon86.park
2025-10-17 17:23:37 +09:00
parent 0e6da8922d
commit 99779b8394
10 changed files with 889 additions and 643 deletions

View File

@@ -0,0 +1,72 @@
import { URLS } from '../api/apiConfig';
import { TAxios } from '../api/TAxios';
import { get } from '../utils/fp';
import { types } from './actionTypes';
import { changeAppStatus } from './commonActions';
/**
* PDF를 이미지로 변환하는 액션
* @param {string} pdfUrl - 변환할 PDF URL
* @param {function} callback - 성공/실패 후 실행할 콜백 함수
*/
export const convertPdfToImage = (pdfUrl, callback) => (dispatch, getState) => {
// 로딩 시작
dispatch(changeAppStatus({ showLoadingPanel: { show: true } }));
const onSuccess = (response) => {
const blob = new Blob([response.data], { type: "image/png;charset=UTF-8" });
const imageUrl = URL.createObjectURL(blob);
console.log("convertPdfToImage onSuccess", response.data);
console.log("imageUrl onSuccess", imageUrl);
// const imageData = get("data.data", imageUrl);
dispatch({
type: types.CONVERT_PDF_TO_IMAGE_SUCCESS,
// payload: imageData,
payload: imageUrl,
});
dispatch(changeAppStatus({ showLoadingPanel: { show: false } }));
// 콜백이 있으면 변환된 이미지 데이터와 함께 호출
// callback && callback(null, imageData);
callback && callback(null, imageUrl);
};
const onFail = (error) => {
console.error("convertPdfToImage onFail", error);
dispatch({
type: types.CONVERT_PDF_TO_IMAGE_FAILURE,
payload: error,
});
dispatch(changeAppStatus({ showLoadingPanel: { show: false } }));
// 콜백이 있으면 에러와 함께 호출
callback && callback(error, null);
};
// API 요청 파라미터
const params = {
pdfUrl: pdfUrl,
};
TAxios(
dispatch,
getState,
"post",
URLS.CONVERT_IMG,
{},
params,
onSuccess,
onFail
);
};
/**
* 변환된 이미지 데이터를 초기화하는 액션
*/
export const clearConvertedImage = () => ({
type: types.CLEAR_CONVERTED_IMAGE,
});