26 lines
976 B
JavaScript
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);
|