diff --git a/src/api/admin/mailService.js b/src/api/admin/mailService.js new file mode 100644 index 0000000..12ac135 --- /dev/null +++ b/src/api/admin/mailService.js @@ -0,0 +1,43 @@ +import { http2 } from '@/utils/request.js' + +const formHeaders = { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } } + +// ========== 邮件主控服务 ========== + +export const getMailServiceList = (params) => { + return http2.get('/api/v1/admin/server/mail_service/list', { params }) +} + +export const getMailServiceDetail = (params) => { + return http2.get('/api/v1/admin/server/mail_service/detail', { params }) +} + +export const createMailService = (data) => { + return http2.post('/api/v1/admin/server/mail_service/create', data, formHeaders) +} + +export const updateMailService = (data) => { + return http2.post('/api/v1/admin/server/mail_service/update', data, formHeaders) +} + +export const deleteMailService = (data) => { + return http2.delete('/api/v1/admin/server/mail_service/delete', { data, ...formHeaders }) +} + +// ========== 邮件额度商品 ========== + +export const getMailGoodsList = (params) => { + return http2.get('/api/v1/admin/server/mail_service/goods/list', { params }) +} + +export const createMailGoods = (data) => { + return http2.post('/api/v1/admin/server/mail_service/goods/create', data, formHeaders) +} + +export const updateMailGoods = (data) => { + return http2.post('/api/v1/admin/server/mail_service/goods/update', data, formHeaders) +} + +export const deleteMailGoods = (data) => { + return http2.delete('/api/v1/admin/server/mail_service/goods/delete', { data, ...formHeaders }) +} diff --git a/src/config/menus.js b/src/config/menus.js index 76ce3db..a404860 100644 --- a/src/config/menus.js +++ b/src/config/menus.js @@ -172,6 +172,17 @@ export const menus = [ } ] }, + { + path: '/mail', + title: '邮箱平台管理', + icon: 'Message', + children: [ + { + path: '/mail/service', + title: '主控服务管理' + } + ] + }, { title: '虚拟化平台管理', icon: 'Platform', diff --git a/src/router/index.js b/src/router/index.js index 3f85106..8271982 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -645,6 +645,24 @@ const routes = [ } ] }, + // 邮箱平台管理路由 + { + path: 'mail', + name: 'Mail', + meta: { + title: '邮箱平台管理', + icon: 'Message' + }, + redirect: '/mail/service', + children: [ + { + path: 'service', + name: 'MailService', + component: () => import('../views/mail/MailService.vue'), + meta: { title: '主控服务管理' } + } + ] + }, // 站点审计路由 { path: 'audit', diff --git a/src/views/mail/MailService.vue b/src/views/mail/MailService.vue new file mode 100644 index 0000000..c330a0b --- /dev/null +++ b/src/views/mail/MailService.vue @@ -0,0 +1,420 @@ + + + + + diff --git a/src/views/product/ProductGroup.vue b/src/views/product/ProductGroup.vue index 84cd6e7..6c0e8d0 100644 --- a/src/views/product/ProductGroup.vue +++ b/src/views/product/ProductGroup.vue @@ -567,6 +567,9 @@ + + + - -
-
价格与销售
-
- - - - - - - - - - - - - - - - - - - - - - - -
启用后,用户购买/续费/升级此商品前须完成实名认证
-
-
-
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
启用后,用户购买/续费/升级此商品前须完成实名认证
+
+
+
- -
-
库存管理
-
- - - - - - -
-
+ +
+ + + + + + + + +
开启后用户端将无法选购该商品
+
+ + +
限制单用户最大购买数量,0 表示不限制
+
+
+
- -
-
推荐与参数
-
- - - - - - - -
-
+ +
+ + + + + + + + + +
用户购买后是否发送通知给管理员
+
+
+
+