UNPKG

mychips-react-sdk

Version:
118 lines 3.39 kB
import AsyncStorage from '@react-native-async-storage/async-storage'; export class UserService { static USER_ID_KEY = 'user_id'; static ADVERTISING_ID_KEY = 'advertising_id'; static GENDER_KEY = 'gender'; static AGE_KEY = 'age'; static EMAIL_KEY = 'email'; static CURRENCY_KEY = 'partner_virtual_currency'; async setId(userId) { try { await AsyncStorage.setItem(UserService.USER_ID_KEY, userId); } catch (error) { console.error('Failed to set user ID', error); } } async getOrCreateId() { try { let userId = await AsyncStorage.getItem(UserService.USER_ID_KEY); if (!userId) { userId = this.generateUUID(); await this.setId(userId); } return userId; } catch (error) { console.error('Failed to get or create user ID', error); throw error; } } async setAdvertisingId(advertisingId) { try { await AsyncStorage.setItem(UserService.ADVERTISING_ID_KEY, advertisingId); } catch (error) { console.error('Failed to set advertising ID', error); } } async getAdvertisingId() { try { const advertisingId = await AsyncStorage.getItem(UserService.ADVERTISING_ID_KEY); return advertisingId || ''; } catch (error) { console.error('Failed to get advertising ID', error); return ''; } } async setAge(age) { try { await AsyncStorage.setItem(UserService.AGE_KEY, age.toString()); } catch (error) { console.error('Failed to set age', error); } } async getAge() { try { const age = await AsyncStorage.getItem(UserService.AGE_KEY); return age ? parseInt(age, 10) : -1; } catch (error) { console.error('Failed to get age', error); return -1; } } async setGender(gender) { try { await AsyncStorage.setItem(UserService.GENDER_KEY, gender.toString()); } catch (error) { console.error('Failed to set gender', error); } } async getGender() { try { const gender = await AsyncStorage.getItem(UserService.GENDER_KEY); return gender || ''; } catch (error) { console.error('Failed to get gender', error); return ''; } } async setEmail(email) { try { await AsyncStorage.setItem(UserService.EMAIL_KEY, email); } catch (error) { console.error('Failed to set email', error); } } async getEmail() { try { const email = await AsyncStorage.getItem(UserService.EMAIL_KEY); return email || ''; } catch (error) { console.error('Failed to get email', error); return ''; } } async setCurrentTotalCurrency(vc) { try { await AsyncStorage.setItem(UserService.CURRENCY_KEY, vc.toString()); } catch (error) { console.error('Failed to set currency', error); } } async getCurrentTotalCurrency() { try { const currency = await AsyncStorage.getItem(UserService.CURRENCY_KEY); return currency ? parseFloat(currency) : -1; } catch (error) { console.error('Failed to get currency', error); return -1; } } generateUUID() { // Generate a simple UUID return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { const r = Math.random() * 16 | 0; const v = c === 'x' ? r : r & 0x3 | 0x8; return v.toString(16); }); } } //# sourceMappingURL=UserService.js.map