refactor:优化 mail 邮箱的实现

This commit is contained in:
YunaiV
2025-04-04 17:45:56 +08:00
parent c03845ba99
commit a59c3bed8a
13 changed files with 267 additions and 418 deletions

View File

@@ -3,8 +3,8 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace SystemMailAccountApi {
/** 邮箱信息 */
export interface MailAccount {
/** 邮箱账号 */
export interface SystemMailAccount {
id: number;
mail: string;
username: string;
@@ -18,10 +18,10 @@ export namespace SystemMailAccountApi {
remark: string;
}
}
// TODO @puhui999改成 function 风格;不用 await
/** 查询邮箱账号列表 */
export const getMailAccountPage = async (params: PageParam) => {
return await requestClient.get<PageResult<SystemMailAccountApi.MailAccount>>(
return await requestClient.get<PageResult<SystemMailAccountApi.SystemMailAccount>>(
'/system/mail-account/page',
{ params },
);
@@ -29,51 +29,25 @@ export const getMailAccountPage = async (params: PageParam) => {
/** 查询邮箱账号详情 */
export const getMailAccount = async (id: number) => {
return await requestClient.get<SystemMailAccountApi.MailAccount>(
'/system/mail-account/get',
{
params: { id },
},
);
return await requestClient.get<SystemMailAccountApi.SystemMailAccount>(`/system/mail-account/get?id=${id}`);
};
/** 新增邮箱账号 */
export const createMailAccount = async (
data: SystemMailAccountApi.MailAccount,
) => {
return await requestClient.post<SystemMailAccountApi.MailAccount>(
'/system/mail-account/create',
data,
);
export const createMailAccount = async (data: SystemMailAccountApi.SystemMailAccount) => {
return await requestClient.post<SystemMailAccountApi.SystemMailAccount>('/system/mail-account/create', data);
};
/** 修改邮箱账号 */
export const updateMailAccount = async (
data: SystemMailAccountApi.MailAccount,
) => {
return await requestClient.put<SystemMailAccountApi.MailAccount>(
'/system/mail-account/update',
data,
);
export const updateMailAccount = async (data: SystemMailAccountApi.SystemMailAccount) => {
return await requestClient.put<SystemMailAccountApi.SystemMailAccount>('/system/mail-account/update', data);
};
/** 删除邮箱账号 */
export const deleteMailAccount = async (id: number) => {
return await requestClient.delete<boolean>('/system/mail-account/delete', {
params: { id },
});
return await requestClient.delete<boolean>(`/system/mail-account/delete?id=${id}`);
};
/** 获得邮箱账号精简列表 */
export const getSimpleMailAccountList = async () => {
return await requestClient.get<SystemMailAccountApi.MailAccount[]>(
'/system/mail-account/simple-list',
);
};
/** 测试邮箱连接 */
export const testMailAccount = async (id: number) => {
return await requestClient.post<boolean>('/system/mail-account/test', null, {
params: { id },
});
return await requestClient.get<SystemMailAccountApi.SystemMailAccount[]>('/system/mail-account/simple-list');
};

View File

@@ -4,7 +4,7 @@ import { requestClient } from '#/api/request';
export namespace SystemMailLogApi {
/** 邮件日志 */
export interface MailLog {
export interface SystemMailLog {
id: number;
userId: number;
userType: number;
@@ -24,35 +24,21 @@ export namespace SystemMailLogApi {
createTime: string;
}
}
// TODO @puhui999改成 function 风格;不用 await
/** 查询邮件日志列表 */
export const getMailLogPage = async (params: PageParam) => {
return await requestClient.get<PageResult<SystemMailLogApi.MailLog>>(
return await requestClient.get<PageResult<SystemMailLogApi.SystemMailLog>>(
'/system/mail-log/page',
{ params },
{ params }
);
};
/** 查询邮件日志详情 */
export const getMailLog = async (id: number) => {
return await requestClient.get<SystemMailLogApi.MailLog>(
'/system/mail-log/get',
{
params: { id },
},
);
return await requestClient.get<SystemMailLogApi.SystemMailLog>(`/system/mail-log/get?${id}`);
};
/** 重新发送邮件 */
export const resendMail = async (id: number) => {
return await requestClient.put<boolean>('/system/mail-log/resend', null, {
params: { id },
});
};
/** 批量删除邮件日志 */
export const deleteMailLogs = async (ids: number[]) => {
return await requestClient.delete<boolean>('/system/mail-log/delete', {
data: { ids },
});
return await requestClient.put<boolean>(`/system/mail-log/resend?id=${id}`);
};

View File

@@ -4,7 +4,7 @@ import { requestClient } from '#/api/request';
export namespace SystemMailTemplateApi {
/** 邮件模版信息 */
export interface MailTemplate {
export interface SystemMailTemplate {
id: number;
name: string;
code: string;
@@ -19,61 +19,42 @@ export namespace SystemMailTemplateApi {
}
/** 邮件发送信息 */
export interface MailSendReq {
export interface MailSendReqVO {
mail: string;
templateCode: string;
templateParams: Record<string, any>;
}
}
// TODO @puhui999改成 function 风格;不用 await
/** 查询邮件模版列表 */
export const getMailTemplatePage = async (params: PageParam) => {
return await requestClient.get<
PageResult<SystemMailTemplateApi.MailTemplate>
>('/system/mail-template/page', { params });
return await requestClient.get<PageResult<SystemMailTemplateApi.SystemMailTemplate>>(
'/system/mail-template/page',
{ params }
);
};
/** 查询邮件模版详情 */
export const getMailTemplate = async (id: number) => {
return await requestClient.get<SystemMailTemplateApi.MailTemplate>(
'/system/mail-template/get',
{
params: { id },
},
);
return await requestClient.get<SystemMailTemplateApi.SystemMailTemplate>(`/system/mail-template/get?id=${id}`);
};
/** 新增邮件模版 */
export const createMailTemplate = async (
data: SystemMailTemplateApi.MailTemplate,
) => {
return await requestClient.post<SystemMailTemplateApi.MailTemplate>(
'/system/mail-template/create',
data,
);
export const createMailTemplate = async (data: SystemMailTemplateApi.SystemMailTemplate) => {
return await requestClient.post<SystemMailTemplateApi.SystemMailTemplate>('/system/mail-template/create', data);
};
/** 修改邮件模版 */
export const updateMailTemplate = async (
data: SystemMailTemplateApi.MailTemplate,
) => {
return await requestClient.put<SystemMailTemplateApi.MailTemplate>(
'/system/mail-template/update',
data,
);
export const updateMailTemplate = async (data: SystemMailTemplateApi.SystemMailTemplate) => {
return await requestClient.put<SystemMailTemplateApi.SystemMailTemplate>('/system/mail-template/update', data);
};
/** 删除邮件模版 */
export const deleteMailTemplate = async (id: number) => {
return await requestClient.delete<boolean>('/system/mail-template/delete', {
params: { id },
});
return await requestClient.delete<boolean>(`/system/mail-template/delete?id=${id}`);
};
/** 发送邮件 */
export const sendMail = async (data: SystemMailTemplateApi.MailSendReq) => {
return await requestClient.post<boolean>(
'/system/mail-template/send-mail',
data,
);
export const sendMail = async (data: SystemMailTemplateApi.MailSendReqVO) => {
return await requestClient.post<boolean>('/system/mail-template/send-mail', data);
};