fix: [kakaotalk] 발송 페이지 템플릿 로딩 개선

- Status 필터 제거 (API가 반환하는 모든 템플릿 표시)
- 응답 파싱 누락 케이스 추가 (else if raw)
- API 오류 시 에러 메시지 표시 및 console.log 디버깅 추가
This commit is contained in:
김보곤
2026-02-24 01:03:09 +09:00
parent dbe1037094
commit 1c2b018917

View File

@@ -280,22 +280,29 @@ function loadTemplateOptions(prefix) {
.then(r => r.json())
.then(data => {
tplSelect.innerHTML = '<option value="">-- 템플릿 선택 --</option>';
if (!data.success) return;
if (!data.success) {
console.warn('템플릿 조회 실패:', data.error || data.message || data);
tplSelect.innerHTML = '<option value="">템플릿 조회 실패</option>';
return;
}
const raw = data.data;
let items = [];
if (Array.isArray(raw)) items = raw;
else if (raw && raw.KakaotalkTemplate) items = Array.isArray(raw.KakaotalkTemplate) ? raw.KakaotalkTemplate : [raw.KakaotalkTemplate];
else if (raw) items = [raw];
console.log('템플릿 목록:', items);
templateCache[channelId] = items;
items.forEach(tpl => {
const status = String(tpl.Status);
if (status === 'R' || status === '3') { // 승인된 템플릿만 (R 또는 3)
const opt = document.createElement('option');
opt.value = tpl.TemplateName;
opt.textContent = tpl.TemplateName;
tplSelect.appendChild(opt);
}
const opt = document.createElement('option');
opt.value = tpl.TemplateName;
opt.textContent = tpl.TemplateName;
tplSelect.appendChild(opt);
});
})
.catch(err => {
console.error('템플릿 API 오류:', err);
tplSelect.innerHTML = '<option value="">API 오류: ' + err.message + '</option>';
});
}