From 78672a0cf9534aa895c5790b1e6f3bd3f72d12ca Mon Sep 17 00:00:00 2001 From: gyq <875626088@qq.com> Date: Mon, 1 Jul 2024 09:41:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8A=96=E9=9F=B3=E5=9B=A2?= =?UTF-8?q?=E8=B4=AD=E6=A0=B8=E9=94=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 5 +- .env.production | 8 +- dist-electron/main.js | 172 ++++++++++++++++++- package.json | 2 +- src/api/group.js | 68 ++++++++ src/utils/request_php.js | 60 +++++++ src/views/group_buy/components/scanGroup.vue | 105 +++++++---- src/views/group_buy/index.vue | 124 +++++++++++-- src/views/home/index.vue | 3 + src/views/login.vue | 12 +- vite.config.js | 5 + 11 files changed, 513 insertions(+), 51 deletions(-) create mode 100644 src/utils/request_php.js diff --git a/.env.development b/.env.development index 54c6098..8c45d2c 100644 --- a/.env.development +++ b/.env.development @@ -11,11 +11,14 @@ VITE_API_WSS = 'wss://cashier.sxczgkj.cn/client' # 测试 # VITE_API_URL = 'https://cashier-client.sxczgkj.cn/cashier-client' +# 测试 php +VITE_API_PHP_URL = 'http://192.168.2.33:1666/index.php/api' + # 阿伟 # VITE_API_URL = 'http://192.168.2.96:10587/cashier-client' # 鹏辉 -# VITE_API_URL = 'http://192.168.2.41:10587/cashier-client' +# VITE_API_URL = 'http://192.168.2.41:10589/cashier-client' # 正式 VITE_API_URL = 'https://cashierclient.sxczgkj.cn/cashier-client' \ No newline at end of file diff --git a/.env.production b/.env.production index a7bb43a..3eeb085 100644 --- a/.env.production +++ b/.env.production @@ -2,10 +2,16 @@ ENV = production # 正式ws -VITE_API_WSS = 'wss://cashier.sxczgkj.cn/client' +# VITE_API_WSS = 'wss://cashier.sxczgkj.cn/client' + +#测试ws +VITE_API_WSS = 'wss://wxcashiertest.sxczgkj.cn/client' # 线上环境接口地址 VITE_API_URL = 'https://cashierclient.sxczgkj.cn/cashier-client/' +# 测试 php +VITE_API_PHP_URL = 'http://192.168.2.33:1666/index.php/api' + # 测试 # VITE_API_URL = 'https://cashier-client.sxczgkj.cn/cashier-client' \ No newline at end of file diff --git a/dist-electron/main.js b/dist-electron/main.js index d617e47..feb8162 100644 --- a/dist-electron/main.js +++ b/dist-electron/main.js @@ -1 +1,171 @@ -"use strict";const i=require("path"),e=require("electron");let a;e.app.whenReady().then(()=>{a=new e.BrowserWindow({title:"银收客",width:1024,height:768,fullscreenable:!0,fullscreen:!process.env.VITE_DEV_SERVER_URL,simpleFullscreen:!0,frame:!!process.env.VITE_DEV_SERVER_URL,webPreferences:{nodeIntegration:!0,contextIsolation:!1}}),process.env.VITE_DEV_SERVER_URL?a.loadURL(process.env.VITE_DEV_SERVER_URL):a.loadFile(i.resolve(__dirname,"../dist/index.html")),e.app.on("activate",()=>{e.BrowserWindow.getAllWindows().length===0&&createWindow()}),e.ipcMain.on("quitHandler",(t,n)=>{e.app.quit()}),e.ipcMain.on("getPrintList",()=>{a.webContents.getPrintersAsync().then(t=>{a.webContents.send("printList",t)})});const o=new e.BrowserWindow({show:!1,width:464,height:1726,webPreferences:{nodeIntegration:!0,contextIsolation:!1}});process.env.VITE_DEV_SERVER_URL?o.loadFile(i.join(__dirname,"../public/print.html")):o.loadFile(i.resolve(__dirname,"../dist/print.html")),e.ipcMain.on("printerInfoSync",(t,n)=>{o.webContents.send("getParams",n)}),e.ipcMain.on("printStart",(t,n)=>{console.log(n);let r=JSON.parse(n).deviceName;o.webContents.print({silent:!0,deviceName:r,pageSize:{width:58e3,height:216e3},scaleFactor:80,landscape:!1,margins:{marginType:"none",top:0,bottom:0,left:0,right:0},dpi:{horizontal:203,vertical:203}})});const s=new e.BrowserWindow({show:!1,width:464,height:1726,webPreferences:{nodeIntegration:!0,contextIsolation:!1}});process.env.VITE_DEV_SERVER_URL?s.loadFile(i.join(__dirname,"../public/work_print.html")):s.loadFile(i.resolve(__dirname,"../dist/work_print.html")),e.ipcMain.on("printerWorkSync",(t,n)=>{s.webContents.send("getParams",n)}),e.ipcMain.on("printWorkStart",(t,n)=>{let r=JSON.parse(n).deviceName;s.webContents.print({silent:!0,deviceName:r,pageSize:{width:58e3,height:216e3},scaleFactor:80,landscape:!1,margins:{marginType:"none",top:0,bottom:0,left:0,right:0},dpi:{horizontal:203,vertical:203}})});const l=new e.BrowserWindow({show:!1,width:320,height:240,webPreferences:{nodeIntegration:!0,contextIsolation:!1}});process.env.VITE_DEV_SERVER_URL?l.loadFile(i.join(__dirname,"../public/tag_print.html")):l.loadFile(i.resolve(__dirname,"../dist/tag_print.html")),e.ipcMain.on("printerTagSync",(t,n)=>{console.log(n),l.webContents.send("getParams",n)}),e.ipcMain.on("printTagStart",(t,n)=>{let r=JSON.parse(n).deviceName;l.webContents.print({silent:!0,deviceName:r,pageSize:{width:4e4,height:3e4},scaleFactor:80,landscape:!1,margins:{marginType:"none",top:0,bottom:0,left:0,right:0},dpi:{horizontal:203,vertical:203}})})});e.app.on("window-all-closed",()=>{process.platform!=="darwin"&&e.app.quit()}); +"use strict"; +const path = require("path"); +const electron = require("electron"); +let win; +electron.app.whenReady().then(() => { + win = new electron.BrowserWindow({ + title: "银收客", + width: 1024, + height: 768, + fullscreenable: true, + fullscreen: process.env.VITE_DEV_SERVER_URL ? false : true, + simpleFullscreen: true, + frame: process.env.VITE_DEV_SERVER_URL ? true : false, + webPreferences: { + // 集成网页和 Node.js,也就是在渲染进程中,可以调用 Node.js 方法 + nodeIntegration: true, + contextIsolation: false + } + }); + if (process.env.VITE_DEV_SERVER_URL) { + win.loadURL(process.env.VITE_DEV_SERVER_URL); + } else { + win.loadFile(path.resolve(__dirname, "../dist/index.html")); + } + electron.app.on("activate", () => { + if (electron.BrowserWindow.getAllWindows().length === 0) { + createWindow(); + } + }); + electron.ipcMain.on("quitHandler", (_, msg) => { + electron.app.quit(); + }); + electron.ipcMain.on("getPrintList", () => { + win.webContents.getPrintersAsync().then((res) => { + win.webContents.send("printList", res); + }); + }); + const printWin = new electron.BrowserWindow({ + show: false, + width: 464, + height: 1726, + webPreferences: { + // 集成网页和 Node.js,也就是在渲染进程中,可以调用 Node.js 方法 + nodeIntegration: true, + contextIsolation: false + } + }); + if (process.env.VITE_DEV_SERVER_URL) { + printWin.loadFile(path.join(__dirname, "../public/print.html")); + } else { + printWin.loadFile(path.resolve(__dirname, "../dist/print.html")); + } + electron.ipcMain.on("printerInfoSync", (event, arg) => { + printWin.webContents.send("getParams", arg); + }); + electron.ipcMain.on("printStart", (event, arg) => { + console.log(arg); + const _parmas = JSON.parse(arg); + let name = _parmas.deviceName; + printWin.webContents.print({ + silent: true, + deviceName: name, + pageSize: { + width: 58e3, + height: 216e3 + }, + scaleFactor: 80, + landscape: false, + margins: { + marginType: "none", + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + dpi: { + horizontal: 203, + vertical: 203 + } + }); + }); + const workPrintWin = new electron.BrowserWindow({ + show: false, + width: 464, + height: 1726, + webPreferences: { + nodeIntegration: true, + contextIsolation: false + } + }); + if (process.env.VITE_DEV_SERVER_URL) { + workPrintWin.loadFile(path.join(__dirname, "../public/work_print.html")); + } else { + workPrintWin.loadFile(path.resolve(__dirname, "../dist/work_print.html")); + } + electron.ipcMain.on("printerWorkSync", (event, arg) => { + workPrintWin.webContents.send("getParams", arg); + }); + electron.ipcMain.on("printWorkStart", (event, arg) => { + const _parmas = JSON.parse(arg); + let name = _parmas.deviceName; + workPrintWin.webContents.print({ + silent: true, + deviceName: name, + pageSize: { + width: 58e3, + height: 216e3 + }, + scaleFactor: 80, + landscape: false, + margins: { + marginType: "none", + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + dpi: { + horizontal: 203, + vertical: 203 + } + }); + }); + const tagPrintWin = new electron.BrowserWindow({ + show: false, + width: 320, + height: 240, + webPreferences: { + nodeIntegration: true, + contextIsolation: false + } + }); + if (process.env.VITE_DEV_SERVER_URL) { + tagPrintWin.loadFile(path.join(__dirname, "../public/tag_print.html")); + } else { + tagPrintWin.loadFile(path.resolve(__dirname, "../dist/tag_print.html")); + } + electron.ipcMain.on("printerTagSync", (event, arg) => { + console.log(arg); + tagPrintWin.webContents.send("getParams", arg); + }); + electron.ipcMain.on("printTagStart", (event, arg) => { + const _parmas = JSON.parse(arg); + let name = _parmas.deviceName; + tagPrintWin.webContents.print({ + silent: true, + deviceName: name, + pageSize: { + width: 4e4, + height: 3e4 + }, + scaleFactor: 80, + landscape: false, + margins: { + marginType: "none", + top: 0, + bottom: 0, + left: 0, + right: 0 + }, + dpi: { + horizontal: 203, + vertical: 203 + } + }); + }); +}); +electron.app.on("window-all-closed", () => { + if (process.platform !== "darwin") + electron.app.quit(); +}); diff --git a/package.json b/package.json index 4cf7676..83131d9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "vite-electron", "private": true, - "version": "1.3.24", + "version": "1.3.26", "main": "dist-electron/main.js", "scripts": { "dev": "chcp 65001 && vite", diff --git a/src/api/group.js b/src/api/group.js index ed90664..5da4d7d 100644 --- a/src/api/group.js +++ b/src/api/group.js @@ -1,4 +1,5 @@ import request from "@/utils/request.js"; +import request_php from "@/utils/request_php.js"; /** * 团购卷订单列表(分页) @@ -51,3 +52,70 @@ export function returnGpOrder(data) { data, }); } + +// 注意 抖音核销使用的请求为PHP服务 request_php + +/** + * 会员签入 + * @param {*} data + * @returns + */ +export function douyincheckIn(data) { + return request_php({ + method: "post", + url: "douyin/checkIn", + data, + }); +} + +/** + * 团购核销准备 + * @param {*} data + * @returns + */ +export function douyinfulfilmentcertificateprepare(data) { + return request_php({ + method: "post", + url: "douyin/fulfilmentcertificateprepare", + data, + }); +} + +/** + * 团购核销 + * @param {*} data + * @returns + */ +export function douyincertificateprepare(data) { + return request_php({ + method: "post", + url: "douyin/certificateprepare", + data, + }); +} + +/** + * 团购核销记录 + * @param {*} data + * @returns + */ +export function douyinorderlist(data) { + return request_php({ + method: "post", + url: "douyin/orderlist", + data, + }); +} + +/** + * 团购核销撤销 + * @param {*} data + * @returns + */ +export function douyinfulfilmentcertificatecancel(data) { + return request_php({ + method: "post", + url: "douyin/fulfilmentcertificatecancel", + data, + }); +} diff --git a/src/utils/request_php.js b/src/utils/request_php.js new file mode 100644 index 0000000..80a3fb1 --- /dev/null +++ b/src/utils/request_php.js @@ -0,0 +1,60 @@ +import axios from "axios"; +import { ElMessage } from "element-plus"; +import useStorage from "@/utils/useStorage"; +import router from "@/router"; + +const service = axios.create({ + baseURL: + import.meta.env.MODE == "development" + ? "/php/" + : import.meta.env.VITE_API_URL, + // withCredentials: true, // 跨域请求时发送 cookies + timeout: 5000, // 请求超时 +}); + +// 请求拦截器 +service.interceptors.request.use( + (config) => { + // 在发送请求之前做些什么 token + if (useStorage.get("douyin") && useStorage.get("douyin").token) { + config.headers["bausertoken"] = useStorage.get("douyin").token; + // config.headers['Content-Type'] = 'application/json' + } + return config; + }, + (error) => { + // 处理请求错误 + return Promise.reject(error); + } +); + +// 响应拦截器 +service.interceptors.response.use( + (response) => { + // 对响应数据做点什么 + if (+response.status === 200) { + if (+response.data.code == 1) { + return response.data.data; + } else { + // 响应错误 + ElMessage.error(response.data.msg); + return Promise.reject(response.data); + } + } + }, + (error) => { + // 对响应错误做点什么 + if (error.message.indexOf("timeout") != -1) { + ElMessage.error("网络超时"); + } else if (error.message == "Network Error") { + ElMessage.error("网络连接错误"); + } else { + console.log(error); + if (error.response.data) ElMessage.error(error.response.statusText); + else ElMessage.error("接口路径找不到"); + } + return Promise.reject(error); + } +); + +export default service; diff --git a/src/views/group_buy/components/scanGroup.vue b/src/views/group_buy/components/scanGroup.vue index c160575..4cdec58 100644 --- a/src/views/group_buy/components/scanGroup.vue +++ b/src/views/group_buy/components/scanGroup.vue @@ -2,7 +2,7 @@ + + + + + - +