🕐 커밋 시간: 2025. 11. 24. 12:43:58 📊 변경 통계: • 총 파일: 40개 • 추가: +774줄 • 삭제: -581줄 📝 수정된 파일: ~ com.twin.app.shoptime/src/actions/appDataActions.js ~ com.twin.app.shoptime/src/actions/billingActions.js ~ com.twin.app.shoptime/src/actions/brandActions.js ~ com.twin.app.shoptime/src/actions/cancelActions.js ~ com.twin.app.shoptime/src/actions/cardActions.js ~ com.twin.app.shoptime/src/actions/cartActions.js ~ com.twin.app.shoptime/src/actions/checkoutActions.js ~ com.twin.app.shoptime/src/actions/commonActions.js ~ com.twin.app.shoptime/src/actions/convertActions.js ~ com.twin.app.shoptime/src/actions/couponActions.js ~ com.twin.app.shoptime/src/actions/deviceActions.js ~ com.twin.app.shoptime/src/actions/empActions.js ~ com.twin.app.shoptime/src/actions/eventActions.js ~ com.twin.app.shoptime/src/actions/forYouActions.js ~ com.twin.app.shoptime/src/actions/homeActions.js ~ com.twin.app.shoptime/src/actions/logActions.js ~ com.twin.app.shoptime/src/actions/mediaActions.js ~ com.twin.app.shoptime/src/actions/mockCartActions.js ~ com.twin.app.shoptime/src/actions/myPageActions.js ~ com.twin.app.shoptime/src/actions/onSaleActions.js ~ com.twin.app.shoptime/src/actions/orderActions.js ~ com.twin.app.shoptime/src/actions/panelActions.js ~ com.twin.app.shoptime/src/actions/panelNavigationActions.js ~ com.twin.app.shoptime/src/actions/pinCodeActions.js ~ com.twin.app.shoptime/src/actions/productActions.js ~ com.twin.app.shoptime/src/actions/queuedPanelActions.js ~ com.twin.app.shoptime/src/actions/searchActions.js ~ com.twin.app.shoptime/src/actions/shippingActions.js ~ com.twin.app.shoptime/src/actions/voiceActions.js ~ com.twin.app.shoptime/src/actions/webSpeechActions.js ~ com.twin.app.shoptime/src/reducers/localSettingsReducer.js ~ com.twin.app.shoptime/src/reducers/mediaOverlayReducer.js ~ com.twin.app.shoptime/src/reducers/mockCartReducer.js ~ com.twin.app.shoptime/src/reducers/playReducer.js ~ com.twin.app.shoptime/src/reducers/productReducer.js ~ com.twin.app.shoptime/src/reducers/videoOverlayReducer.js ~ com.twin.app.shoptime/src/views/UserReview/ShowUserReviews.jsx ~ com.twin.app.shoptime/src/views/UserReview/UserReviewPanel.jsx ~ com.twin.app.shoptime/src/views/UserReview/components/UserReviewsList.jsx ~ com.twin.app.shoptime/src/views/UserReview/components/VirtualScrollBar.jsx 🔧 함수 변경 내용: 📊 Function-level changes summary across 40 files: • Functions added: 14 • Functions modified: 34 • Functions deleted: 18 📋 By language: • javascript: 40 files, 66 function changes 🔧 주요 변경 내용: • 핵심 비즈니스 로직 개선 • 로깅 시스템 개선 • 설정 관리 시스템 개선 • UI 컴포넌트 아키텍처 개선
157 lines
4.1 KiB
JavaScript
157 lines
4.1 KiB
JavaScript
import { URLS } from '../api/apiConfig';
|
|
import { runDelayedAction, setTokenRefreshing, TAxios, TAxiosAdvancedPromise } from '../api/TAxios';
|
|
import * as lunaSend from '../lunaSend';
|
|
import { types } from './actionTypes';
|
|
import { changeLocalSettings } from './commonActions';
|
|
import { fetchCurrentUserHomeTerms } from './homeActions';
|
|
import { createDebugHelpers } from '../utils/debug';
|
|
|
|
// 디버그 헬퍼 설정
|
|
const DEBUG_MODE = false;
|
|
const { dlog, dwarn, derror } = createDebugHelpers(DEBUG_MODE);
|
|
|
|
const MAX_RETRY_COUNT = 3;
|
|
const RETRY_DELAY = 2000; // 2 seconds
|
|
|
|
// IF-LGSP-000 인증코드 요청
|
|
export const getAuthenticationCode = () => (dispatch, getState) => {
|
|
setTokenRefreshing(true);
|
|
const onSuccess = (response) => {
|
|
dlog('getAuthenticationCode onSuccess: ', response.data);
|
|
const accessToken = response.data.data.accessToken;
|
|
const refreshToken = response.data.data.refreshToken ?? null;
|
|
|
|
dispatch(changeLocalSettings({ accessToken, refreshToken }));
|
|
setTokenRefreshing(false);
|
|
runDelayedAction(dispatch, getState);
|
|
};
|
|
|
|
const onFail = (error) => {
|
|
derror('getAuthenticationCode onFail: ', error);
|
|
setTokenRefreshing(false);
|
|
};
|
|
|
|
TAxios(dispatch, getState, 'get', URLS.GET_AUTHENTICATION_CODE, {}, {}, onSuccess, onFail, true);
|
|
};
|
|
|
|
// IF-LGSP-001 디바이스 등록 및 약관 동의
|
|
export const registerDevice =
|
|
(params, onSuccessCallback, onFailCallback) => (dispatch, getState) => {
|
|
const { agreeTerms } = params;
|
|
|
|
const onSuccess = (response) => {
|
|
dlog('registerDevice onSuccess: ', response.data);
|
|
|
|
dispatch({
|
|
type: types.REGISTER_DEVICE,
|
|
payload: response.data.data,
|
|
retCode: response.data.retCode,
|
|
});
|
|
dispatch(getAuthenticationCode());
|
|
dispatch(fetchCurrentUserHomeTerms());
|
|
if (onSuccessCallback) {
|
|
onSuccessCallback(response.data);
|
|
}
|
|
};
|
|
|
|
const onFail = (error) => {
|
|
derror('registerDevice onFail: ', error);
|
|
if (onFailCallback) {
|
|
onFailCallback(error);
|
|
}
|
|
};
|
|
|
|
TAxios(
|
|
dispatch,
|
|
getState,
|
|
'post',
|
|
URLS.REGISTER_DEVICE,
|
|
{},
|
|
{ agreeTerms },
|
|
onSuccess,
|
|
onFail,
|
|
true
|
|
);
|
|
};
|
|
|
|
// 디바이스 부가 정보 저장 (IF-LGSP-002)
|
|
export const registerDeviceInfo = (params) => (dispatch, getState) => {
|
|
const { evntTpCd, evntId, evntApplcnFlag, entryMenu, mbphNo } = params;
|
|
|
|
const onSuccess = (response) => {
|
|
dlog('registerDeviceInfo onSuccess: ', response.data);
|
|
|
|
dispatch({
|
|
type: types.REGISTER_DEVICE_INFO,
|
|
payload: response.data,
|
|
retCode: response.data.retCode,
|
|
});
|
|
};
|
|
|
|
const onFail = (error) => {
|
|
derror('registerDeviceInfo onFail: ', error);
|
|
};
|
|
|
|
TAxios(
|
|
dispatch,
|
|
getState,
|
|
'post',
|
|
URLS.REGISTER_DEVICE_INFO,
|
|
{},
|
|
{ evntTpCd, evntId, evntApplcnFlag, entryMenu, mbphNo },
|
|
onSuccess,
|
|
onFail
|
|
);
|
|
};
|
|
|
|
// 디바이스 부가 정보 조회 IF-LGSP-003
|
|
export const getDeviceAdditionInfo = () => (dispatch, getState) => {
|
|
const onSuccess = (response) => {
|
|
dlog('getDeviceAdditionInfo onSuccess: ', response.data);
|
|
|
|
dispatch({
|
|
type: types.GET_DEVICE_INFO,
|
|
payload: response.data,
|
|
});
|
|
};
|
|
|
|
const onFail = (error) => {
|
|
derror('getDeviceAdditionInfo onFail: ', error);
|
|
};
|
|
|
|
TAxios(dispatch, getState, 'get', URLS.GET_DEVICE_INFO, {}, {}, onSuccess, onFail);
|
|
};
|
|
|
|
// 인증번호 재요청 IF-LGSP-096
|
|
export const getReAuthenticationCode = () => (dispatch, getState) => {
|
|
setTokenRefreshing(true);
|
|
const onSuccess = (response) => {
|
|
// dlog("getReAuthenticationCode onSuccess: ", response.data);
|
|
const accessToken = response.data.data.accessToken;
|
|
dispatch(changeLocalSettings({ accessToken }));
|
|
setTokenRefreshing(false);
|
|
runDelayedAction(dispatch, getState);
|
|
};
|
|
|
|
const onFail = (error) => {
|
|
derror('getReAuthenticationCode onFail: ', error);
|
|
setTokenRefreshing(false);
|
|
};
|
|
|
|
TAxios(
|
|
dispatch,
|
|
getState,
|
|
'get',
|
|
URLS.GET_RE_AUTHENTICATION_CODE,
|
|
{},
|
|
{},
|
|
onSuccess,
|
|
onFail,
|
|
true
|
|
);
|
|
};
|
|
|
|
export const clearRegisterDeviceInfo = () => ({
|
|
type: types.CLEAR_REGISTER_DEVICE_INFO,
|
|
});
|