mirror of
https://github.com/certd/certd.git
synced 2026-08-10 00:55:51 +08:00
chore: email template优化
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
import { AddonInput, BaseAddon } from "@certd/lib-server";
|
||||
import { get } from "lodash-es";
|
||||
import { BuildContentReq, EmailContent, ITemplateProvider } from "../api.js";
|
||||
|
||||
export class BaseEmailTemplateProvider extends BaseAddon implements ITemplateProvider<EmailContent> {
|
||||
@@ -9,10 +8,10 @@ export class BaseEmailTemplateProvider extends BaseAddon implements ITemplatePro
|
||||
name: "a-alert",
|
||||
props: {
|
||||
type: "info",
|
||||
message: "在标题和内容模版中,通过${param}引用参数,例如: 感谢注册${siteTitle},您的注册验证码为:${code}",
|
||||
message: "在标题和内容模版中,通过${name}引用参数,例如: 感谢注册,您的注册验证码为:${code}",
|
||||
}
|
||||
},
|
||||
order: 1,
|
||||
order: -9,
|
||||
col: { span: 24 },
|
||||
})
|
||||
useIntro = "";
|
||||
@@ -29,7 +28,7 @@ export class BaseEmailTemplateProvider extends BaseAddon implements ITemplatePro
|
||||
]
|
||||
}
|
||||
},
|
||||
order: 1,
|
||||
order: 9,
|
||||
col: { span: 24 },
|
||||
})
|
||||
formatType = "";
|
||||
@@ -80,13 +79,20 @@ export class BaseEmailTemplateProvider extends BaseAddon implements ITemplatePro
|
||||
throw new Error("请实现 buildDefaultContent 方法")
|
||||
}
|
||||
|
||||
compile(templateString: string) {
|
||||
return function (data: any): string {
|
||||
return templateString.replace(/\${(.*?)}/g, (match, key) => {
|
||||
const value = get(data, key, '');
|
||||
return String(value);
|
||||
});
|
||||
};
|
||||
// compile(templateString: string) {
|
||||
// return function (data: any): string {
|
||||
// return templateString.replace(/\${(.*?)}/g, (match, key) => {
|
||||
// const value = get(data, key?.trim(), '');
|
||||
// return String(value);
|
||||
// });
|
||||
// };
|
||||
// }
|
||||
|
||||
compile(templateString:string) {
|
||||
return new Function('data', ` with(data || {}) {
|
||||
return \`${templateString}\`;
|
||||
}
|
||||
`);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user