perf: 邮箱设置改为系统设置,普通用户无需配置发件邮箱

This commit is contained in:
xiaojunnuo
2024-10-11 02:54:42 +08:00
parent f23c4af2ad
commit 4244569211
16 changed files with 130 additions and 86 deletions
@@ -1,10 +1,11 @@
import { ALL, Body, Controller, Inject, Post, Provide, Query } from '@midwayjs/core';
import { CrudController } from '@certd/lib-server';
import { CrudController, SysEmailConf } from '@certd/lib-server';
import { SysSettingsService } from '@certd/lib-server';
import { SysSettingsEntity } from '../entity/sys-settings.js';
import { SysPublicSettings } from '@certd/lib-server';
import * as _ from 'lodash-es';
import { PipelineService } from '../../../pipeline/service/pipeline-service.js';
import { UserSettingsService } from '../../../mine/service/user-settings-service.js';
/**
*/
@@ -14,6 +15,8 @@ export class SysSettingsController extends CrudController<SysSettingsService> {
@Inject()
service: SysSettingsService;
@Inject()
userSettingsService: UserSettingsService;
@Inject()
pipelineService: PipelineService;
getService() {
@@ -68,6 +71,22 @@ export class SysSettingsController extends CrudController<SysSettingsService> {
return this.ok(entity);
}
// savePublicSettings
@Post('/getEmailSettings', { summary: 'sys:settings:edit' })
async getEmailSettings(@Body(ALL) body) {
let conf = await this.service.getSetting<SysEmailConf>(SysEmailConf);
if (!conf.host && conf.usePlus != null) {
//到userSetting里面去找
const adminEmailSetting = await this.userSettingsService.getByKey('email', 1);
if (adminEmailSetting) {
const setting = JSON.parse(adminEmailSetting.setting);
conf = _.merge(conf, setting);
await this.service.saveSetting(conf);
}
}
return this.ok(conf);
}
// savePublicSettings
@Post('/savePublicSettings', { summary: 'sys:settings:edit' })
async savePublicSettings(@Body(ALL) body) {