Merge branch 'passport' of gitea.51mars.com:Oak-Team/oak-general-business into passport
This commit is contained in:
commit
1e83328323
|
|
@ -3,42 +3,10 @@ import { EntityDict } from '../../oak-app-domain';
|
|||
import { BRC } from '../../types/RuntimeCxt';
|
||||
import Email, { EmailOptions } from '../../types/Email';
|
||||
|
||||
import Nodemailer from './node-mailer';
|
||||
|
||||
const EmailDict: Record<string, any> = {
|
||||
nodemailer: Nodemailer,
|
||||
};
|
||||
|
||||
/**
|
||||
* 注入一个其它发送邮件类
|
||||
* @param clazz
|
||||
*/
|
||||
export function registEmail<ED extends EntityDict>(clazz: new () => Email<ED>) {
|
||||
const instance = new clazz();
|
||||
EmailDict[instance.name] = instance;
|
||||
}
|
||||
|
||||
export function getEmail<ED extends EntityDict>(origin: string) {
|
||||
assert(EmailDict.hasOwnProperty(origin));
|
||||
return EmailDict[origin] as Email<ED>;
|
||||
}
|
||||
|
||||
export function getOrigin() {
|
||||
return Object.keys(EmailDict);
|
||||
}
|
||||
|
||||
export async function sendEmail<ED extends EntityDict>(
|
||||
options: EmailOptions,
|
||||
context: BRC<ED>
|
||||
) {
|
||||
try {
|
||||
const instance = getEmail<ED>('nodemailer');
|
||||
const result = await instance.sendEmail(options, context);
|
||||
return result;
|
||||
} catch (err) {
|
||||
return {
|
||||
success: false,
|
||||
res: err,
|
||||
};
|
||||
}
|
||||
}
|
||||
const { text, html } = options;
|
||||
console.log('邮件内容:', html || text);
|
||||
}
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
import { assert } from 'oak-domain/lib/utils/assert';
|
||||
import { EntityDict } from '../../oak-app-domain';
|
||||
import { BRC } from '../../types/RuntimeCxt';
|
||||
import Email, { EmailOptions } from '../../types/Email';
|
||||
|
||||
const EmailDict: Record<string, any> = {};
|
||||
|
||||
/**
|
||||
* 注入一个其它发送邮件类
|
||||
* @param clazz
|
||||
*/
|
||||
export function registEmail<ED extends EntityDict>(clazz: new () => Email<ED>) {
|
||||
const instance = new clazz();
|
||||
EmailDict[instance.name] = instance;
|
||||
}
|
||||
|
||||
export function getEmail<ED extends EntityDict>(origin: string) {
|
||||
assert(EmailDict.hasOwnProperty(origin));
|
||||
return EmailDict[origin] as Email<ED>;
|
||||
}
|
||||
|
||||
export function getOrigin() {
|
||||
return Object.keys(EmailDict);
|
||||
}
|
||||
|
||||
export async function sendEmail<ED extends EntityDict>(
|
||||
options: EmailOptions,
|
||||
context: BRC<ED>
|
||||
) {
|
||||
console.log('前后模式下,前端无需发送邮件')
|
||||
}
|
||||
|
|
@ -5,7 +5,6 @@ import Email, { EmailOptions } from '../../types/Email';
|
|||
|
||||
import Nodemailer from './node-mailer';
|
||||
|
||||
// 邮箱发送先直接注入nodemailer 后面要注入自己的邮件发送逻辑再说 by wkj
|
||||
const EmailDict: Record<string, any> = {
|
||||
nodemailer: Nodemailer,
|
||||
};
|
||||
|
|
@ -14,7 +13,7 @@ const EmailDict: Record<string, any> = {
|
|||
* 注入一个其它发送邮件类
|
||||
* @param clazz
|
||||
*/
|
||||
export function registEmail<ED extends EntityDict>(clazz: new () => Email<ED>) {
|
||||
export function registerEmail<ED extends EntityDict>(clazz: new () => Email<ED>) {
|
||||
const instance = new clazz();
|
||||
EmailDict[instance.name] = instance;
|
||||
}
|
||||
|
|
@ -36,10 +35,10 @@ export async function sendEmail<ED extends EntityDict>(
|
|||
const instance = getEmail<ED>('nodemailer');
|
||||
const result = await instance.sendEmail(options, context);
|
||||
return result;
|
||||
} catch (err: any) {
|
||||
} catch (err) {
|
||||
return {
|
||||
success: false,
|
||||
error: err?.message,
|
||||
error: err,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue