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 505670294..5dcf23115 100644 --- a/apps/web-antd/src/api/system/mail/account/index.ts +++ b/apps/web-antd/src/api/system/mail/account/index.ts @@ -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>( + return await requestClient.get>( '/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( - '/system/mail-account/get', - { - params: { id }, - }, - ); + return await requestClient.get(`/system/mail-account/get?id=${id}`); }; /** 新增邮箱账号 */ -export const createMailAccount = async ( - data: SystemMailAccountApi.MailAccount, -) => { - return await requestClient.post( - '/system/mail-account/create', - data, - ); +export const createMailAccount = async (data: SystemMailAccountApi.SystemMailAccount) => { + return await requestClient.post('/system/mail-account/create', data); }; /** 修改邮箱账号 */ -export const updateMailAccount = async ( - data: SystemMailAccountApi.MailAccount, -) => { - return await requestClient.put( - '/system/mail-account/update', - data, - ); +export const updateMailAccount = async (data: SystemMailAccountApi.SystemMailAccount) => { + 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 }, - }); + return await requestClient.delete(`/system/mail-account/delete?id=${id}`); }; /** 获得邮箱账号精简列表 */ export const getSimpleMailAccountList = async () => { - 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 }, - }); + return await requestClient.get('/system/mail-account/simple-list'); }; 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 3e71d4edd..e321fede0 100644 --- a/apps/web-antd/src/api/system/mail/log/index.ts +++ b/apps/web-antd/src/api/system/mail/log/index.ts @@ -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>( + return await requestClient.get>( '/system/mail-log/page', - { params }, + { params } ); }; /** 查询邮件日志详情 */ export const getMailLog = async (id: number) => { - return await requestClient.get( - '/system/mail-log/get', - { - params: { id }, - }, - ); + return await requestClient.get(`/system/mail-log/get?${id}`); }; /** 重新发送邮件 */ 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 }, - }); + return await requestClient.put(`/system/mail-log/resend?id=${id}`); }; 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 e87f5c38f..0bf98d2d0 100644 --- a/apps/web-antd/src/api/system/mail/template/index.ts +++ b/apps/web-antd/src/api/system/mail/template/index.ts @@ -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; } } - +// TODO @puhui999:改成 function 风格;不用 await /** 查询邮件模版列表 */ export const getMailTemplatePage = async (params: PageParam) => { - return await requestClient.get< - PageResult - >('/system/mail-template/page', { params }); + return await requestClient.get>( + '/system/mail-template/page', + { params } + ); }; /** 查询邮件模版详情 */ export const getMailTemplate = async (id: number) => { - return await requestClient.get( - '/system/mail-template/get', - { - params: { id }, - }, - ); + return await requestClient.get(`/system/mail-template/get?id=${id}`); }; /** 新增邮件模版 */ -export const createMailTemplate = async ( - data: SystemMailTemplateApi.MailTemplate, -) => { - return await requestClient.post( - '/system/mail-template/create', - data, - ); +export const createMailTemplate = async (data: SystemMailTemplateApi.SystemMailTemplate) => { + return await requestClient.post('/system/mail-template/create', data); }; /** 修改邮件模版 */ -export const updateMailTemplate = async ( - data: SystemMailTemplateApi.MailTemplate, -) => { - return await requestClient.put( - '/system/mail-template/update', - data, - ); +export const updateMailTemplate = async (data: SystemMailTemplateApi.SystemMailTemplate) => { + 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 }, - }); + return await requestClient.delete(`/system/mail-template/delete?id=${id}`); }; /** 发送邮件 */ -export const sendMail = async (data: SystemMailTemplateApi.MailSendReq) => { - return await requestClient.post( - '/system/mail-template/send-mail', - data, - ); +export const sendMail = async (data: SystemMailTemplateApi.MailSendReqVO) => { + 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 46d28ed7a..750143ce5 100644 --- a/apps/web-antd/src/views/system/mail/account/data.ts +++ b/apps/web-antd/src/views/system/mail/account/data.ts @@ -21,24 +21,36 @@ export function useFormSchema(): VbenFormSchema[] { fieldName: 'mail', label: '邮箱', component: 'Input', + componentProps: { + placeholder: '请输入邮箱', + }, rules: 'required', }, { fieldName: 'username', label: '用户名', component: 'Input', + componentProps: { + placeholder: '请输入用户名', + }, rules: 'required', }, { fieldName: 'password', label: '密码', component: 'InputPassword', + componentProps: { + placeholder: '请输入密码', + }, rules: 'required', }, { fieldName: 'host', label: 'SMTP 服务器域名', component: 'Input', + componentProps: { + placeholder: '请输入 SMTP 服务器域名', + }, rules: 'required', }, { @@ -46,6 +58,7 @@ export function useFormSchema(): VbenFormSchema[] { label: 'SMTP 服务器端口', component: 'InputNumber', componentProps: { + placeholder: '请输入 SMTP 服务器端口', min: 0, max: 65_535, }, @@ -77,6 +90,9 @@ export function useFormSchema(): VbenFormSchema[] { fieldName: 'remark', label: '备注', component: 'Textarea', + componentProps: { + placeholder: '请输入备注', + } }, ]; } @@ -88,25 +104,25 @@ export function useGridFormSchema(): VbenFormSchema[] { fieldName: 'mail', label: '邮箱', component: 'Input', + componentProps: { + placeholder: '请输入邮箱', + clearable: true, + } }, { fieldName: 'username', label: '用户名', component: 'Input', - }, - { - fieldName: 'createTime', - label: '创建时间', - component: 'RangePicker', componentProps: { - allowClear: true, - }, - }, + placeholder: '请输入用户名', + clearable: true, + } + } ]; } /** 列表的字段 */ -export function useGridColumns( +export function useGridColumns( onActionClick: OnActionClickFn, ): VxeTableGridOptions['columns'] { return [ @@ -118,12 +134,12 @@ export function useGridColumns( { field: 'mail', title: '邮箱', - minWidth: 120, + minWidth: 160, }, { field: 'username', title: '用户名', - minWidth: 120, + minWidth: 160, }, { field: 'host', @@ -133,7 +149,7 @@ export function useGridColumns( { field: 'port', title: 'SMTP 服务器端口', - minWidth: 120, + minWidth: 130, }, { field: 'sslEnable', @@ -147,17 +163,12 @@ export function useGridColumns( { field: 'starttlsEnable', title: '是否开启 STARTTLS', - minWidth: 120, + minWidth: 145, cellRender: { name: 'CellDict', props: { type: DICT_TYPE.INFRA_BOOLEAN_STRING }, }, }, - { - field: 'remark', - title: '备注', - minWidth: 120, - }, { field: 'createTime', title: '创建时间', @@ -167,7 +178,7 @@ export function useGridColumns( { field: 'operation', title: '操作', - minWidth: 220, + minWidth: 130, align: 'center', fixed: 'right', cellRender: { @@ -176,15 +187,7 @@ export function useGridColumns( nameTitle: '邮箱账号', onClick: onActionClick, }, - name: 'CellOperation', - options: [ - 'edit', // 默认的编辑按钮 - 'delete', // 默认的删除按钮 - { - code: 'test', - text: '测试连接', - }, - ], + name: 'CellOperation' }, }, ]; 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 d44b313bd..f687fefdc 100644 --- a/apps/web-antd/src/views/system/mail/account/index.vue +++ b/apps/web-antd/src/views/system/mail/account/index.vue @@ -1,25 +1,17 @@