diff --git a/src/api/system/sms/index.ts b/src/api/system/sms/index.ts new file mode 100644 index 0000000..4d155ca --- /dev/null +++ b/src/api/system/sms/index.ts @@ -0,0 +1,138 @@ +import type { PageParam, PageResult } from '@/http/types' +import { http } from '@/http/http' + +// TODO @AI:拆成三个文件:channel.ts、template.ts、log.ts + +// ==================== 短信渠道 ==================== + +/** 短信渠道信息 */ +export interface SmsChannel { + id?: number + code: string + status: number + signature: string + remark?: string + apiKey: string + apiSecret?: string + callbackUrl?: string + createTime?: Date +} + +/** 获取短信渠道分页列表 */ +export function getSmsChannelPage(params: PageParam) { + return http.get>('/system/sms-channel/page', params) +} + +/** 获取短信渠道精简列表 */ +export function getSimpleSmsChannelList() { + return http.get('/system/sms-channel/simple-list') +} + +/** 获取短信渠道详情 */ +export function getSmsChannel(id: number) { + return http.get(`/system/sms-channel/get?id=${id}`) +} + +/** 创建短信渠道 */ +export function createSmsChannel(data: SmsChannel) { + return http.post('/system/sms-channel/create', data) +} + +/** 更新短信渠道 */ +export function updateSmsChannel(data: SmsChannel) { + return http.put('/system/sms-channel/update', data) +} + +/** 删除短信渠道 */ +export function deleteSmsChannel(id: number) { + return http.delete(`/system/sms-channel/delete?id=${id}`) +} + +// ==================== 短信模板 ==================== + +/** 短信模板信息 */ +export interface SmsTemplate { + id?: number + type?: number + status: number + code: string + name: string + content: string + remark?: string + apiTemplateId: string + channelId?: number + channelCode?: string + params?: string[] + createTime?: Date +} + +/** 发送短信请求 */ +export interface SmsSendReqVO { + mobile: string + templateCode: string + templateParams: Record +} + +/** 获取短信模板分页列表 */ +export function getSmsTemplatePage(params: PageParam) { + return http.get>('/system/sms-template/page', params) +} + +/** 获取短信模板详情 */ +export function getSmsTemplate(id: number) { + return http.get(`/system/sms-template/get?id=${id}`) +} + +/** 创建短信模板 */ +export function createSmsTemplate(data: SmsTemplate) { + return http.post('/system/sms-template/create', data) +} + +/** 更新短信模板 */ +export function updateSmsTemplate(data: SmsTemplate) { + return http.put('/system/sms-template/update', data) +} + +/** 删除短信模板 */ +export function deleteSmsTemplate(id: number) { + return http.delete(`/system/sms-template/delete?id=${id}`) +} + +/** 发送短信 */ +export function sendSms(data: SmsSendReqVO) { + return http.post('/system/sms-template/send-sms', data) +} + +// ==================== 短信日志 ==================== + +/** 短信日志信息 */ +export interface SmsLog { + id?: number + channelId?: number + channelCode: string + templateId?: number + templateCode: string + templateType?: number + templateContent: string + templateParams?: Record + apiTemplateId: string + mobile: string + userId?: number + userType?: number + sendStatus?: number + sendTime?: string + apiSendCode?: string + apiSendMsg?: string + apiRequestId?: string + apiSerialNo?: string + receiveStatus?: number + receiveTime?: string + apiReceiveCode?: string + apiReceiveMsg?: string + createTime?: string +} + +/** 获取短信日志分页列表 */ +export function getSmsLogPage(params: PageParam) { + return http.get>('/system/sms-log/page', params) +} diff --git a/src/pages-system/sms/channel/detail/index.vue b/src/pages-system/sms/channel/detail/index.vue new file mode 100644 index 0000000..c6bc915 --- /dev/null +++ b/src/pages-system/sms/channel/detail/index.vue @@ -0,0 +1,133 @@ + + + + + diff --git a/src/pages-system/sms/channel/form/index.vue b/src/pages-system/sms/channel/form/index.vue new file mode 100644 index 0000000..b46ae5c --- /dev/null +++ b/src/pages-system/sms/channel/form/index.vue @@ -0,0 +1,183 @@ + + + + + diff --git a/src/pages-system/sms/components/channel-list.vue b/src/pages-system/sms/components/channel-list.vue new file mode 100644 index 0000000..c6b2508 --- /dev/null +++ b/src/pages-system/sms/components/channel-list.vue @@ -0,0 +1,146 @@ + + + diff --git a/src/pages-system/sms/components/channel-search-form.vue b/src/pages-system/sms/components/channel-search-form.vue new file mode 100644 index 0000000..90e94ab --- /dev/null +++ b/src/pages-system/sms/components/channel-search-form.vue @@ -0,0 +1,118 @@ + + + diff --git a/src/pages-system/sms/components/log-list.vue b/src/pages-system/sms/components/log-list.vue new file mode 100644 index 0000000..db6cbf6 --- /dev/null +++ b/src/pages-system/sms/components/log-list.vue @@ -0,0 +1,132 @@ + + + diff --git a/src/pages-system/sms/components/log-search-form.vue b/src/pages-system/sms/components/log-search-form.vue new file mode 100644 index 0000000..bf0760c --- /dev/null +++ b/src/pages-system/sms/components/log-search-form.vue @@ -0,0 +1,118 @@ + + + diff --git a/src/pages-system/sms/components/template-list.vue b/src/pages-system/sms/components/template-list.vue new file mode 100644 index 0000000..2cf0ea1 --- /dev/null +++ b/src/pages-system/sms/components/template-list.vue @@ -0,0 +1,150 @@ + + + diff --git a/src/pages-system/sms/components/template-search-form.vue b/src/pages-system/sms/components/template-search-form.vue new file mode 100644 index 0000000..bdebe72 --- /dev/null +++ b/src/pages-system/sms/components/template-search-form.vue @@ -0,0 +1,134 @@ + + + diff --git a/src/pages-system/sms/index.vue b/src/pages-system/sms/index.vue new file mode 100644 index 0000000..b5f871e --- /dev/null +++ b/src/pages-system/sms/index.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/src/pages-system/sms/log/detail/index.vue b/src/pages-system/sms/log/detail/index.vue new file mode 100644 index 0000000..9e39879 --- /dev/null +++ b/src/pages-system/sms/log/detail/index.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/pages-system/sms/template/detail/index.vue b/src/pages-system/sms/template/detail/index.vue new file mode 100644 index 0000000..b00cd75 --- /dev/null +++ b/src/pages-system/sms/template/detail/index.vue @@ -0,0 +1,235 @@ + + + + + diff --git a/src/pages-system/sms/template/form/index.vue b/src/pages-system/sms/template/form/index.vue new file mode 100644 index 0000000..9e28857 --- /dev/null +++ b/src/pages-system/sms/template/form/index.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/src/pages/index/index.ts b/src/pages/index/index.ts index c404316..0cae970 100644 --- a/src/pages/index/index.ts +++ b/src/pages/index/index.ts @@ -93,6 +93,14 @@ const menuGroupsData: MenuGroup[] = [ iconColor: '#1677ff', permission: 'system:login-log:query', }, + { + key: 'sms', + name: '短信管理', + icon: 'chat1', + url: '/pages-system/sms/index', + iconColor: '#36cfc9', + permission: 'system:sms-channel:query', + }, ], }, {