react-native-tipilock
Version:
Install package
125 lines (100 loc) • 3.71 kB
JavaScript
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;
}
}