From 86794145f1e2cff836fc773f7b7c51a1163f5562 Mon Sep 17 00:00:00 2001 From: shiran Date: Sun, 7 Jun 2026 18:25:13 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E6=96=B0=E5=A2=9E=E7=9F=AD?= =?UTF-8?q?=E4=BF=A1=E5=B9=B3=E5=8F=B0=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增短信主控服务和额度商品的API接口 - 添加短信平台管理菜单项,包含主控服务管理和额度商品管理子菜单 - 实现短信平台管理相关路由配置 - 创建短信额度商品管理页面,支持额度类型配置、商品管理等功 --- src/api/admin/smsService.js | 51 ++ src/config/menus.js | 15 + src/router/index.js | 24 + src/views/sms/SmsGoods.vue | 892 +++++++++++++++++++++++++++++++++++ src/views/sms/SmsService.vue | 384 +++++++++++++++ 5 files changed, 1366 insertions(+) create mode 100644 src/api/admin/smsService.js create mode 100644 src/views/sms/SmsGoods.vue create mode 100644 src/views/sms/SmsService.vue diff --git a/src/api/admin/smsService.js b/src/api/admin/smsService.js new file mode 100644 index 0000000..7fbebae --- /dev/null +++ b/src/api/admin/smsService.js @@ -0,0 +1,51 @@ +import { http2 } from '@/utils/request.js' + +// ========== 短信主控服务 ========== + +export const getSmsServiceList = (params) => { + return http2.get('/api/v1/admin/server/sms_service/list', { params }) +} + +export const createSmsService = (data) => { + return http2.post('/api/v1/admin/server/sms_service/create', data, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }) +} + +export const updateSmsService = (data) => { + return http2.post('/api/v1/admin/server/sms_service/update', data, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }) +} + +export const deleteSmsService = (data) => { + return http2.delete('/api/v1/admin/server/sms_service/delete', { + data, + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }) +} + +// ========== 短信额度商品 ========== + +export const getSmsGoodsList = (params) => { + return http2.get('/api/v1/admin/server/sms_service/goods/list', { params }) +} + +export const createSmsGoods = (data) => { + return http2.post('/api/v1/admin/server/sms_service/goods/create', data, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }) +} + +export const updateSmsGoods = (data) => { + return http2.post('/api/v1/admin/server/sms_service/goods/update', data, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }) +} + +export const deleteSmsGoods = (data) => { + return http2.delete('/api/v1/admin/server/sms_service/goods/delete', { + data, + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }) +} diff --git a/src/config/menus.js b/src/config/menus.js index 01f110e..b56d24e 100644 --- a/src/config/menus.js +++ b/src/config/menus.js @@ -149,6 +149,21 @@ export const menus = [ } ] }, + { + path: '/sms', + title: '短信平台管理', + icon: 'ChatDotRound', + children: [ + { + path: '/sms/service', + title: '主控服务管理' + }, + { + path: '/sms/goods', + title: '额度商品管理' + } + ] + }, { title: '虚拟化平台管理', icon: 'Platform', diff --git a/src/router/index.js b/src/router/index.js index 09bebdb..6e5d583 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -609,6 +609,30 @@ const routes = [ } ] }, + // 短信平台管理路由 + { + path: 'sms', + name: 'Sms', + meta: { + title: '短信平台管理', + icon: 'ChatDotRound' + }, + redirect: '/sms/service', + children: [ + { + path: 'service', + name: 'SmsService', + component: () => import('../views/sms/SmsService.vue'), + meta: { title: '主控服务管理' } + }, + { + path: 'goods', + name: 'SmsGoods', + component: () => import('../views/sms/SmsGoods.vue'), + meta: { title: '额度商品管理' } + } + ] + }, // 站点审计路由 { path: 'audit', diff --git a/src/views/sms/SmsGoods.vue b/src/views/sms/SmsGoods.vue new file mode 100644 index 0000000..0464032 --- /dev/null +++ b/src/views/sms/SmsGoods.vue @@ -0,0 +1,892 @@ + + + + + diff --git a/src/views/sms/SmsService.vue b/src/views/sms/SmsService.vue new file mode 100644 index 0000000..83057e0 --- /dev/null +++ b/src/views/sms/SmsService.vue @@ -0,0 +1,384 @@ + + + + +