itsm_ysm/deploy/static/mobile-app.html
itms-merge-dev 4fae61105c ci(itms): 운영 nginx vhost(itms.wise.ai.kr) + 통합앱 QR 페이지(/mobile-app) 아티팩트
- 운영 리버스 프록시 템플릿(RHEL conf.d, certbot 개별 발급 안내)
- dev/prod 공용 /mobile-app QR 페이지(중앙 ITSM APK 저장소 읽기전용 재사용)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:50:21 +09:00

63 lines
3.2 KiB
HTML

<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>GUARDiA Messenger 앱 다운로드 — ITMS</title>
<style>
:root { --bg:#0f1420; --card:#182031; --ink:#e8edf6; --sub:#9fb0c8; --accent:#11c3ff; --line:#26324a; }
* { box-sizing:border-box; }
body { margin:0; font-family:"Pretendard","Malgun Gothic",system-ui,sans-serif; background:var(--bg); color:var(--ink);
min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:16px; max-width:420px; width:100%;
padding:32px 28px; text-align:center; box-shadow:0 8px 40px rgba(0,0,0,.35); }
h1 { font-size:20px; margin:0 0 4px; }
.app { font-size:15px; color:var(--accent); font-weight:600; margin-bottom:20px; }
.qr { background:#fff; border-radius:12px; padding:14px; display:inline-block; min-height:180px; min-width:180px; }
.qr img { width:180px; height:180px; display:block; }
.meta { margin:18px 0 8px; color:var(--sub); font-size:13px; line-height:1.7; }
.meta b { color:var(--ink); }
.btn { display:inline-block; margin-top:16px; padding:12px 22px; background:var(--accent); color:#04141c;
font-weight:700; text-decoration:none; border-radius:10px; font-size:15px; }
.note { margin-top:18px; font-size:11.5px; color:var(--sub); line-height:1.6; }
.err { color:#ff7a7a; font-size:13px; }
</style>
</head>
<body>
<div class="card">
<h1>모바일 앱 다운로드</h1>
<div class="app">GUARDiA Messenger</div>
<div class="qr" id="qrbox"><span class="err" style="color:#888">불러오는 중…</span></div>
<div class="meta" id="meta"></div>
<a class="btn" id="dl" href="#" style="display:none">APK 다운로드</a>
<div class="note">
Android 기기에서 QR을 스캔하거나 버튼으로 APK를 내려받아 설치하세요.<br>
본 페이지는 GUARDiA 중앙 앱 저장소(ITSM)의 최신 배포를 읽기 전용으로 표시합니다.
</div>
</div>
<script>
// 중앙 ITSM 공개 엔드포인트(인증 불필요·CORS 허용)에서 최신 APK 정보 조회
var CENTRAL = "https://itsm.zioinfo.co.kr/api/app/public-latest";
fetch(CENTRAL, { cache: "no-store" })
.then(function(r){ return r.json(); })
.then(function(d){
if (!d || !d.has_version) { throw new Error("no version"); }
var qrbox = document.getElementById("qrbox");
qrbox.innerHTML = "";
var img = new Image(); img.src = d.qr_url; img.alt = "APK QR";
img.onerror = function(){ qrbox.innerHTML = '<span class="err">QR 이미지를 불러올 수 없습니다</span>'; };
qrbox.appendChild(img);
document.getElementById("meta").innerHTML =
"<b>" + (d.app_name||"") + "</b> v" + (d.version||"") + "<br>" +
(d.platform||"") + " · " + (d.file_size_mb||"?") + " MB";
var dl = document.getElementById("dl");
dl.href = d.download_url; dl.style.display = "inline-block";
})
.catch(function(e){
document.getElementById("qrbox").innerHTML =
'<span class="err">앱 정보를 불러올 수 없습니다.<br>잠시 후 다시 시도하세요.</span>';
});
</script>
</body>
</html>