UNPKG

react-native-tipilock

Version:

Install package

125 lines (100 loc) 3.71 kB
import { NativeModules, DeviceEventEmitter, NativeEventEmitter, Platform } from 'react-native'; const TipiLockModule = NativeModules.TipiLockModule; const TipiLockIOSEmitter = new NativeEventEmitter(TipiLockModule); let listener = {} const receiverLockDeviceScanEvent = "ScanLockDeviceEvent" const PlatformAndroid = "android" const PlatformIOS = "ios" export default class TipiLock { static init() { TipiLockModule.init() if (Platform.OS === PlatformAndroid) { TipiLockModule.startBleService() } } /** * Android Only */ static startBleService() { TipiLockModule.startBleService() } /** * Android Only */ static stopBleService() { TipiLockModule.stopBleService() } static startDeviceScan() { TipiLockModule.startDeviceScan() } static stopDeviceScan() { TipiLockModule.stopDeviceScan() } static lockInitialize(lockMac, callback) { TipiLockModule.lockInitialize(lockMac, callback) } static setLockTime(timestamp, lock, callback) { TipiLockModule.setLockTime(timestamp, JSON.stringify(lock), callback) } static getLockTime(lock, callback) { TipiLockModule.getLockTime(JSON.stringify(lock), callback) } static resetLock(lock, callback) { TipiLockModule.resetLock(JSON.stringify(lock), callback) } static unlockByAdministrator(lock, callback) { TipiLockModule.unlockByAdministrator(JSON.stringify(lock), callback) } static unlockByUser(lock, callback) { TipiLockModule.unlockByUser(JSON.stringify(lock), callback) } static getOperateLog(lock, callback) { TipiLockModule.getOperateLog(JSON.stringify(lock), callback) } static addPeriodKeyboardPassword(pin, startTimestamp, endTimestamp, lock, callback) { TipiLockModule.addPeriodKeyboardPassword(startTimestamp, endTimestamp, pin, JSON.stringify(lock), callback) } static modifyKeyboardPassword(oldPin, newPin, startTimestamp, endTimestamp, lock, callback) { TipiLockModule.modifyKeyboardPassword(oldPin, newPin, startTimestamp, endTimestamp, JSON.stringify(lock), callback) } static deleteOneKeyboardPassword(pin, lock, callback) { TipiLockModule.deleteOneKeyboardPassword(pin, JSON.stringify(lock), callback) } static resetKeyboardPassword(lock, callback) { TipiLockModule.resetKeyboardPassword(JSON.stringify(lock), callback) } static setAdminKeyboardPassword(pin, lock, callback) { TipiLockModule.setAdminKeyboardPassword(pin, JSON.stringify(lock), callback) } static operateAudioSwitch(operateType, state, lock, callback) { TipiLockModule.operateAudioSwitch(operateType, state, pin, JSON.stringify(lock), callback) } static getAudioState(lock, callback) { TipiLockModule.operateAudioSwitch(1, 1, pin, JSON.stringify(lock), callback) } static setAudioState(state, lock, callback) { TipiLockModule.operateAudioSwitch(2, state, pin, JSON.stringify(lock), callback) } static addReceiveScanDeviceListener(callback) { if (Platform.OS === PlatformIOS) { listener = TipiLockIOSEmitter.addListener(receiverLockDeviceScanEvent, lockItemMap => { callback(lockItemMap) }) } else { listener = DeviceEventEmitter.addListener(receiverLockDeviceScanEvent, lockItemMap => { callback(lockItemMap) }) } } static removeReceiveScanDeviceListener() { if (listener != null) { listener.remove } listener = null; } }