This commit is contained in:
Jay Sheen
2025-09-16 17:43:16 +09:00
72 changed files with 1032 additions and 301 deletions

View File

@@ -1,5 +1,5 @@
VITE_APP_ENV=development VITE_APP_ENV=production
VITE_APP_AUTH_PROXY_HOST='http://3.35.79.250:8090' VITE_APP_AUTH_PROXY_HOST='http://auth.nicepay.co.kr'
VITE_APP_API_PROXY_HOST='http://3.35.79.250:8080' VITE_APP_API_PROXY_HOST='http://partner.nicepay.co.kr'
GENERATE_SOURCEMAP=false GENERATE_SOURCEMAP=false
SENTRY_AUTH_TOKEN=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 SENTRY_AUTH_TOKEN=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

View File

@@ -1,9 +1,24 @@
require('dotenv').config({ path: '.env.local.server' }); require('dotenv').config({ path: '.env.production' });
const express = require('express'); const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware'); const { createProxyMiddleware } = require('http-proxy-middleware');
const path = require('path'); const path = require('path');
const app = express(); const app = express();
console.log('start server')
app.use(
'/auth',
createProxyMiddleware({
target: process.env.VITE_APP_AUTH_PROXY_HOST,
changeOrigin: true,
}),
);
app.use(
'/api',
createProxyMiddleware({
target: process.env.VITE_APP_API_PROXY_HOST,
changeOrigin: true,
}),
);
app.use(express.static(path.join(__dirname, 'dist'))); app.use(express.static(path.join(__dirname, 'dist')));

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionAlimtalkDetail = (params: ExtensionAlimtalkDetailParams) => { export const extensionAlimtalkDetail = (params: ExtensionAlimtalkDetailParams) => {
return resultify( return resultify(
axios.post<ExtensionAlimtalkDetailResponse>(API_URL.extensionArsDetail(), params), axios.post<ExtensionAlimtalkDetailResponse>(API_URL_ADDITIONAL_SERVICE.extensionArsDetail(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionAlimtalkDownloadExcel = (params: ExtensionAlimtalkDownloadExcelParams) => { export const extensionAlimtalkDownloadExcel = (params: ExtensionAlimtalkDownloadExcelParams) => {
return resultify( return resultify(
axios.post<ExtensionAlimtalkDownloadExcelResponse>(API_URL.extensionAlimtalkDownloadExcel(), params), axios.post<ExtensionAlimtalkDownloadExcelResponse>(API_URL_ADDITIONAL_SERVICE.extensionAlimtalkDownloadExcel(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionAlimtalkList = (params: ExtensionAlimtalkListParams) => { export const extensionAlimtalkList = (params: ExtensionAlimtalkListParams) => {
return resultify( return resultify(
axios.post<ExtensionAlimtalkListResponse>(API_URL.extensionAlimtalkList(), params), axios.post<ExtensionAlimtalkListResponse>(API_URL_ADDITIONAL_SERVICE.extensionAlimtalkList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionAlimtalkSettingDetail = (params: ExtensionAlimtalkSettingDetailParams) => { export const extensionAlimtalkSettingDetail = (params: ExtensionAlimtalkSettingDetailParams) => {
return resultify( return resultify(
axios.post<ExtensionAlimtalkSettingDetailResponse>(API_URL.extensionAlimtalkSettingDetail(), params), axios.post<ExtensionAlimtalkSettingDetailResponse>(API_URL_ADDITIONAL_SERVICE.extensionAlimtalkSettingDetail(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionAlimtalkSettingSave = (params: ExtensionAlimtalkSettingSaveParams) => { export const extensionAlimtalkSettingSave = (params: ExtensionAlimtalkSettingSaveParams) => {
return resultify( return resultify(
axios.post<ExtensionAlimtalkSettingSaveResponse>(API_URL.extensionAlimtalkSettingSave(), params), axios.post<ExtensionAlimtalkSettingSaveResponse>(API_URL_ADDITIONAL_SERVICE.extensionAlimtalkSettingSave(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionArsApply = (params: ExtensionArsApplyParams) => { export const extensionArsApply = (params: ExtensionArsApplyParams) => {
return resultify( return resultify(
axios.post<ExtensionArsApplyResponse>(API_URL.extensionArsApply(), params), axios.post<ExtensionArsApplyResponse>(API_URL_ADDITIONAL_SERVICE.extensionArsApply(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionArsDetail = (params: ExtensionArsDetailParams) => { export const extensionArsDetail = (params: ExtensionArsDetailParams) => {
return resultify( return resultify(
axios.post<ExtensionArsDetailResponse>(API_URL.extensionArsDetail(), params), axios.post<ExtensionArsDetailResponse>(API_URL_ADDITIONAL_SERVICE.extensionArsDetail(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionArsDownloadExcel = (params: ExtensionArsDownloadExcelParams) => { export const extensionArsDownloadExcel = (params: ExtensionArsDownloadExcelParams) => {
return resultify( return resultify(
axios.post<ExtensionArsDownloadExcelResponse>(API_URL.extensionArsDownloadExcel(), params), axios.post<ExtensionArsDownloadExcelResponse>(API_URL_ADDITIONAL_SERVICE.extensionArsDownloadExcel(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionArsList = (params: ExtensionArsListParams) => { export const extensionArsList = (params: ExtensionArsListParams) => {
return resultify( return resultify(
axios.post<ExtensionArsListResponse>(API_URL.extensionArsList(), params), axios.post<ExtensionArsListResponse>(API_URL_ADDITIONAL_SERVICE.extensionArsList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionArsResend = (params: ExtensionArsResendParams) => { export const extensionArsResend = (params: ExtensionArsResendParams) => {
return resultify( return resultify(
axios.post<ExtensionArsResendResponse>(API_URL.extensionArsResend(), params), axios.post<ExtensionArsResendResponse>(API_URL_ADDITIONAL_SERVICE.extensionArsResend(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionKeyinApply = (params: ExtensionKeyinApplyParams) => { export const extensionKeyinApply = (params: ExtensionKeyinApplyParams) => {
return resultify( return resultify(
axios.post<ExtensionKeyinApplyResponse>(API_URL.extensionKeyinApply(), params), axios.post<ExtensionKeyinApplyResponse>(API_URL_ADDITIONAL_SERVICE.extensionKeyinApply(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionKeyinDownloadExcel = (params: ExtensionKeyinDownloadExcelParams) => { export const extensionKeyinDownloadExcel = (params: ExtensionKeyinDownloadExcelParams) => {
return resultify( return resultify(
axios.post<ExtensionKeyinDownloadExcelResponse>(API_URL.extensionKeyinDownloadExcel(), params), axios.post<ExtensionKeyinDownloadExcelResponse>(API_URL_ADDITIONAL_SERVICE.extensionKeyinDownloadExcel(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionKeyinList = (params: ExtensionKeyinListParams) => { export const extensionKeyinList = (params: ExtensionKeyinListParams) => {
return resultify( return resultify(
axios.post<ExtensionKeyinListResponse>(API_URL.extensionKeyinList(), params), axios.post<ExtensionKeyinListResponse>(API_URL_ADDITIONAL_SERVICE.extensionKeyinList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionList = (params: ExtensionListParams) => { export const extensionList = (params: ExtensionListParams) => {
return resultify( return resultify(
axios.post<ExtensionListResponse>(API_URL.extensionList(), params), axios.post<ExtensionListResponse>(API_URL_ADDITIONAL_SERVICE.extensionList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionSmsDetail = (params: ExtensionSmsDetailParams) => { export const extensionSmsDetail = (params: ExtensionSmsDetailParams) => {
return resultify( return resultify(
axios.post<ExtensionSmsDetailResponse>(API_URL.extensionSmsDetail(), params), axios.post<ExtensionSmsDetailResponse>(API_URL_ADDITIONAL_SERVICE.extensionSmsDetail(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionSmsDownloadExcel = (params: ExtensionSmsDownloadExcelParams) => { export const extensionSmsDownloadExcel = (params: ExtensionSmsDownloadExcelParams) => {
return resultify( return resultify(
axios.post<ExtensionSmsDownloadExcelResponse>(API_URL.extensionSmsDownloadExcel(), params), axios.post<ExtensionSmsDownloadExcelResponse>(API_URL_ADDITIONAL_SERVICE.extensionSmsDownloadExcel(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionSmsList = (params: ExtensionSmsListParams) => { export const extensionSmsList = (params: ExtensionSmsListParams) => {
return resultify( return resultify(
axios.post<ExtensionSmsListResponse>(API_URL.extensionSmsList(), params), axios.post<ExtensionSmsListResponse>(API_URL_ADDITIONAL_SERVICE.extensionSmsList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const extensionSmsResend = (params: ExtensionSmsResendParams) => { export const extensionSmsResend = (params: ExtensionSmsResendParams) => {
return resultify( return resultify(
axios.post<ExtensionSmsResendResponse>(API_URL.extensionSmsResend(), params), axios.post<ExtensionSmsResendResponse>(API_URL_ADDITIONAL_SERVICE.extensionSmsResend(), params),
); );
}; };

View File

@@ -0,0 +1,29 @@
import axios from 'axios';
import { API_URL_HOME } from '@/shared/api/api-url-home';
import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error';
import {
HomeBannerListParams,
HomeBannerListResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
export const homeBannerList = (params: HomeBannerListParams) => {
return resultify(
axios.post<HomeBannerListResponse>(API_URL_HOME.homeBannerList(), params),
);
};
export const useHomeBannerListMutation = (options?: UseMutationOptions<HomeBannerListResponse, CBDCAxiosError, HomeBannerListParams>) => {
const mutation = useMutation<HomeBannerListResponse, CBDCAxiosError, HomeBannerListParams>({
...options,
mutationFn: (params: HomeBannerListParams) => homeBannerList(params),
});
return {
...mutation,
};
};

View File

@@ -0,0 +1,29 @@
import axios from 'axios';
import { API_URL_HOME } from '@/shared/api/api-url-home';
import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error';
import {
HomeGroupsParams,
HomeGroupsResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
export const homeGroups = (params: HomeGroupsParams) => {
return resultify(
axios.post<HomeGroupsResponse>(API_URL_HOME.homeGroups(), params),
);
};
export const useHomeGroupsMutation = (options?: UseMutationOptions<HomeGroupsResponse, CBDCAxiosError, HomeGroupsParams>) => {
const mutation = useMutation<HomeGroupsResponse, CBDCAxiosError, HomeGroupsParams>({
...options,
mutationFn: (params: HomeGroupsParams) => homeGroups(params),
});
return {
...mutation,
};
};

View File

@@ -0,0 +1,29 @@
import axios from 'axios';
import { API_URL_HOME } from '@/shared/api/api-url-home';
import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error';
import {
HomeMonthParams,
HomeMonthResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
export const homeMonth = (params: HomeMonthParams) => {
return resultify(
axios.post<HomeMonthResponse>(API_URL_HOME.homeMonth(), params),
);
};
export const useHomeMonthwMutation = (options?: UseMutationOptions<HomeMonthResponse, CBDCAxiosError, HomeMonthParams>) => {
const mutation = useMutation<HomeMonthResponse, CBDCAxiosError, HomeMonthParams>({
...options,
mutationFn: (params: HomeMonthParams) => homeMonth(params),
});
return {
...mutation,
};
};

View File

@@ -0,0 +1,29 @@
import axios from 'axios';
import { API_URL_HOME } from '@/shared/api/api-url-home';
import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error';
import {
HomeNoticeListParams,
HomeNoticeListResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
export const homeNoticeList = (params: HomeNoticeListParams) => {
return resultify(
axios.post<HomeNoticeListResponse>(API_URL_HOME.homeBannerList(), params),
);
};
export const useHomeBannerListMutation = (options?: UseMutationOptions<HomeNoticeListResponse, CBDCAxiosError, HomeNoticeListParams>) => {
const mutation = useMutation<HomeNoticeListResponse, CBDCAxiosError, HomeNoticeListParams>({
...options,
mutationFn: (params: HomeNoticeListParams) => homeNoticeList(params),
});
return {
...mutation,
};
};

View File

@@ -0,0 +1,29 @@
import axios from 'axios';
import { API_URL_HOME } from '@/shared/api/api-url-home';
import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error';
import {
HomeOverviewParams,
HomeOverviewResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
export const homeOverview = (params: HomeOverviewParams) => {
return resultify(
axios.post<HomeOverviewResponse>(API_URL_HOME.homeOverview(), params),
);
};
export const useHomeOverviewMutation = (options?: UseMutationOptions<HomeOverviewResponse, CBDCAxiosError, HomeOverviewParams>) => {
const mutation = useMutation<HomeOverviewResponse, CBDCAxiosError, HomeOverviewParams>({
...options,
mutationFn: (params: HomeOverviewParams) => homeOverview(params),
});
return {
...mutation,
};
};

View File

@@ -0,0 +1,29 @@
import axios from 'axios';
import { API_URL_HOME } from '@/shared/api/api-url-home';
import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error';
import {
HomeTodayParams,
HomeTodayResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
export const homeToday = (params: HomeTodayParams) => {
return resultify(
axios.post<HomeTodayResponse>(API_URL_HOME.homeToday(), params),
);
};
export const useHomeTodayMutation = (options?: UseMutationOptions<HomeTodayResponse, CBDCAxiosError, HomeTodayParams>) => {
const mutation = useMutation<HomeTodayResponse, CBDCAxiosError, HomeTodayParams>({
...options,
mutationFn: (params: HomeTodayParams) => homeToday(params),
});
return {
...mutation,
};
};

View File

@@ -1,3 +1,8 @@
import {
NoticeListParams,
NoticeListResponse
} from '@/entities/support/model/types';
export interface FavoriteItemProps { export interface FavoriteItemProps {
img?: string, img?: string,
text?: string text?: string
@@ -9,4 +14,74 @@ export interface HomeBottomBannerProps {
export interface AuthRegisterProps { export interface AuthRegisterProps {
setAuthRegisterOn: (authRegisterOn: boolean) => void; setAuthRegisterOn: (authRegisterOn: boolean) => void;
authRegisterOn: boolean; authRegisterOn: boolean;
}; };
export interface HomeCommonParams {
mid: string;
searchDate: string;
};
export interface HomeTodayParams extends HomeCommonParams {};
export interface HomeTodayResponse {
sales: Sales,
settlement: Settlement
};
export interface Sales {
todayTotalAmount?: number;
yesterdayTotalAmount?: number;
totalCount?: number;
cancelCount?: number;
currentMonthAmount?: number;
previousMonthAmount?: number;
};
export interface Settlement {
todaySettlementAmount: number;
totalCreditLimit: number;
availableCredit: number;
currentMonthSettlementAmount?: number;
previousMonthSettlementAmount?: number;
};
export interface HomeOverviewParams extends HomeCommonParams {};
export interface HomeOverviewResponse {
averageTransactionAmount: number;
dailyAverageSales: number;
dailyAverageCount: number;
topSalesDayInfo: TopSalesDayInfo;
topSalesTimeInfo: TopSalesTimeInfo;
topPaymentMethodInfo: TopPaymentMethodInfo;
};
export interface TopSalesDayInfo {
daySalesRatios: Array<DaySalesRatios>;
};
export interface TopSalesTimeInfo {
timeSalesRatios: Array<TimeSalesRatios>;
};
export interface TopPaymentMethodInfo {
paymentMethodRatios: Array<PaymentMethodRatios>;
};
export interface DaySalesRatios {
dayOfWeek: string;
ratio: number;
};
export interface TimeSalesRatios {
hour: string;
ratio: number;
};
export interface PaymentMethodRatios {
paymentMethod: string;
ratio: number;
};
export interface HomeNoticeListParams extends NoticeListParams {};
export interface HomeNoticeListResponse extends NoticeListResponse {};
export interface HomeMonthParams extends HomeCommonParams {};
export interface HomeMonthResponse {
sales: Sales;
settlement: Settlement;
};
export interface HomeGroupsParams {
userid: string;
};
export interface HomeGroupsResponse {
mids: Array<string>;
};
export interface HomeBannerListParams {};
export interface HomeBannerListResponse {};

View File

@@ -0,0 +1,29 @@
import axios from 'axios';
import { API_URL_PAYMENT } from '@/shared/api/api-url-payment';
import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error';
import {
PaymentCardParams,
PaymentCardResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
export const paymentCard = (params: PaymentCardParams) => {
return resultify(
axios.post<PaymentCardResponse>(API_URL_PAYMENT.paymentCard(), params),
);
};
export const usePaymentCardMutation = (options?: UseMutationOptions<PaymentCardResponse, CBDCAxiosError, PaymentCardParams>) => {
const mutation = useMutation<PaymentCardResponse, CBDCAxiosError, PaymentCardParams>({
...options,
mutationFn: (params: PaymentCardParams) => paymentCard(params),
});
return {
...mutation,
};
};

View File

@@ -0,0 +1,29 @@
import axios from 'axios';
import { API_URL_PAYMENT } from '@/shared/api/api-url-payment';
import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error';
import {
PaymentInstallmentDetailParams,
PaymentInstallmentDetailResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
export const paymentInstallmentDetail = (params: PaymentInstallmentDetailParams) => {
return resultify(
axios.post<PaymentInstallmentDetailResponse>(API_URL_PAYMENT.paymentInstallmentDetail(), params),
);
};
export const usePaymentInstallmentDetailMutation = (options?: UseMutationOptions<PaymentInstallmentDetailResponse, CBDCAxiosError, PaymentInstallmentDetailParams>) => {
const mutation = useMutation<PaymentInstallmentDetailResponse, CBDCAxiosError, PaymentInstallmentDetailParams>({
...options,
mutationFn: (params: PaymentInstallmentDetailParams) => paymentInstallmentDetail(params),
});
return {
...mutation,
};
};

View File

@@ -0,0 +1,29 @@
import axios from 'axios';
import { API_URL_PAYMENT } from '@/shared/api/api-url-payment';
import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error';
import {
PaymentInstallmentParams,
PaymentInstallmentResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
export const paymentInstallment = (params: PaymentInstallmentParams) => {
return resultify(
axios.post<PaymentInstallmentResponse>(API_URL_PAYMENT.paymentInstallment(), params),
);
};
export const usePaymentInstallmentMutation = (options?: UseMutationOptions<PaymentInstallmentResponse, CBDCAxiosError, PaymentInstallmentParams>) => {
const mutation = useMutation<PaymentInstallmentResponse, CBDCAxiosError, PaymentInstallmentParams>({
...options,
mutationFn: (params: PaymentInstallmentParams) => paymentInstallment(params),
});
return {
...mutation,
};
};

View File

@@ -0,0 +1,29 @@
import axios from 'axios';
import { API_URL_PAYMENT } from '@/shared/api/api-url-payment';
import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error';
import {
PaymentNonCardParams,
PaymentNonCardResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
export const paymentNonCard = (params: PaymentNonCardParams) => {
return resultify(
axios.post<PaymentNonCardResponse>(API_URL_PAYMENT.paymentNonCard(), params),
);
};
export const usePaymentNonCardMutation = (options?: UseMutationOptions<PaymentNonCardResponse, CBDCAxiosError, PaymentNonCardParams>) => {
const mutation = useMutation<PaymentNonCardResponse, CBDCAxiosError, PaymentNonCardParams>({
...options,
mutationFn: (params: PaymentNonCardParams) => paymentNonCard(params),
});
return {
...mutation,
};
};

View File

@@ -0,0 +1,29 @@
import axios from 'axios';
import { API_URL_PAYMENT } from '@/shared/api/api-url-payment';
import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error';
import {
PaymentNotificationDataParams,
PaymentNotificationDataResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
export const paymentNotificationData = (params: PaymentNotificationDataParams) => {
return resultify(
axios.post<PaymentNotificationDataResponse>(API_URL_PAYMENT.paymentNotificationData(), params),
);
};
export const usePaymentNotificationDataMutation = (options?: UseMutationOptions<PaymentNotificationDataResponse, CBDCAxiosError, PaymentNotificationDataParams>) => {
const mutation = useMutation<PaymentNotificationDataResponse, CBDCAxiosError, PaymentNotificationDataParams>({
...options,
mutationFn: (params: PaymentNotificationDataParams) => paymentNotificationData(params),
});
return {
...mutation,
};
};

View File

@@ -2,11 +2,152 @@ export enum PaymentTabKeys {
Info = 'Info', Info = 'Info',
DataNotification = 'DataNotification', DataNotification = 'DataNotification',
}; };
export enum PaymentInfoItemType {
Comission = 'Comission',
NoInterest = 'NoInterest'
};
export interface PaymentTabProps { export interface PaymentTabProps {
activeTab: PaymentTabKeys; activeTab: PaymentTabKeys;
}; };
export interface InfoItemProps { export interface InfoItemProps {
type?: PaymentInfoItemType;
payName?: string; payName?: string;
payImage?: string; payImage?: string;
infoLink?: string; infoLink?: string;
}; };
export interface PaymentCommonParams {
mid: string;
};
export interface PaymentNotificationDataParams extends PaymentCommonParams {
gid: string;
};
export interface PaymentNotificationDataResponse {
merchantInfo: MerchantInfo;
creditCard: CreditCard;
accountTransfer: AccountTransfer;
virtualAccount: VirtualAccount;
mobilePayment: MobilePayment;
escrowPayment: EscrowPayment
};
export interface MerchantInfo {
paymentInfoType: string;
mid: string;
};
export interface CreditCard {
id: number;
paymentMethodName: string;
startDate: string;
adminEmail: string;
urlIp: string;
retransmissionInterval: string;
retransmissionCount: string;
okCheck: string;
encryptionStatus: string;
expandable: boolean;
detail: Record<string, any>;
};
export interface AccountTransfer {
id: number;
paymentMethodName: string;
startDate: string;
adminEmail: string;
urlIp: string;
retransmissionInterval: string;
retransmissionCount: string;
okCheck: string;
encryptionStatus: string;
expandable: boolean;
detail: Record<string, any>;
};
export interface VirtualAccount {
id: number;
paymentMethodName: string;
startDate: string;
adminEmail: string;
urlIp: string;
retransmissionInterval: string;
retransmissionCount: string;
okCheck: string;
encryptionStatus: string;
expandable: boolean;
detail: Record<string, any>;
};
export interface MobilePayment {
id: 1,
paymentMethodName: string;
startDate: string;
adminEmail: string;
urlIp: string;
retransmissionInterval: string;
retransmissionCount: string;
okCheck: string;
encryptionStatus: string;
expandable: boolean;
detail: Record<string, any>;
};
export interface EscrowPayment {
id: 1,
paymentMethodName: string;
startDate: string;
adminEmail: string;
urlIp: string;
retransmissionInterval: string;
retransmissionCount: string;
okCheck: string;
encryptionStatus: string;
expandable: boolean;
detail: Record<string, any>;
};
export interface PaymentNonCardParams extends PaymentCommonParams {
paymentMethod: string;
};
export interface PaymentNonCardResponse {
settlementPeriod: string;
accountTransferData: AccountTransferData;
mobilePaymentData: MobilePaymentData;
otherPaymentData: OtherPaymentData;
};
export interface AccountTransferData {
feeRanges: Array<Record<string, any>>;
bankFees: Array<Record<string, any>>;
};
export interface MobilePaymentData {
paymentFees: Array<Record<string, any>>;
categoryFees: Array<Record<string, any>>;
};
export interface OtherPaymentData {
feeRate: number;
};
export interface PaymentInstallmentParams extends PaymentCommonParams {
paymentMethod: string;
};
export interface PaymentInstallmentResponse {
installmentData: Array<Record<string, any>>;
};
export interface PaymentInstallmentDetailParams extends PaymentCommonParams {
cardCompany: string;
};
export interface PaymentInstallmentDetailResponse {
cardCompany: string;
cardCompanyOptions: Array<string>;
installmentDetails: Array<Record<string, any>>;
};
export interface PaymentCardParams extends PaymentCommonParams{
paymentMethod: string;
};
export interface PaymentCardResponse {
settlementPeriod: string;
generalTab: GeneralTab;
installmentTab: InstallmentTab;
moneyPointTab: MoneyPointTab;
};
export interface GeneralTab {
items: Array<Record<string, any>>;
};
export interface InstallmentTab {
items: Array<Record<string, any>>;
};
export interface MoneyPointTab {
items: Array<Record<string, any>>;
};

View File

@@ -1,4 +1,11 @@
export const DataNotificationWrap = () => { import { PaymentNotificationDataResponse } from '../model/types';
export interface DataNotificationWrapProps {
paymentNotificationData?: PaymentNotificationDataResponse;
};
export const DataNotificationWrap = ({
paymentNotificationData
}: DataNotificationWrapProps) => {
return ( return (
<> <>

View File

@@ -1,9 +1,19 @@
import { IMAGE_ROOT } from "@/shared/constants/common"; import { IMAGE_ROOT } from "@/shared/constants/common";
import { InfoItem } from "./info-item"; import { InfoItem } from "./info-item";
import { InfoItemProps } from "../model/types"; import { InfoItemProps, PaymentCardResponse, PaymentInfoItemType, PaymentInstallmentResponse, PaymentNonCardResponse } from "../model/types";
export const InfoWrap = () => { export interface InfoWrapProp {
paymentCard?: PaymentCardResponse,
paymentNonCard?: PaymentNonCardResponse,
paymentInstallment?: PaymentInstallmentResponse
};
export const InfoWrap = ({
paymentCard,
paymentNonCard,
paymentInstallment
}: InfoWrapProp) => {
const list1 = [ const list1 = [
{payName: '신용카드', payImage: 'pay_01.svg', infoLink: ''}, {payName: '신용카드', payImage: 'pay_01.svg', infoLink: ''},
{payName: '카카오페이', payImage: 'pay_02.svg', infoLink: ''}, {payName: '카카오페이', payImage: 'pay_02.svg', infoLink: ''},
@@ -38,24 +48,33 @@ export const InfoWrap = () => {
{payName: '삼성페이(카드)', payImage: 'pay_04.svg', infoLink: ''}, {payName: '삼성페이(카드)', payImage: 'pay_04.svg', infoLink: ''},
]; ];
const getList = (type: 'comission' | 'NoInterest') => { const getList = (type: PaymentInfoItemType) => {
let rs = []; let rs = [];
let arr: Array<InfoItemProps> = []; if(type === PaymentInfoItemType.Comission){
if(type === 'comission'){ for(let i=0;i<list1.length;i++){
arr = list1; rs.push(
<InfoItem
type={ type }
payName={ list1[i]?.payName }
payImage={ IMAGE_ROOT + '/' + list1[i]?.payImage }
infoLink={ list1[i]?.infoLink }
></InfoItem>
);
}
} }
else if(type === 'NoInterest'){ else if(type === PaymentInfoItemType.NoInterest){
arr = list2; for(let i=0;i<list2.length;i++){
} rs.push(
for(let i=0;i<arr.length;i++){ <InfoItem
rs.push( type={ type }
<InfoItem payName={ list2[i]?.payName }
payName={ arr[i]?.payName } payImage={ IMAGE_ROOT + '/' + list2[i]?.payImage }
payImage={ IMAGE_ROOT + '/' + arr[i]?.payImage } infoLink={ list2[i]?.infoLink }
infoLink={ arr[i]?.infoLink } ></InfoItem>
></InfoItem> );
); }
} }
return rs; return rs;
} }
@@ -65,12 +84,12 @@ export const InfoWrap = () => {
<div className="ing-list"> <div className="ing-list">
<div className="ing-title">서비스 이용, 수수료 정산주기</div> <div className="ing-title">서비스 이용, 수수료 정산주기</div>
<ul className="ing-card-list"> <ul className="ing-card-list">
{ getList('comission') } { getList(PaymentInfoItemType.Comission) }
</ul> </ul>
<div className="ing-title">가맹점 분담 무이자 정보</div> <div className="ing-title">가맹점 분담 무이자 정보</div>
<ul className="ing-card-list"> <ul className="ing-card-list">
{ getList('NoInterest') } { getList(PaymentInfoItemType.NoInterest) }
</ul> </ul>
</div> </div>
</> </>

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_SUPPORT } from '@/shared/api/api-url-support';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const faqList = (params: FaqListParams) => { export const faqList = (params: FaqListParams) => {
return resultify( return resultify(
axios.post<FaqListResponse>(API_URL.faqList(), params), axios.post<FaqListResponse>(API_URL_SUPPORT.faqList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_SUPPORT } from '@/shared/api/api-url-support';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const noticeDetail = (params: NoticeDetailParams) => { export const noticeDetail = (params: NoticeDetailParams) => {
return resultify( return resultify(
axios.post<NoticeDetailResponse>(API_URL.noticeDetail(), params), axios.post<NoticeDetailResponse>(API_URL_SUPPORT.noticeDetail(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_SUPPORT } from '@/shared/api/api-url-support';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const noticeList = (params: NoticeListParams) => { export const noticeList = (params: NoticeListParams) => {
return resultify( return resultify(
axios.post<NoticeListResponse>(API_URL.noticeList(), params), axios.post<NoticeListResponse>(API_URL_SUPPORT.noticeList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_SUPPORT } from '@/shared/api/api-url-support';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const qnaList = (params: QnaListParams) => { export const qnaList = (params: QnaListParams) => {
return resultify( return resultify(
axios.post<QnaListResponse>(API_URL.qnaList(), params), axios.post<QnaListResponse>(API_URL_SUPPORT.qnaList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_SUPPORT } from '@/shared/api/api-url-support';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const qnaSave = (params: QnaSaveParams) => { export const qnaSave = (params: QnaSaveParams) => {
return resultify( return resultify(
axios.post<QnaSaveResponse>(API_URL.qnaSave(), params), axios.post<QnaSaveResponse>(API_URL_SUPPORT.qnaSave(), params),
); );
}; };

View File

@@ -10,10 +10,11 @@ import {
useMutation, useMutation,
UseMutationOptions UseMutationOptions
} from '@tanstack/react-query'; } from '@tanstack/react-query';
import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
export const invoiceDetail = (params: InvoiceDetailParams) => { export const invoiceDetail = (params: InvoiceDetailParams) => {
return resultify( return resultify(
axios.post<InvoiceDetailResponse>(API_URL.allTransactionList(), params), axios.post<InvoiceDetailResponse>(API_URL_TRANSACTION.allTransactionList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -11,9 +11,10 @@ import {
UseMutationOptions UseMutationOptions
} from '@tanstack/react-query'; } from '@tanstack/react-query';
export const allTransactionCancelInfo = (params: AllTransactionCancelInfoParams) => { export const allTransactionCancelInfo = (params: AllTransactionCancelInfoParams) => {
return resultify( return resultify(
axios.post<AllTransactionCancelInfoResponse>(API_URL.allTransactionCancelInfo(), params), axios.post<AllTransactionCancelInfoResponse>(API_URL_TRANSACTION.allTransactionCancelInfo(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const allTransactionCancel = (params: AllTransactionCancelParams) => { export const allTransactionCancel = (params: AllTransactionCancelParams) => {
return resultify( return resultify(
axios.post<AllTransactionCancelResponse>(API_URL.allTransactionCancel(), params), axios.post<AllTransactionCancelResponse>(API_URL_TRANSACTION.allTransactionCancel(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const allTransactionDetail = (params: AllTransactionDetailParams) => { export const allTransactionDetail = (params: AllTransactionDetailParams) => {
return resultify( return resultify(
axios.post<DetailResponse>(API_URL.allTransactionDetail(), params), axios.post<DetailResponse>(API_URL_TRANSACTION.allTransactionDetail(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const allTransactionList = (params: AllTransactionListParams) => { export const allTransactionList = (params: AllTransactionListParams) => {
return resultify( return resultify(
axios.post<AllTransactionListResponse>(API_URL.allTransactionList(), params), axios.post<AllTransactionListResponse>(API_URL_TRANSACTION.allTransactionList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const allTransactionListSummary = (params: AllTransactionListSummaryParams) => { export const allTransactionListSummary = (params: AllTransactionListSummaryParams) => {
return resultify( return resultify(
axios.post<AllTransactionListSummaryResponse>(API_URL.allTransactionListSummary(), params), axios.post<AllTransactionListSummaryResponse>(API_URL_TRANSACTION.allTransactionListSummary(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const billingCharge = (params: BillingChargeParams) => { export const billingCharge = (params: BillingChargeParams) => {
return resultify( return resultify(
axios.post<BillingChargeResponse>(API_URL.billingDetail(), params), axios.post<BillingChargeResponse>(API_URL_TRANSACTION.billingDetail(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const billingDetail = (params: BillingDetailParams) => { export const billingDetail = (params: BillingDetailParams) => {
return resultify( return resultify(
axios.post<BillingDetailResponse>(API_URL.billingDetail(), params), axios.post<BillingDetailResponse>(API_URL_TRANSACTION.billingDetail(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const billingList = (params: BillingListParams) => { export const billingList = (params: BillingListParams) => {
return resultify( return resultify(
axios.post<BillingListResponse>(API_URL.billingList(), params), axios.post<BillingListResponse>(API_URL_TRANSACTION.billingList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const cashReceiptDetail = (params: CashReceiptDetailParams) => { export const cashReceiptDetail = (params: CashReceiptDetailParams) => {
return resultify( return resultify(
axios.post<DetailResponse>(API_URL.cashReceiptDetail(), params), axios.post<DetailResponse>(API_URL_TRANSACTION.cashReceiptDetail(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const cashReceiptList = (params: CashReceiptListParams) => { export const cashReceiptList = (params: CashReceiptListParams) => {
return resultify( return resultify(
axios.post<CashReceiptListResponse>(API_URL.cashReceiptList(), params), axios.post<CashReceiptListResponse>(API_URL_TRANSACTION.cashReceiptList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const cashReceiptManualIssue = (params: CashReceiptManualIssueParams) => { export const cashReceiptManualIssue = (params: CashReceiptManualIssueParams) => {
return resultify( return resultify(
axios.post<CashReceiptManualIssueResponse>(API_URL.cashReceiptManualIssue(), params), axios.post<CashReceiptManualIssueResponse>(API_URL_TRANSACTION.cashReceiptManualIssue(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const cashReceiptPurposeUpdate = (params: CashReceiptPurposeUpdateParams) => { export const cashReceiptPurposeUpdate = (params: CashReceiptPurposeUpdateParams) => {
return resultify( return resultify(
axios.post<CashReceiptPurposeUpdateResponse>(API_URL.cashReceiptPurposeUpdate(), params), axios.post<CashReceiptPurposeUpdateResponse>(API_URL_TRANSACTION.cashReceiptPurposeUpdate(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const downloadConfirmation = (params: DownloadConfirmationParams) => { export const downloadConfirmation = (params: DownloadConfirmationParams) => {
return resultify( return resultify(
axios.post<DownloadConfirmationResponse>(API_URL.downloadConfirmation(), params), axios.post<DownloadConfirmationResponse>(API_URL_TRANSACTION.downloadConfirmation(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const downloadExcel = (params: DownloadExcelParams) => { export const downloadExcel = (params: DownloadExcelParams) => {
return resultify( return resultify(
axios.post<DownloadExcelResponse>(API_URL.downloadExcel(), params), axios.post<DownloadExcelResponse>(API_URL_TRANSACTION.downloadExcel(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const escrowDetail = (params: EscrowDetailParams) => { export const escrowDetail = (params: EscrowDetailParams) => {
return resultify( return resultify(
axios.post<DetailResponse>(API_URL.escrowDetail(), params), axios.post<DetailResponse>(API_URL_TRANSACTION.escrowDetail(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const escrowList = (params: EscrowListParams) => { export const escrowList = (params: EscrowListParams) => {
return resultify( return resultify(
axios.post<EscrowListResponse>(API_URL.escrowList(), params), axios.post<EscrowListResponse>(API_URL_TRANSACTION.escrowList(), params),
); );
}; };

View File

@@ -1,5 +1,5 @@
import axios from 'axios'; import axios from 'axios';
import { API_URL } from '@/shared/api/urls'; import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify'; import { resultify } from '@/shared/lib/resultify';
import { CBDCAxiosError } from '@/shared/@types/error'; import { CBDCAxiosError } from '@/shared/@types/error';
import { import {
@@ -13,7 +13,7 @@ import {
export const escrowMailResend = (params: EscrowMailResendParams) => { export const escrowMailResend = (params: EscrowMailResendParams) => {
return resultify( return resultify(
axios.post<EscrowMailResendResponse>(API_URL.escrowMailResend(), params), axios.post<EscrowMailResendResponse>(API_URL_TRANSACTION.escrowMailResend(), params),
); );
}; };

View File

@@ -90,6 +90,12 @@ export const HomePage = () => {
if(isOpen){ if(isOpen){
setAuthRegisterOn(true); setAuthRegisterOn(true);
} }
}).catch((e) => {
console.log('catch')
}).finally(() => {
console.log('finally')
// setAuthRegisterOn(true);
}); });
}; };

View File

@@ -1,9 +1,10 @@
import { useState } from 'react'; import { useEffect, useState } from 'react';
import { PATHS } from '@/shared/constants/paths'; import { PATHS } from '@/shared/constants/paths';
import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { useNavigate } from '@/shared/lib/hooks/use-navigate';
import { PaymentTab } from '@/entities/payment/ui/payment-tab'; import { PaymentTab } from '@/entities/payment/ui/payment-tab';
import { DataNotificationWrap } from '@/entities/payment/ui/data-notification-wrap'; import { DataNotificationWrap } from '@/entities/payment/ui/data-notification-wrap';
import { PaymentTabKeys } from '@/entities/payment/model/types'; import { PaymentNonCardResponse, PaymentNotificationDataResponse, PaymentTabKeys } from '@/entities/payment/model/types';
import { usePaymentNotificationDataMutation } from '@/entities/payment/api/use-payment-notification-data-mutation';
import { HeaderType } from '@/entities/common/model/types'; import { HeaderType } from '@/entities/common/model/types';
import { import {
useSetHeaderTitle, useSetHeaderTitle,
@@ -14,8 +15,13 @@ import {
export const DataNotificationPage = () => { export const DataNotificationPage = () => {
const { navigate } = useNavigate(); const { navigate } = useNavigate();
const { mutateAsync: paymentNotificationData } = usePaymentNotificationDataMutation();
const [activeTab, setActiveTab] = useState<PaymentTabKeys>(PaymentTabKeys.DataNotification); const [activeTab, setActiveTab] = useState<PaymentTabKeys>(PaymentTabKeys.DataNotification);
const [mid, setMid] = useState<string>('nictest00g');
const [gid, setGid] = useState<string>('nictest00g');
const [paymentNotificationDataResult, setPaymentNotificationDataResult] = useState<PaymentNotificationDataResponse>();
useSetHeaderTitle('결제 관리'); useSetHeaderTitle('결제 관리');
useSetHeaderType(HeaderType.LeftArrow); useSetHeaderType(HeaderType.LeftArrow);
@@ -24,13 +30,31 @@ export const DataNotificationPage = () => {
navigate(PATHS.home); navigate(PATHS.home);
}); });
const callPaymentNotificationData = () => {
let params = {
mid: mid,
gid: gid
};
paymentNotificationData(params).then((rs) => {
console.log(rs);
setPaymentNotificationDataResult(rs);
});
};
useEffect(() => {
callPaymentNotificationData();
}, []);
return ( return (
<> <>
<main> <main>
<div className="tab-content"> <div className="tab-content">
<div className="tab-pane pt-46 active"> <div className="tab-pane pt-46 active">
<PaymentTab activeTab={ activeTab }></PaymentTab> <PaymentTab activeTab={ activeTab }></PaymentTab>
<DataNotificationWrap></DataNotificationWrap> <DataNotificationWrap
paymentNotificationData={ paymentNotificationDataResult }
></DataNotificationWrap>
</div> </div>
</div> </div>
</main> </main>

View File

@@ -1,9 +1,11 @@
import { useState } from 'react'; import { useEffect, useState } from 'react';
import { PATHS } from '@/shared/constants/paths'; import { PATHS } from '@/shared/constants/paths';
import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { useNavigate } from '@/shared/lib/hooks/use-navigate';
import { PaymentTab } from '@/entities/payment/ui/payment-tab'; import { PaymentTab } from '@/entities/payment/ui/payment-tab';
import { InfoWrap } from '@/entities/payment/ui/info-wrap'; import { InfoWrap } from '@/entities/payment/ui/info-wrap';
import { PaymentTabKeys } from '@/entities/payment/model/types'; import { PaymentCardResponse, PaymentNonCardResponse, PaymentTabKeys } from '@/entities/payment/model/types';
import { usePaymentCardMutation } from '@/entities/payment/api/use-payment-card-mutation';
import { usePaymentNonCardMutation } from '@/entities/payment/api/use-payment-non-card-mutation';
import { HeaderType } from '@/entities/common/model/types'; import { HeaderType } from '@/entities/common/model/types';
import { import {
useSetHeaderTitle, useSetHeaderTitle,
@@ -14,8 +16,15 @@ import {
export const InfoPage = () => { export const InfoPage = () => {
const { navigate } = useNavigate(); const { navigate } = useNavigate();
const { mutateAsync: paymentCard } = usePaymentCardMutation();
const { mutateAsync: paymentNonCard } = usePaymentNonCardMutation();
const [activeTab, setActiveTab] = useState<PaymentTabKeys>(PaymentTabKeys.Info); const [activeTab, setActiveTab] = useState<PaymentTabKeys>(PaymentTabKeys.Info);
const [mid, setMid] = useState<string>('nictest00g');
const [paymentCardResult, setPaymentCardResult] = useState<PaymentCardResponse>();
const [paymentNonCardResult, setPaymentNonCardResult] = useState<PaymentNonCardResponse>();
useSetHeaderTitle('결제 관리'); useSetHeaderTitle('결제 관리');
useSetHeaderType(HeaderType.LeftArrow); useSetHeaderType(HeaderType.LeftArrow);
@@ -24,13 +33,44 @@ export const InfoPage = () => {
navigate(PATHS.home); navigate(PATHS.home);
}); });
const callPaymentCard = () => {
let params = {
mid: mid,
paymentMethod: 'CREDIT_CARD'
};
paymentCard(params).then((rs) => {
console.log(rs);
setPaymentCardResult(rs);
});
};
const callPaymentNonCard = () => {
let params = {
mid: mid,
paymentMethod: 'ACCOUNT_TRANSFER'
};
paymentNonCard(params).then((rs) => {
console.log(rs);
setPaymentNonCardResult(rs);
});
};
useEffect(() => {
callPaymentCard();
callPaymentNonCard();
}, []);
return ( return (
<> <>
<main> <main>
<div className="tab-content"> <div className="tab-content">
<div className="tab-pane pt-46 active"> <div className="tab-pane pt-46 active">
<PaymentTab activeTab={ activeTab }></PaymentTab> <PaymentTab activeTab={ activeTab }></PaymentTab>
<InfoWrap></InfoWrap> <InfoWrap
paymentCard={ paymentCardResult }
paymentNonCard={ paymentNonCardResult }
></InfoWrap>
</div> </div>
</div> </div>
</main> </main>

View File

@@ -1,7 +1,7 @@
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import { useLocation } from 'react-router'; import { useLocation } from 'react-router';
import { PATHS } from '@/shared/constants/paths'; import { PATHS } from '@/shared/constants/paths';
import { useNoticeDetailMutation } from '@/entities/support/api/use-notice-detail-mutaion'; import { useNoticeDetailMutation } from '@/entities/support/api/use-notice-detail-mutation';
import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { useNavigate } from '@/shared/lib/hooks/use-navigate';
import { HeaderType } from '@/entities/common/model/types'; import { HeaderType } from '@/entities/common/model/types';
import { NoticeItem } from '@/entities/support/model/types'; import { NoticeItem } from '@/entities/support/model/types';

View File

@@ -22,7 +22,7 @@ import {
useSetFooterMode useSetFooterMode
} from '@/widgets/sub-layout/use-sub-layout'; } from '@/widgets/sub-layout/use-sub-layout';
import { CashReceitPurposeUpdateBottomSheet } from '@/entities/transaction/ui/cash-receit-purpose-update-bottom-sheet'; import { CashReceitPurposeUpdateBottomSheet } from '@/entities/transaction/ui/cash-receit-purpose-update-bottom-sheet';
import { useCashReceiptPurposeUpdateMutation } from '@/entities/transaction/api/use-cash-receipt-purpose-update'; import { useCashReceiptPurposeUpdateMutation } from '@/entities/transaction/api/use-cash-receipt-purpose-update-mutation';
export const CashReceiptDetailPage = () => { export const CashReceiptDetailPage = () => {
const { navigate } = useNavigate(); const { navigate } = useNavigate();

View File

@@ -6,7 +6,7 @@ import { CashReceiptHandWrittenIssuanceStep2 } from '@/entities/transaction/ui/c
import { CashReceiptPurposeType, ProcessStep } from '@/entities/transaction/model/types'; import { CashReceiptPurposeType, ProcessStep } from '@/entities/transaction/model/types';
import { HeaderType} from '@/entities/common/model/types'; import { HeaderType} from '@/entities/common/model/types';
import { useSetFooterMode, useSetHeaderTitle, useSetHeaderType } from '@/widgets/sub-layout/use-sub-layout'; import { useSetFooterMode, useSetHeaderTitle, useSetHeaderType } from '@/widgets/sub-layout/use-sub-layout';
import { useCashReceiptManualIssueMutation } from '@/entities/transaction/api/use-cash-receipt-manual-issue'; import { useCashReceiptManualIssueMutation } from '@/entities/transaction/api/use-cash-receipt-manual-issue-mutation';
export const CashReceitHandWrittenIssuancePage = () => { export const CashReceitHandWrittenIssuancePage = () => {
const { navigate } = useNavigate(); const { navigate } = useNavigate();

View File

@@ -0,0 +1,80 @@
import {
API_BASE_URL,
API_URL_KEY,
} from './../constants/url';
/* Extension Management - 부가서비스 API */
export const API_URL_ADDITIONAL_SERVICE = {
extensionSmsResend: () => {
// POST: SMS 결제 통보 > SMS 재발송
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/sms/resend`;
},
extensionSmsList: () => {
// POST: SMS 결제 통보 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/sms/list`;
},
extensionSmsDownloadExcel: () => {
// POST: SMS 결제 통보 엑셀 다운
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/sms/download/excel`;
},
extensionSmsDetail: () => {
// POST: SMS 결제 통보 상세 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/sms/detail`;
},
extensionList: () => {
// POST: 부가서비스 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/list`;
},
extensionKeyinList: () => {
// POST: KEY-IN 결제 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/keyin/list`;
},
extensionKeyinDownloadExcel: () => {
// POST: KEY-IN 결제 엑셀 다운
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/keyin/download/excel`;
},
extensionKeyinApply: () => {
// POST: KEY-IN 결제 > 결제 신청
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/keyin/apply`;
},
extensionArsResend: () => {
// POST: SMS 신용카드 ARS 결제 > SMS 재전송
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/resend`;
},
extensionArsList: () => {
// POST: 신용카드 ARS 결제 > 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/list`;
},
extensionArsDownloadExcel: () => {
// POST: 신용카드 ARS 결제 > 엑셀 다운
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/download/excel`;
},
extensionArsDetail: () => {
// POST: 신용카드 ARS 결제 > 상세 내용 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/detail`;
},
extensionArsApply: () => {
// POST: 신용카드 ARS 결제 > 결제 신청
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/apply`;
},
extensionAlimtalkSettingSave: () => {
// POST: 알림톡 결제 통보 > 서비스 설정 저장
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/setting/save`;
},
extensionAlimtalkSettingDetail: () => {
// POST: 알림톡 결제 통보 > 서비스 설정 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/setting/detail`;
},
extensionAlimtalkList: () => {
// POST: 알림톡 결제 통보 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/list`;
},
extensionAlimtalkDownloadExcel: () => {
// POST: 알림톡 결제 통보 엑셀 다운
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/download/excel`;
},
extensionAlimtalkDetail: () => {
// POST: 알림톡 결제 통보 상세 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/detail`;
},
};

View File

@@ -0,0 +1,32 @@
import {
API_BASE_URL,
API_URL_KEY,
} from './../constants/url';
/* Home Management = 홈 API */
export const API_URL_HOME = {
homeToday: () => {
// POST: 오늘 매출 및 정산 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/home/today`;
},
homeOverview: () => {
// POST: 거래 인사이트 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/home/overview`;
},
homeNoticeList: () => {
// POST: 공지사항 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/home/notice/list`;
},
homeMonth: () => {
// POST: 당월 매출 및 정산 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/home/month`;
},
homeGroups: () => {
// POST: GID 또는 MID 권한 별 mid 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/home/groups`;
},
homeBannerList: () => {
// POST: 배너 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/home/banner/list`;
},
}

View File

@@ -0,0 +1,28 @@
import {
API_BASE_URL,
API_URL_KEY,
} from './../constants/url';
/* Payment Management = 결제관리 API */
export const API_URL_PAYMENT = {
paymentNotificationData: () => {
// POST: 결제데이터 통보 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/payment/notification/data`;
},
paymentNonCard: () => {
// POST: 카드외 결제수단 수수료 및 정산주기 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/payment/non-card`;
},
paymentInstallment: () => {
// POST: 가맹점 분담 무이자 정보 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/payment/installment`;
},
paymentInstallmentDetail: () => {
// POST: 가맹점 분담 무이자 상세 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/payment/installment/detail`;
},
paymentCard: () => {
// POST: 카드 결제수단 수수료 및 정산주기 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/payment/card`;
},
};

View File

@@ -0,0 +1,32 @@
import {
API_BASE_URL,
API_URL_KEY,
} from './../constants/url';
export const API_URL_SUPPORT = {
/* Notice Management - 공지사항 API */
noticeList: () => {
// POST: 공지사항 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/notice/list`;
},
noticeDetail: () => {
// POST: 공지사항 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/notice/detail`;
},
/* Counsel Management - 문의상담 API */
qnaList: () => {
// POST: 1:1 문의 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/counsel/list`;
},
qnaSave: () => {
// POST: 1:1 문의 등록
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/counsel/save`;
},
/* FAQ Management - FAQ(자주 묻는 질문) API */
faqList: () => {
// POST: FAQ 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/faq/list`;
},
};

View File

@@ -0,0 +1,85 @@
import {
API_BASE_URL,
API_URL_KEY,
} from './../constants/url';
export const API_URL_TRANSACTION = {
/* transaction Management - 거래관리 API */
allTransactionList: () => {
// POST: 거래 내역 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list`;
},
allTransactionListSummary: () => {
// POST: 거래 내역 합계 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list/summary`;
},
downloadExcel: () => {
// POST: 거래 엑셀 다운로드
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/excel`;
},
downloadConfirmation: () => {
// POST: 거래 확인서 다운로드
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/confirmation`;
},
allTransactionDetail: () => {
// POST: 거래내역 상세
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/detail`;
},
allTransactionCancel: () => {
// POST: 거래취소 요청
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/cancel`;
},
allTransactionCancelInfo: () => {
// POST: 거래취소 정보 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/cancel-info`;
},
/* Cash Receipt Management - 현금영수증 API */
cashReceiptList: () => {
// POST: 현금영수증 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/cash-receipt/list`;
},
cashReceiptDetail: () => {
// POST: 현금영수증 상세 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/cash-receipt/detail`;
},
cashReceiptPurposeUpdate: () => {
// POST: 현금영수증 용도 변경
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/cash-receipt/purpose/update`;
},
cashReceiptManualIssue: () => {
// POST: 현금영수증 용도 변경
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/cash-receipt/manual/issue`;
},
/* Escro Management - 에스크로 API */
escrowList: () => {
// POST: 에스크로 목록 조회
return `${API_BASE_URL}/api/v1/escrows/list`;
},
escrowDetail: () => {
// POST: 에스크로 목록 상세 조회
return `${API_BASE_URL}/api/v1/escrows/detail`;
},
escrowMailResend: () => {
// POST: 에스크로 메일 재발송
return `${API_BASE_URL}/api/v1/escrows/mail/resend`;
},
/* Billing Management - 빌링 API */
billingList: () => {
// POST: 빌링 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/billing/list`;
},
billingDetail: () => {
// POST: 빌링 상세 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/billing/detail`;
},
billingCharge: () => {
// POST: 빌링 결제 신청
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/billing/charge`;
},
};

View File

@@ -1,8 +1,6 @@
import { businessMemberInfo } from '@/entities/business-member/api/use-business-member-info-mutation';
import { import {
API_BASE_URL, API_BASE_URL,
API_URL_KEY, API_URL_KEY,
API_PARAM
} from './../constants/url'; } from './../constants/url';
// all api URL // all api URL
@@ -93,87 +91,6 @@ export const API_URL = {
}, },
/* transaction Management - 거래관리 API */
allTransactionList: () => {
// POST: 거래 내역 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list`;
},
allTransactionListSummary: () => {
// POST: 거래 내역 합계 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list/summary`;
},
downloadExcel: () => {
// POST: 거래 엑셀 다운로드
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/excel`;
},
downloadConfirmation: () => {
// POST: 거래 확인서 다운로드
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/confirmation`;
},
allTransactionDetail: () => {
// POST: 거래내역 상세
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/detail`;
},
allTransactionCancel: () => {
// POST: 거래취소 요청
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/cancel`;
},
allTransactionCancelInfo: () => {
// POST: 거래취소 정보 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/cancel-info`;
},
/* Cash Receipt Management - 현금영수증 API */
cashReceiptList: () => {
// POST: 현금영수증 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/cash-receipt/list`;
},
cashReceiptDetail: () => {
// POST: 현금영수증 상세 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/cash-receipt/detail`;
},
cashReceiptPurposeUpdate: () => {
// POST: 현금영수증 용도 변경
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/cash-receipt/purpose/update`;
},
cashReceiptManualIssue: () => {
// POST: 현금영수증 용도 변경
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/cash-receipt/manual/issue`;
},
/* Escro Management - 에스크로 API */
escrowList: () => {
// POST: 에스크로 목록 조회
return `${API_BASE_URL}/api/v1/escrows/list`;
},
escrowDetail: () => {
// POST: 에스크로 목록 상세 조회
return `${API_BASE_URL}/api/v1/escrows/detail`;
},
escrowMailResend: () => {
// POST: 에스크로 메일 재발송
return `${API_BASE_URL}/api/v1/escrows/mail/resend`;
},
/* Billing Management - 빌링 API */
billingList: () => {
// POST: 빌링 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/billing/list`;
},
billingDetail: () => {
// POST: 빌링 상세 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/billing/detail`;
},
billingCharge: () => {
// POST: 빌링 결제 신청
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/billing/charge`;
},
settlementList: () => { settlementList: () => {
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list`; return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list`;
}, },
@@ -192,105 +109,6 @@ export const API_URL = {
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/user/create`; return `${API_BASE_URL}/api/v1/${API_URL_KEY}/user/create`;
}, },
/* Counsel Management - 문의상담 API */
qnaList: () => {
// POST: 1:1 문의 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/counsel/list`;
},
qnaSave: () => {
// POST: 1:1 문의 등록
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/counsel/save`;
},
/* FAQ Management - FAQ(자주 묻는 질문) API */
faqList: () => {
// POST: FAQ 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/faq/list`;
},
/* Notice Management - 공지사항 API */
noticeList: () => {
// POST: 공지사항 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/notice/list`;
},
noticeDetail: () => {
// POST: 공지사항 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/notice/detail`;
},
/* Extension Management - 부가서비스 API */
extensionSmsResend: () => {
// POST: SMS 결제 통보 > SMS 재발송
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/sms/resend`;
},
extensionSmsList: () => {
// POST: SMS 결제 통보 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/sms/list`;
},
extensionSmsDownloadExcel: () => {
// POST: SMS 결제 통보 엑셀 다운
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/sms/download/excel`;
},
extensionSmsDetail: () => {
// POST: SMS 결제 통보 상세 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/sms/detail`;
},
extensionList: () => {
// POST: 부가서비스 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/list`;
},
extensionKeyinList: () => {
// POST: KEY-IN 결제 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/keyin/list`;
},
extensionKeyinDownloadExcel: () => {
// POST: KEY-IN 결제 엑셀 다운
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/keyin/download/excel`;
},
extensionKeyinApply: () => {
// POST: KEY-IN 결제 > 결제 신청
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/keyin/apply`;
},
extensionArsResend: () => {
// POST: SMS 신용카드 ARS 결제 > SMS 재전송
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/resend`;
},
extensionArsList: () => {
// POST: 신용카드 ARS 결제 > 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/list`;
},
extensionArsDownloadExcel: () => {
// POST: 신용카드 ARS 결제 > 엑셀 다운
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/download/excel`;
},
extensionArsDetail: () => {
// POST: 신용카드 ARS 결제 > 상세 내용 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/detail`;
},
extensionArsApply: () => {
// POST: 신용카드 ARS 결제 > 결제 신청
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/ars/apply`;
},
extensionAlimtalkSettingSave: () => {
// POST: 알림톡 결제 통보 > 서비스 설정 저장
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/setting/save`;
},
extensionAlimtalkSettingDetail: () => {
// POST: 알림톡 결제 통보 > 서비스 설정 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/setting/detail`;
},
extensionAlimtalkList: () => {
// POST: 알림톡 결제 통보 목록 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/list`;
},
extensionAlimtalkDownloadExcel: () => {
// POST: 알림톡 결제 통보 엑셀 다운
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/download/excel`;
},
extensionAlimtalkDetail: () => {
// POST: 알림톡 결제 통보 상세 조회
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/alimtalk/detail`;
},
/* Empty Token API Management - jwt 토큰이 없는 API 관리 */ /* Empty Token API Management - jwt 토큰이 없는 API 관리 */
emptyTokenVerifyCode: () => { emptyTokenVerifyCode: () => {

View File

@@ -2,7 +2,12 @@ const { origin } = window.location;
export const CURRENT_URL = `${origin}`; export const CURRENT_URL = `${origin}`;
const getAPIBaseUrl = () => { const getAPIBaseUrl = () => {
return CURRENT_URL; let rs = CURRENT_URL;
console.log('VITE_APP_ENV : ', import.meta.env.VITE_APP_ENV);
if(import.meta.env.VITE_APP_ENV === 'production'){
rs = import.meta.env.VITE_APP_API_PROXY_HOST;
}
return rs;
}; };
const getHeaderUserAgent = () => { const getHeaderUserAgent = () => {
let os = 'Android'; let os = 'Android';

View File

@@ -51,7 +51,10 @@ main {
padding-bottom: env(safe-area-inset-bottom) !important; padding-bottom: env(safe-area-inset-bottom) !important;
} }
.bottomsheet{ .bottomsheet{
padding-bottom: env(safe-area-inset-bottom) !important; padding-bottom: calc(26px + env(safe-area-inset-bottom));
}
.bottomsheet.banner{
padding-bottom: calc(0px + env(safe-area-inset-bottom));
} }
.apply-row.bottom-padding{ .apply-row.bottom-padding{
bottom: calc(70px + env(safe-area-inset-bottom)) !important; bottom: calc(70px + env(safe-area-inset-bottom)) !important;