feat: 웹 안내페이지(앱전용)·회원가입 제한/봇차단·카드 인식 보정

- 웹(브라우저)은 안내 페이지만, 실제 이용은 앱(Capacitor). 개발모드는 예외
- 회원가입: 약관동의, 관리자 제한 토글, 진입부터 차단, 허니팟
- 카드 알림: pending 건 계좌종류 '카드' 기본선택(현금 X), 확인실패 시 HTTP 상태 표시
- 네이티브 알림필터: '카드' 키워드 제거+광고성 표현 차단
- docs/release-2026-06-06.md 정리

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ByungCheol
2026-06-06 00:16:50 +09:00
parent 4e6a89fd7a
commit c5e4c2dad7
12 changed files with 386 additions and 27 deletions
+7 -2
View File
@@ -39,10 +39,12 @@ async function loadPendingCount() {
async function confirmRow(e) {
try {
await accountApi.confirmEntry(e.id, {})
e.pending = false // UI 즉시 반영(목록 재로딩 전)
await load()
await loadPendingCount()
} catch (err) {
alert(err.response?.data?.message || '확인 처리에 실패했습니다.')
const st = err.response?.status
alert(err.response?.data?.message || `확인 처리에 실패했습니다.${st ? ' (HTTP ' + st + ')' : ' (네트워크 오류)'}`)
}
}
@@ -378,7 +380,10 @@ function openEdit(e) {
category: e.category || '',
amount: e.amount,
memo: e.memo || '',
walletKind: e.walletId ? walletKindOf(e.walletId) : (e.type === 'TRANSFER' ? '' : 'CASH'),
// 알림 자동인식(pending) 건은 카드 결제이므로 매칭 실패해도 '카드'로 기본 선택(현금 X)
walletKind: e.walletId
? walletKindOf(e.walletId)
: (e.pending ? 'CARD' : (e.type === 'TRANSFER' ? '' : 'CASH')),
walletId: e.walletId || '',
toWalletKind: walletKindOf(e.toWalletId),
toWalletId: e.toWalletId || '',