@@ -39,28 +39,39 @@ export class StorageUtil {
3939 static readonly previousPageStartTimeKey =
4040 this . prefix + 'previousPageStartTimeKey' ;
4141 static readonly userIdMappingKey = this . prefix + 'userIdMappingKey' ;
42+ private static deviceId = '' ;
43+ private static userUniqueId = '' ;
4244
4345 static getDeviceId ( ) : string {
44- let deviceId = localStorage . getItem ( StorageUtil . deviceIdKey ) ?? '' ;
45- if ( deviceId === '' ) {
46+ if ( StorageUtil . deviceId !== '' ) {
47+ return StorageUtil . deviceId ;
48+ }
49+ let deviceId = localStorage . getItem ( StorageUtil . deviceIdKey ) ;
50+ if ( deviceId === null ) {
4651 deviceId = uuidV4 ( ) ;
4752 localStorage . setItem ( StorageUtil . deviceIdKey , deviceId ) ;
4853 }
54+ StorageUtil . deviceId = deviceId ;
4955 return deviceId ;
5056 }
5157
5258 static setCurrentUserUniqueId ( userUniqueId : string ) {
59+ StorageUtil . userUniqueId = userUniqueId ;
5360 localStorage . setItem ( StorageUtil . userUniqueIdKey , userUniqueId ) ;
5461 }
5562
5663 static getCurrentUserUniqueId ( ) : string {
57- let userUniqueId = localStorage . getItem ( StorageUtil . userUniqueIdKey ) ?? '' ;
58- if ( userUniqueId === '' ) {
64+ if ( StorageUtil . userUniqueId !== '' ) {
65+ return StorageUtil . userUniqueId ;
66+ }
67+ let userUniqueId = localStorage . getItem ( StorageUtil . userUniqueIdKey ) ;
68+ if ( userUniqueId === null ) {
5969 userUniqueId = uuidV4 ( ) ;
6070 StorageUtil . setCurrentUserUniqueId ( userUniqueId ) ;
6171 localStorage . setItem ( StorageUtil . userUniqueIdKey , userUniqueId ) ;
6272 StorageUtil . saveUserFirstTouchTimestamp ( ) ;
6373 }
74+ StorageUtil . userUniqueId = userUniqueId ;
6475 return userUniqueId ;
6576 }
6677
@@ -293,4 +304,40 @@ export class StorageUtil {
293304 timestamp . toString ( )
294305 ) ;
295306 }
307+
308+ static checkDeviceId ( ) {
309+ const currentDeviceId = localStorage . getItem ( StorageUtil . deviceIdKey ) ?? '' ;
310+ if ( StorageUtil . deviceId !== '' && currentDeviceId === '' ) {
311+ localStorage . setItem ( StorageUtil . deviceIdKey , StorageUtil . deviceId ) ;
312+ }
313+ }
314+
315+ static checkUserUniqueId ( ) {
316+ const currentUserUniqueId =
317+ localStorage . getItem ( StorageUtil . userUniqueIdKey ) ?? '' ;
318+ if ( StorageUtil . userUniqueId !== '' && currentUserUniqueId === '' ) {
319+ localStorage . setItem (
320+ StorageUtil . userUniqueIdKey ,
321+ StorageUtil . userUniqueId
322+ ) ;
323+ }
324+ }
325+
326+ static checkIsFirstOpen ( ) {
327+ if ( StorageUtil . getIsFirstOpen ( ) ) {
328+ StorageUtil . saveIsFirstOpenToFalse ( ) ;
329+ }
330+ }
331+
332+ static checkClickstreamId ( ) {
333+ StorageUtil . checkDeviceId ( ) ;
334+ StorageUtil . checkUserUniqueId ( ) ;
335+ StorageUtil . checkIsFirstOpen ( ) ;
336+ }
337+
338+ static clearAll ( ) {
339+ localStorage . clear ( ) ;
340+ ( StorageUtil as any ) . deviceid = '' ;
341+ ( StorageUtil as any ) . userUniqueId = '' ;
342+ }
296343}
0 commit comments