oak-general-business/es/utils/message/index.js

26 lines
976 B
JavaScript

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);