@@ -8,11 +8,25 @@ type VisitDataType = {
8
8
unloadDate ?: string ;
9
9
} ;
10
10
11
- type MessageType = '01' | '02' | '03' | '04' | '99' ;
12
-
13
- export const trackUserEvent = ( event_type : MessageType ) => {
14
- const { pathname : path } = window . location ;
15
- instance ( '/event' , { body : { path, event_type } , method : 'POST' } ) ;
11
+ export const MessageEnum = {
12
+ LOGIN : '11' ,
13
+ NAVIGATE : '12' ,
14
+ LOGOUT : '13' ,
15
+ SECTION_INTERACT_MAIN : '21' ,
16
+ SORT_INTERACT_MAIN : '22' ,
17
+ REFRESH_INTERACT_MAIN : '23' ,
18
+ SORT_INTERACT_BOARD : '31' ,
19
+ UNKNOWON : '99' ,
20
+ } as const ;
21
+ const EVENT_LOG = process . env . NEXT_PUBLIC_EVENT_LOG ;
22
+ if ( EVENT_LOG === undefined ) {
23
+ throw new Error ( 'EVENT_LOG가 ENV에서 설정되지 않았습니다.' ) ;
24
+ }
25
+
26
+ export const trackUserEvent = ( event_type : keyof typeof MessageEnum ) => {
27
+ if ( EVENT_LOG === 'true' ) {
28
+ instance ( '/event' , { body : { eventType : event_type } , method : 'POST' } ) ;
29
+ }
16
30
} ;
17
31
18
32
export const TrackVisitEvent = ( ) => {
@@ -22,22 +36,19 @@ export const TrackVisitEvent = () => {
22
36
} ) ;
23
37
24
38
const setUnloadData = ( ) => {
25
- data . current = {
26
- ...data . current ,
27
- unloadDate : new Date ( ) . toISOString ( ) ,
28
- } ;
39
+ data . current = { ...data . current , unloadDate : new Date ( ) . toISOString ( ) } ;
29
40
instance ( '/stay' , { body : data . current , method : 'POST' , keepalive : true } ) ;
30
41
} ;
31
42
32
43
useEffect ( ( ) => {
33
44
// 페이지 로드 시 시간 기록
34
45
data . current . loadDate = new Date ( ) . toISOString ( ) ;
35
- if ( process . env . NODE_ENV === 'production' ) {
46
+ if ( process . env . NODE_ENV === 'production' && EVENT_LOG === 'true' ) {
36
47
window . addEventListener ( 'unload' , setUnloadData ) ;
37
48
}
38
49
39
50
return ( ) => {
40
- if ( process . env . NODE_ENV === 'production' ) {
51
+ if ( process . env . NODE_ENV === 'production' && EVENT_LOG === 'true' ) {
41
52
window . removeEventListener ( 'unload' , setUnloadData ) ;
42
53
}
43
54
} ;
0 commit comments