UNPKG

house-middleware-sdk

Version:

58 hosue rn native sdk

49 lines (36 loc) 1.51 kB
/* * @method 消息红点注册监听 * @param callback */ import { Platform, NativeModules, DeviceEventEmitter, NativeEventEmitter } from 'react-native'; export function addMessageInfoListener(callback) { require("../utils/findImpl").default(() => wbMessageInfo(callback), () => ajkMessageInfo(callback)); } function wbMessageInfo(callback) { let emitter = Platform.OS === 'android' ? DeviceEventEmitter : new NativeEventEmitter(NativeModules.HSIMEventEmitter); emitter.addListener('newMsg', (data) => { callback && callback(data); }) } function ajkMessageInfo(callback) { DeviceEventEmitter.addListener('newMsg', (data) => { callback && callback({ unread: data }); }); } export function removeMessageInfoListener() { DeviceEventEmitter.removeAllListeners('newMsg'); } export function registerIMMessageListener() { require("../utils/findImpl").default(() => registerUnreadWbImpl(), () => registerUnreadAjkImpl()); } function registerUnreadWbImpl() { if (Platform.OS === 'android') { NativeModules.HSMsgCenterModule && NativeModules.HSMsgCenterModule.registerMsgLister && NativeModules.HSMsgCenterModule.registerMsgLister();//目前参数没有使用 } else { NativeModules.HSMsgCenterModule && NativeModules.HSMsgCenterModule.registerMsgLister && NativeModules.HSMsgCenterModule.registerMsgLister(() => { });//iOS目前参数没有使用 } } function registerUnreadAjkImpl() { require("ajkapp").registerUnread(); }