perf: 邮箱支持保存和选择

This commit is contained in:
xiaojunnuo
2025-05-31 00:45:54 +08:00
parent 81282a9c88
commit f7b0b44ef6
10 changed files with 171 additions and 8 deletions
@@ -10,6 +10,7 @@ import { SendMailOptions } from 'nodemailer';
import { UserSettingsService } from '../../mine/service/user-settings-service.js';
import { PlusService, SysSettingsService, SysSiteInfo } from '@certd/lib-server';
import { getEmailSettings } from '../../sys/settings/fix.js';
import { UserEmailSetting } from "../../mine/service/models.js";
export type EmailConfig = {
host: string;
@@ -108,4 +109,24 @@ export class EmailService implements IEmailService {
content: '测试邮件,from certd',
});
}
async list(userId: any) {
const userEmailSetting = await this.settingsService.getSetting<UserEmailSetting>(userId,UserEmailSetting)
return userEmailSetting.list;
}
async delete(userId: any, email: string) {
const userEmailSetting = await this.settingsService.getSetting<UserEmailSetting>(userId,UserEmailSetting)
userEmailSetting.list = userEmailSetting.list.filter(item=>item !== email);
await this.settingsService.saveSetting(userId,userEmailSetting)
}
async add(userId: any, email: string) {
const userEmailSetting = await this.settingsService.getSetting<UserEmailSetting>(userId,UserEmailSetting)
//如果已存在
if(userEmailSetting.list.includes(email)){
return
}
userEmailSetting.list.unshift(email)
await this.settingsService.saveSetting(userId,userEmailSetting)
}
}