import { assert } from "oak-domain/lib/utils/assert"; import { wechatMpHandler } from './wechatMp'; import { wechatPublicHandler } from './wechatPublic'; import { smsHandler } from './sms'; import { emailHandler } from './email'; export const ConverterDict = {}; export function registerMessageNotificationConverters(converter) { Object.keys(converter).forEach(key => { ConverterDict[key] = converter[key]; }); } const messageHandlers = {}; export function registerMessageHandler(channel, handler) { messageHandlers[channel] = handler; } export function getMessageHandler(channel) { const handler = messageHandlers[channel]; assert(handler, `消息渠道 ${channel} 的处理器未注册`); return handler; } // 默认注册所有处理器 registerMessageHandler('wechatMp', wechatMpHandler); registerMessageHandler('wechatPublic', wechatPublicHandler); registerMessageHandler('sms', smsHandler); registerMessageHandler('email', emailHandler);