From 3d692a583da1178e015bd1b7b13a9dd35a88a8c6 Mon Sep 17 00:00:00 2001 From: puhui999 Date: Fri, 4 Apr 2025 12:54:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=82=AE=E7=AE=B1=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/system/mail/account/index.ts | 41 +++--- .../web-antd/src/api/system/mail/log/index.ts | 24 ++-- .../src/api/system/mail/template/index.ts | 37 ++--- .../src/views/system/mail/account/data.ts | 2 +- .../src/views/system/mail/account/index.vue | 10 +- .../system/mail/account/modules/form.vue | 6 +- .../src/views/system/mail/log/data.ts | 2 +- .../src/views/system/mail/log/index.vue | 8 +- .../views/system/mail/log/modules/form.vue | 132 ++++++++---------- .../src/views/system/mail/template/data.ts | 13 +- .../src/views/system/mail/template/index.vue | 10 +- .../system/mail/template/modules/form.vue | 6 +- .../mail/template/modules/send-form.vue | 13 +- 13 files changed, 150 insertions(+), 154 deletions(-) diff --git a/apps/web-antd/src/api/system/mail/account/index.ts b/apps/web-antd/src/api/system/mail/account/index.ts index 3c6c6dc26..505670294 100644 --- a/apps/web-antd/src/api/system/mail/account/index.ts +++ b/apps/web-antd/src/api/system/mail/account/index.ts @@ -1,10 +1,10 @@ -import type { PageResult } from '@vben/request'; +import type { PageParam, PageResult } from '@vben/request'; import { requestClient } from '#/api/request'; -// TODO @puhui999:代码风格的统一 export namespace SystemMailAccountApi { - export interface MailAccountVO { + /** 邮箱信息 */ + export interface MailAccount { id: number; mail: string; username: string; @@ -19,16 +19,17 @@ export namespace SystemMailAccountApi { } } -// 查询邮箱账号列表 -export const getMailAccountPage = async (params: any) => { - return await requestClient.get< - PageResult - >('/system/mail-account/page', { params }); +/** 查询邮箱账号列表 */ +export const getMailAccountPage = async (params: PageParam) => { + return await requestClient.get>( + '/system/mail-account/page', + { params }, + ); }; -// 查询邮箱账号详情 +/** 查询邮箱账号详情 */ export const getMailAccount = async (id: number) => { - return await requestClient.get( + return await requestClient.get( '/system/mail-account/get', { params: { id }, @@ -36,41 +37,41 @@ export const getMailAccount = async (id: number) => { ); }; -// 新增邮箱账号 +/** 新增邮箱账号 */ export const createMailAccount = async ( - data: SystemMailAccountApi.MailAccountVO, + data: SystemMailAccountApi.MailAccount, ) => { - return await requestClient.post( + return await requestClient.post( '/system/mail-account/create', data, ); }; -// 修改邮箱账号 +/** 修改邮箱账号 */ export const updateMailAccount = async ( - data: SystemMailAccountApi.MailAccountVO, + data: SystemMailAccountApi.MailAccount, ) => { - return await requestClient.put( + return await requestClient.put( '/system/mail-account/update', data, ); }; -// 删除邮箱账号 +/** 删除邮箱账号 */ export const deleteMailAccount = async (id: number) => { return await requestClient.delete('/system/mail-account/delete', { params: { id }, }); }; -// 获得邮箱账号精简列表 +/** 获得邮箱账号精简列表 */ export const getSimpleMailAccountList = async () => { - return await requestClient.get( + return await requestClient.get( '/system/mail-account/simple-list', ); }; -// 测试邮箱连接 +/** 测试邮箱连接 */ export const testMailAccount = async (id: number) => { return await requestClient.post('/system/mail-account/test', null, { params: { id }, diff --git a/apps/web-antd/src/api/system/mail/log/index.ts b/apps/web-antd/src/api/system/mail/log/index.ts index 97ef3154e..3e71d4edd 100644 --- a/apps/web-antd/src/api/system/mail/log/index.ts +++ b/apps/web-antd/src/api/system/mail/log/index.ts @@ -1,10 +1,10 @@ -import type { PageResult } from '@vben/request'; +import type { PageParam, PageResult } from '@vben/request'; import { requestClient } from '#/api/request'; -// TODO @puhui999:代码风格的统一 export namespace SystemMailLogApi { - export interface MailLogVO { + /** 邮件日志 */ + export interface MailLog { id: number; userId: number; userType: number; @@ -18,24 +18,24 @@ export namespace SystemMailLogApi { templateContent: string; templateParams: string; sendStatus: number; - sendTime: Date; + sendTime: string; sendMessageId: string; sendException: string; - createTime: Date; + createTime: string; } } -// 查询邮件日志列表 -export const getMailLogPage = async (params: any) => { - return await requestClient.get>( +/** 查询邮件日志列表 */ +export const getMailLogPage = async (params: PageParam) => { + return await requestClient.get>( '/system/mail-log/page', { params }, ); }; -// 查询邮件日志详情 +/** 查询邮件日志详情 */ export const getMailLog = async (id: number) => { - return await requestClient.get( + return await requestClient.get( '/system/mail-log/get', { params: { id }, @@ -43,14 +43,14 @@ export const getMailLog = async (id: number) => { ); }; -// 重新发送邮件 +/** 重新发送邮件 */ export const resendMail = async (id: number) => { return await requestClient.put('/system/mail-log/resend', null, { params: { id }, }); }; -// 批量删除邮件日志 +/** 批量删除邮件日志 */ export const deleteMailLogs = async (ids: number[]) => { return await requestClient.delete('/system/mail-log/delete', { data: { ids }, diff --git a/apps/web-antd/src/api/system/mail/template/index.ts b/apps/web-antd/src/api/system/mail/template/index.ts index 144b817d2..e87f5c38f 100644 --- a/apps/web-antd/src/api/system/mail/template/index.ts +++ b/apps/web-antd/src/api/system/mail/template/index.ts @@ -1,10 +1,10 @@ -import type { PageResult } from '@vben/request'; +import type { PageParam, PageResult } from '@vben/request'; import { requestClient } from '#/api/request'; -// TODO @puhui999:代码风格的统一 export namespace SystemMailTemplateApi { - export interface MailTemplateVO { + /** 邮件模版信息 */ + export interface MailTemplate { id: number; name: string; code: string; @@ -18,23 +18,24 @@ export namespace SystemMailTemplateApi { createTime: Date; } - export interface MailSendReqVO { + /** 邮件发送信息 */ + export interface MailSendReq { mail: string; templateCode: string; templateParams: Record; } } -// 查询邮件模版列表 -export const getMailTemplatePage = async (params: any) => { +/** 查询邮件模版列表 */ +export const getMailTemplatePage = async (params: PageParam) => { return await requestClient.get< - PageResult + PageResult >('/system/mail-template/page', { params }); }; -// 查询邮件模版详情 +/** 查询邮件模版详情 */ export const getMailTemplate = async (id: number) => { - return await requestClient.get( + return await requestClient.get( '/system/mail-template/get', { params: { id }, @@ -42,35 +43,35 @@ export const getMailTemplate = async (id: number) => { ); }; -// 新增邮件模版 +/** 新增邮件模版 */ export const createMailTemplate = async ( - data: SystemMailTemplateApi.MailTemplateVO, + data: SystemMailTemplateApi.MailTemplate, ) => { - return await requestClient.post( + return await requestClient.post( '/system/mail-template/create', data, ); }; -// 修改邮件模版 +/** 修改邮件模版 */ export const updateMailTemplate = async ( - data: SystemMailTemplateApi.MailTemplateVO, + data: SystemMailTemplateApi.MailTemplate, ) => { - return await requestClient.put( + return await requestClient.put( '/system/mail-template/update', data, ); }; -// 删除邮件模版 +/** 删除邮件模版 */ export const deleteMailTemplate = async (id: number) => { return await requestClient.delete('/system/mail-template/delete', { params: { id }, }); }; -// 发送邮件 -export const sendMail = async (data: SystemMailTemplateApi.MailSendReqVO) => { +/** 发送邮件 */ +export const sendMail = async (data: SystemMailTemplateApi.MailSendReq) => { return await requestClient.post( '/system/mail-template/send-mail', data, diff --git a/apps/web-antd/src/views/system/mail/account/data.ts b/apps/web-antd/src/views/system/mail/account/data.ts index 9a9183925..46d28ed7a 100644 --- a/apps/web-antd/src/views/system/mail/account/data.ts +++ b/apps/web-antd/src/views/system/mail/account/data.ts @@ -106,7 +106,7 @@ export function useGridFormSchema(): VbenFormSchema[] { } /** 列表的字段 */ -export function useGridColumns( +export function useGridColumns( onActionClick: OnActionClickFn, ): VxeTableGridOptions['columns'] { return [ diff --git a/apps/web-antd/src/views/system/mail/account/index.vue b/apps/web-antd/src/views/system/mail/account/index.vue index 9b33037e4..d44b313bd 100644 --- a/apps/web-antd/src/views/system/mail/account/index.vue +++ b/apps/web-antd/src/views/system/mail/account/index.vue @@ -37,12 +37,12 @@ function onCreate() { } /** 编辑邮箱账号 */ -function onEdit(row: SystemMailAccountApi.MailAccountVO) { +function onEdit(row: SystemMailAccountApi.MailAccount) { formModalApi.setData(row).open(); } /** 测试邮箱连接 */ -async function onTest(row: SystemMailAccountApi.MailAccountVO) { +async function onTest(row: SystemMailAccountApi.MailAccount) { const hideLoading = message.loading({ content: '正在测试邮箱连接...', duration: 0, @@ -60,7 +60,7 @@ async function onTest(row: SystemMailAccountApi.MailAccountVO) { } /** 删除邮箱账号 */ -async function onDelete(row: SystemMailAccountApi.MailAccountVO) { +async function onDelete(row: SystemMailAccountApi.MailAccount) { const hideLoading = message.loading({ content: $t('ui.actionMessage.deleting', [row.mail]), duration: 0, @@ -82,7 +82,7 @@ async function onDelete(row: SystemMailAccountApi.MailAccountVO) { function onActionClick({ code, row, -}: OnActionClickParams) { +}: OnActionClickParams) { switch (code) { case 'delete': { onDelete(row); @@ -125,7 +125,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ refresh: { code: 'query' }, search: true, }, - } as VxeTableGridOptions, + } as VxeTableGridOptions, });