refactor: 프론트엔드 SSO 인증 통합 및 API 경로 정리
- Gateway 로그인/포탈 페이지 SSO 연동 - System1 web/fastapi-bridge API base URL 동적 설정 - SSO 토큰 기반 인증 흐름 통일 - deprecated JS 파일 삭제 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -50,7 +50,6 @@ function getCacheStatus() {
|
||||
*/
|
||||
function clearCache() {
|
||||
dateStatusCache.clear();
|
||||
console.log('📦 캐시가 클리어되었습니다.');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -77,7 +76,6 @@ function updatePerformanceUI() {
|
||||
*/
|
||||
function logPerformanceStatus() {
|
||||
const status = getCacheStatus();
|
||||
console.log('📊 성능 상태:', status);
|
||||
updatePerformanceUI();
|
||||
}
|
||||
|
||||
@@ -118,7 +116,7 @@ function getCurrentUser() {
|
||||
}
|
||||
|
||||
try {
|
||||
const userInfo = localStorage.getItem('sso_user') || localStorage.getItem('userInfo');
|
||||
const userInfo = localStorage.getItem('sso_user');
|
||||
if (userInfo) {
|
||||
return JSON.parse(userInfo);
|
||||
}
|
||||
@@ -391,18 +389,14 @@ async function calculateDateStatus(dateStr) {
|
||||
}
|
||||
|
||||
try {
|
||||
console.log(`📊 ${dateStr} 상태 계산 시작 - 순차 호출`);
|
||||
|
||||
// 1단계: WorkReports 먼저 가져오기
|
||||
console.log(`📝 1단계: WorkReports 조회 중...`);
|
||||
const workReports = await fetchWorkReports(dateStr);
|
||||
|
||||
// 2초 대기 (서버 부하 방지)
|
||||
console.log(`⏳ 2초 대기 중... (서버 부하 방지)`);
|
||||
await new Promise(resolve => setTimeout(resolve, 2000));
|
||||
|
||||
// 2단계: DailyWorkReports 가져오기
|
||||
console.log(`📊 2단계: DailyWorkReports 조회 중...`);
|
||||
const dailyReports = await fetchDailyWorkReports(dateStr);
|
||||
|
||||
let status;
|
||||
@@ -423,7 +417,6 @@ async function calculateDateStatus(dateStr) {
|
||||
|
||||
// 캐시에 저장
|
||||
dateStatusCache.set(dateStr, status);
|
||||
console.log(`✅ ${dateStr} 상태 계산 완료: ${status}`);
|
||||
return status;
|
||||
} catch (error) {
|
||||
console.error('날짜 상태 계산 오류:', error);
|
||||
@@ -564,10 +557,9 @@ async function loadAndUpdateDateStatus(dateStr, buttonElement) {
|
||||
}`;
|
||||
}
|
||||
|
||||
console.log(`✅ ${dateStr} 상태 로드 완료: ${status}`);
|
||||
|
||||
} catch (error) {
|
||||
console.error(`❌ ${dateStr} 상태 로드 실패:`, error);
|
||||
console.error(` ${dateStr} 상태 로드 실패:`, error);
|
||||
buttonElement.classList.remove('loading-state');
|
||||
buttonElement.classList.add('error-state');
|
||||
buttonElement.title = `${dateStr} - 로드 실패: ${error.message}`;
|
||||
@@ -589,18 +581,14 @@ async function loadAndUpdateDateStatus(dateStr, buttonElement) {
|
||||
*/
|
||||
async function getWorkersForDate(dateStr) {
|
||||
try {
|
||||
console.log(`👥 ${dateStr} 작업자 데이터 조합 시작 - 순차 호출`);
|
||||
|
||||
// 1단계: WorkReports 먼저 가져오기
|
||||
console.log(`📝 1단계: WorkReports 조회 중...`);
|
||||
const workReports = await fetchWorkReports(dateStr);
|
||||
|
||||
// 2초 대기 (서버 부하 방지)
|
||||
console.log(`⏳ 2초 대기 중... (서버 부하 방지)`);
|
||||
await new Promise(resolve => setTimeout(resolve, 2000));
|
||||
|
||||
// 2단계: DailyWorkReports 가져오기
|
||||
console.log(`📊 2단계: DailyWorkReports 조회 중...`);
|
||||
const dailyReports = await fetchDailyWorkReports(dateStr);
|
||||
|
||||
const workerMap = new Map();
|
||||
@@ -645,7 +633,6 @@ async function getWorkersForDate(dateStr) {
|
||||
validationStatus: getValidationStatus(worker)
|
||||
}));
|
||||
|
||||
console.log(`✅ ${dateStr} 작업자 데이터 조합 완료: ${result.length}명`);
|
||||
return result;
|
||||
|
||||
} catch (error) {
|
||||
@@ -1022,11 +1009,6 @@ async function init() {
|
||||
window.saveEditedWork = saveEditedWork;
|
||||
window.deleteWorker = deleteWorker;
|
||||
|
||||
console.log('✅ 근태 검증 관리 시스템 초기화 완료 (API 통합)');
|
||||
console.log(`🔗 API 경로: ${API}`);
|
||||
console.log(`📊 설정: 동시 최대 ${RATE_LIMIT.maxConcurrent}개 요청, ${RATE_LIMIT.delayBetweenRequests}ms 딜레이`);
|
||||
console.log('🔄 API 호출 방식: 통합 설정 + 순차 호출');
|
||||
console.log('🚫 429 에러 방지: 각 날짜당 최소 5초 간격');
|
||||
|
||||
} catch (error) {
|
||||
console.error('초기화 오류:', error);
|
||||
|
||||
Reference in New Issue
Block a user