v1.3.4: 통계 확장(체류·스크롤·실시간 접속자)

- 031 마이그레이션: 체류·스크롤 집계, analytics_active_sessions
- heartbeat API, 관리자 realtime API, 클라이언트 heartbeat
- 대시보드: 현재 접속자 목록(로그인 닉네임·아바타), 참여 지표
This commit is contained in:
2026-05-20 12:26:39 +09:00
parent 3623305119
commit abb77dbb4d
13 changed files with 935 additions and 53 deletions

View File

@@ -0,0 +1,27 @@
import { requireAdminSession } from '../../../../utils/admin-auth.js'
import {
getAnalyticsActiveSessions,
getAnalyticsRealtimeSummary
} from '../../../../repositories/analytics-repository.js'
/**
* 관리자 실시간 접속 통계 API
* @param {import('h3').H3Event} event - 요청 이벤트
* @returns {Promise<Object>} 실시간 요약·접속자 목록
*/
export default defineEventHandler(async (event) => {
requireAdminSession(event)
const query = getQuery(event)
const limit = Number(query.limit) || 20
const [summary, sessions] = await Promise.all([
getAnalyticsRealtimeSummary(),
getAnalyticsActiveSessions({ limit })
])
return {
summary,
sessions
}
})