Merge branch 'passport' of gitea.51mars.com:Oak-Team/oak-general-business into passport

This commit is contained in:
Xu Chang 2024-08-28 12:21:13 +08:00
commit 1e83328323
3 changed files with 7 additions and 71 deletions

View File

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

View File

@ -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('前后模式下,前端无需发送邮件')
}

View File

@ -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,
};
}
}
}