From 68fbee5b686d9c28b9b7e6865fc66e7150950b25 Mon Sep 17 00:00:00 2001 From: yuhawu <15545526+yuhawu@user.noreply.gitee.com> Date: Wed, 11 Jun 2025 14:24:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=A1=E5=AF=86=20=E4=BC=9A=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/modules/cards.js | 20 + src/api/modules/settledMemberRecord.js | 20 + src/layout/Sidebar.vue | 17 + src/router/index.js | 10 + src/utils/axios.js | 28 +- src/views/SettledConfig/MemberRecord.vue | 709 +++++++++++++++++++++++ src/views/Tools/Cards/List.vue | 385 ++++++++++++ vite.config.mjs | 24 +- 8 files changed, 1200 insertions(+), 13 deletions(-) create mode 100644 src/api/modules/cards.js create mode 100644 src/api/modules/settledMemberRecord.js create mode 100644 src/views/SettledConfig/MemberRecord.vue create mode 100644 src/views/Tools/Cards/List.vue diff --git a/src/api/modules/cards.js b/src/api/modules/cards.js new file mode 100644 index 0000000..1e891d0 --- /dev/null +++ b/src/api/modules/cards.js @@ -0,0 +1,20 @@ +import instance from '../../utils/axios.js' + +const cardsApi = { + // 获取卡密列表(分页) + pageQueryCard: (params) => instance.get('/cards/pageQueryCard', { params }), + + // 删除卡密 + deleteCard: (id) => instance.post('/cards/delete', null, { params: { id } }), + + // 获取卡密 + createCardSecret: () => instance.get('http://146.56.227.42:8089/cards/createCardSecret'), + + // 批量生成卡密 + batchCreateCards: (data) => instance.post('/cards/batchCreate', data), + + // 修改卡密状态 + updateCardStatus: (data) => instance.put('/cards/updateStatus', data) +} + +export { cardsApi } \ No newline at end of file diff --git a/src/api/modules/settledMemberRecord.js b/src/api/modules/settledMemberRecord.js new file mode 100644 index 0000000..2c34915 --- /dev/null +++ b/src/api/modules/settledMemberRecord.js @@ -0,0 +1,20 @@ +import instance from '../../utils/axios.js' + +const settledMemberRecordApi = { + // 获取入驻会员开通记录列表 + getSettledMemberRecordList: (params) => instance.get('/settledMember/record/list', { params }), + + // 删除入驻会员开通记录 + deleteSettledMemberRecord: (id) => instance.post('/settledMember/record/delete', null, { params: { id } }), + + // 新增入驻会员开通记录 + addSettledMemberRecord: (data) => instance.post('/settledMember/record/add', data), + + // 更新入驻会员开通记录 + updateSettledMemberRecord: (data) => instance.put('/settledMember/record/update', data), + + // 搜索入驻会员开通记录(分页+条件) + searchSettledMemberRecord: (params) => instance.get('/settledMember/record/search', { params }), +} + +export { settledMemberRecordApi } \ No newline at end of file diff --git a/src/layout/Sidebar.vue b/src/layout/Sidebar.vue index a435e86..6139ce3 100644 --- a/src/layout/Sidebar.vue +++ b/src/layout/Sidebar.vue @@ -37,6 +37,10 @@ title: '配置列表', path: '/settledConfig/list' }, + { + title: '会员开通记录', + path: '/settledConfig/memberRecord' + }, ] }, { @@ -67,6 +71,19 @@ } ] }, + { + title: '工具管理', + path: '/tools', + icon: DocIcon, + children: [{ + title: '卡密管理', + path: '/tools/cards', + children: [{ + title: '卡密列表', + path: '/tools/cards/list' + }] + }] + }, // 更多菜单... ]) diff --git a/src/router/index.js b/src/router/index.js index 0c1eafe..714645e 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -18,6 +18,11 @@ const routes = [{ component: () => import('@/views/SettledConfig/List.vue'), meta: { title: '配置列表' } }, + { + path: '/SettledConfig/memberRecord', + component: () => import('@/views/SettledConfig/MemberRecord.vue'), + meta: { title: '会员开通记录' } + }, { path: '/user/list', component: () => import('@/views/User/List.vue'), @@ -27,6 +32,11 @@ const routes = [{ path: '/user/edit', component: () => import('@/views/User/Edit.vue'), meta: { title: '新增用户' } + }, + { + path: '/tools/cards/list', + component: () => import('@/views/Tools/Cards/List.vue'), + meta: { title: '卡密列表' } } ] }] diff --git a/src/utils/axios.js b/src/utils/axios.js index 9c7cb36..4e6fdf8 100644 --- a/src/utils/axios.js +++ b/src/utils/axios.js @@ -2,10 +2,36 @@ import axios from 'axios' // 创建 axios const instance = axios.create({ baseURL: '/api', - timeout: 5000, + timeout: 30000, // 增加超时时间到30秒 // headers: { // 'Content-Type': 'multipart/form-data' // } }) +// 请求拦截器 +instance.interceptors.request.use( + config => { + // 在发送请求之前做些什么 + return config + }, + error => { + // 对请求错误做些什么 + console.error('请求错误:', error) + return Promise.reject(error) + } +) + +// 响应拦截器 +instance.interceptors.response.use( + response => { + // 对响应数据做点什么 + return response.data + }, + error => { + // 对响应错误做点什么 + console.error('响应错误:', error) + return Promise.reject(error) + } +) + export default instance \ No newline at end of file diff --git a/src/views/SettledConfig/MemberRecord.vue b/src/views/SettledConfig/MemberRecord.vue new file mode 100644 index 0000000..5cfa2a5 --- /dev/null +++ b/src/views/SettledConfig/MemberRecord.vue @@ -0,0 +1,709 @@ + + + + + \ No newline at end of file diff --git a/src/views/Tools/Cards/List.vue b/src/views/Tools/Cards/List.vue new file mode 100644 index 0000000..917a362 --- /dev/null +++ b/src/views/Tools/Cards/List.vue @@ -0,0 +1,385 @@ + + + + + \ No newline at end of file diff --git a/vite.config.mjs b/vite.config.mjs index b747c70..2898810 100644 --- a/vite.config.mjs +++ b/vite.config.mjs @@ -41,17 +41,17 @@ export default defineConfig({ __VUE_OPTIONS_API__: JSON.stringify(false), // 关闭生产环境 devtools(可选) __VUE_PROD_DEVTOOLS__: JSON.stringify(false) + }, + server: { + proxy: { + '/api': { + target: 'http://127.0.0.1:8089', + // target: 'http://146.56.227.42', + changeOrigin: true, + rewrite: (path) => path.replace(/^\/api/,''), + // 如需处理WebSocket + ws: true + } + } } - // server: { - // proxy: { - // '/api': { - // // target: 'http://127.0.0.1:8080', - // target: 'http://146.56.227.42', - // changeOrigin: true, - // rewrite: (path) => path.replace(/^\/api/,''), - // // 如需处理WebSocket - // ws: true - // } - // } - // } }) \ No newline at end of file