From 98155cd4ddc282503d5edbaa5aca605534f6a3a2 Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Tue, 2 Apr 2024 18:17:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=EF=BC=9A=E9=82=80=E8=AF=B7?= =?UTF-8?q?=E7=A0=81=E7=AE=A1=E7=90=86=EF=BC=88=E5=A2=9E=E5=8A=A0=E3=80=81?= =?UTF-8?q?=E4=BD=9C=E5=BA=9F=E3=80=81=E5=AF=BC=E5=87=BA=E3=80=81=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E4=B8=8B=E8=BD=BD=EF=BC=89=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=EF=BC=9A=E5=85=91=E6=8D=A2=E7=A0=81=E3=80=81=E9=82=80=E8=AF=B7?= =?UTF-8?q?=E7=A0=81=20-=20=E7=82=B9=E5=87=BB=E5=AF=BC=E5=87=BA=E4=BD=86?= =?UTF-8?q?=E5=AE=9E=E9=99=85=E5=8D=B4=E6=89=A7=E8=A1=8C=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E7=9A=84=E9=97=AE=E9=A2=98=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=9A=E5=85=91=E6=8D=A2=E7=A0=81=E3=80=81=E9=82=80?= =?UTF-8?q?=E8=AF=B7=E7=A0=81=20-=20=E4=BA=8C=E7=BB=B4=E7=A0=81=E6=89=AB?= =?UTF-8?q?=E7=A0=81=E5=86=85=E5=AE=B9=E4=BC=98=E5=8C=96=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=B1=BB=E5=9E=8B=E5=8C=BA=E5=88=86=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=9A=E5=85=91=E6=8D=A2=E7=A0=81=E3=80=81=E9=82=80?= =?UTF-8?q?=E8=AF=B7=E7=A0=81=20-=20=E5=AF=BC=E5=87=BA=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E6=B7=BB=E5=8A=A0=E4=BA=8C=E7=BB=B4=E7=A0=81?= =?UTF-8?q?=E5=85=B7=E4=BD=93=E5=86=85=E5=AE=B9=E4=BF=A1=E6=81=AF=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=A2=9E=E5=8A=A0=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E7=A0=81=E3=80=81=E9=82=80=E8=AF=B7=E7=A0=81=20-=20=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E4=B8=BA=E9=9A=8F=E6=9C=BA=E7=94=9F=E6=88=90=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E4=BC=9A=E8=BF=9B=E5=85=A5=E9=A1=BA=E5=BA=8F=E7=94=9F?= =?UTF-8?q?=E6=88=90=E7=9A=84=E6=AD=A5=E9=AA=A4=EF=BC=8C=E7=84=B6=E5=90=8E?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E6=8A=A5=E9=94=99=EF=BC=8C=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/user.js | 23 +- src/router/modules/user.js | 9 + src/views/user/member/exchangeCode.vue | 13 +- src/views/user/member/inviteCode.vue | 438 +++++++++++++++++++++++++ 4 files changed, 474 insertions(+), 9 deletions(-) create mode 100644 src/views/user/member/inviteCode.vue diff --git a/src/api/user.js b/src/api/user.js index 3f9cf34..1483701 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -468,9 +468,26 @@ export function exchangeCodeCancelForm() { export function exchangeCodeUpdate(data) { return request.post('user/exchangeCode/updateCode',data) } - - - +// 邀请码 - 列表获取 +export function inviteCodeList(data) { + return request.get('user/inviteCode/getList', data) +} +// 邀请码 - 批次列表获取 +export function inviteCodeBatchList() { + return request.get('user/inviteCode/getBatchList') +} +// 邀请码 - 添加表单 +export function inviteCodeEditForm() { + return request.get('user/inviteCode/editForm') +} +// 邀请码 - 作废 +export function inviteCodeCancelForm() { + return request.get('user/inviteCode/cancelForm') +} +// 邀请码 - 修改兑换码 +export function inviteCodeUpdate(data) { + return request.post('user/inviteCode/updateCode',data) +} diff --git a/src/router/modules/user.js b/src/router/modules/user.js index f3cb035..95369f0 100644 --- a/src/router/modules/user.js +++ b/src/router/modules/user.js @@ -132,6 +132,15 @@ const userRouter = }, component: () => import('@/views/user/member/exchangeCode') }, + { + path: 'inviteCode', + name: 'inviteCode', + meta: { + title: '邀请码', + noCache: true + }, + component: () => import('@/views/user/member/inviteCode') + }, ] }, ] diff --git a/src/views/user/member/exchangeCode.vue b/src/views/user/member/exchangeCode.vue index 5b1694e..15cfa7e 100644 --- a/src/views/user/member/exchangeCode.vue +++ b/src/views/user/member/exchangeCode.vue @@ -22,7 +22,7 @@ 添加兑换码 分配给商户 作废兑换码 - 导出兑换码 + 导出兑换码 下载二维码 @@ -167,7 +167,7 @@ export default { Object.values(res.data.list).forEach(item => { let refName = 'qrCodeImg'+item.id; new QRCodeOld(_this.$refs[refName], { - text: item.exchange_code, // 需要转换为二维码的内容 + text: item.qr_code_text, // 需要转换为二维码的内容 width: 80, height: 80, colorDark: '#000000', @@ -262,14 +262,14 @@ export default { // 生成下载数据 const data = []; for (const item of list) { - const base64 = await this.textQrcodeToBase64(item[2]); + const base64 = await this.textQrcodeToBase64(item[3]); data.push({ name: item[2], value: base64, }); } // 下载 - this.dataUrlZip(data); + this.dataUrlZip(data, exportData.filename || 'qrcodes'); }, /** * 将字符串生成二维码并且转成base64 @@ -300,8 +300,9 @@ export default { /** * 将base64字符串以png格式装进jszip, 然后下载保存到本地 * @param {Array} data {value: base64字符串, name: 二维码的名字} + * @param fileName */ - dataUrlZip(data) { + dataUrlZip(data, fileName) { const zip = new JSZip(); for (const item of data) { @@ -313,7 +314,7 @@ export default { // 以二进制形式保存、并且通过file-saver下载到本地 zip.generateAsync({ type: "blob" }).then( (content) =>{ - FileSaver.saveAs(content, "qrcodes.zip"); + FileSaver.saveAs(content, fileName + ".zip"); }); }, // 点击修改兑换码 diff --git a/src/views/user/member/inviteCode.vue b/src/views/user/member/inviteCode.vue new file mode 100644 index 0000000..21ee118 --- /dev/null +++ b/src/views/user/member/inviteCode.vue @@ -0,0 +1,438 @@ + + + + +