import {reduxTools} from '@yoronsoft/js-utils'; import { getBuildNumber, getBundleId, getCarrier, getManufacturer, getSystemName, getUniqueId, getUserAgent, getVersion, isTablet } from "react-native-device-info"; import {IDeviceInfo} from "./deviceInfo"; import {getConfigName} from "../config"; /** * deviceInfo 数据 */ const appDeviceInfoCarrier = `${getConfigName}_deviceInfo-carrier`; const appDeviceInfoUniqueId = `${getConfigName}_deviceInfo-uniqueId`; const appDeviceInfoManufacturer = `${getConfigName}_deviceInfo-manufacturer`; const appDeviceInfoUserAgent = `${getConfigName}_deviceInfo-userAgent`; const deviceInfo: IDeviceInfo = { build: getBuildNumber(), version: getVersion(), bundleId: getBundleId(), systemName: getSystemName(), hasTablet: isTablet(), getCarrier: function (): string { return reduxTools.get(appDeviceInfoCarrier) }, getUniqueId: function (): string { return reduxTools.get(appDeviceInfoUniqueId) }, getManufacturer: function (): string { return reduxTools.get(appDeviceInfoManufacturer) }, getUserAgent: function (): string { return reduxTools.get(appDeviceInfoUserAgent) }, init: function (): void { getCarrier().then(res => reduxTools.create(appDeviceInfoCarrier, res)); getUniqueId().then(res => reduxTools.create(appDeviceInfoUniqueId, res)); getManufacturer().then(res => reduxTools.create(appDeviceInfoManufacturer, res)); getUserAgent().then(res => reduxTools.create(appDeviceInfoUserAgent, res)); } } export default deviceInfo