TK-FB(공장관리+신고)와 M-Project(부적합관리)를 3개 독립 시스템으로 분리하기 위한 전체 코드 구조 작성. - SSO 인증 서비스 (bcrypt + pbkdf2 이중 해시 지원) - System 1: 공장관리 (TK-FB 기반, 신고 코드 제거) - System 2: 신고 (TK-FB에서 workIssue 코드 추출) - System 3: 부적합관리 (M-Project 기반) - Gateway 포털 (path-based 라우팅) - 통합 docker-compose.yml 및 배포 스크립트 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
import { API, getAuthHeaders } from '/js/api-config.js';
|
|
|
|
(async () => {
|
|
const pathParts = location.pathname.split('/');
|
|
const id = pathParts[pathParts.length - 1];
|
|
|
|
try {
|
|
const res = await fetch(`${API}/factoryinfo/${id}`, {
|
|
headers: getAuthHeaders()
|
|
});
|
|
|
|
if (!res.ok) {
|
|
throw new Error('조회 실패');
|
|
}
|
|
|
|
const data = await res.json();
|
|
|
|
// DOM 요소가 존재하는지 확인 후 설정
|
|
const nameEl = document.getElementById('factoryName');
|
|
if (nameEl) nameEl.textContent = data.factory_name;
|
|
|
|
const addressEl = document.getElementById('factoryAddress');
|
|
if (addressEl) addressEl.textContent = '📍 ' + data.address;
|
|
|
|
const imageEl = document.getElementById('factoryImage');
|
|
if (imageEl) imageEl.src = data.map_image_url;
|
|
|
|
const descEl = document.getElementById('factoryDescription');
|
|
if (descEl) descEl.textContent = data.description;
|
|
|
|
} catch (err) {
|
|
console.error(err);
|
|
const container = document.querySelector('.container');
|
|
if (container) {
|
|
container.innerHTML = '<p>공장 정보를 불러올 수 없습니다.</p>';
|
|
}
|
|
}
|
|
})(); |