From 6f378cc3c0c3212834ea925e6176aa5e8d3f5354 Mon Sep 17 00:00:00 2001 From: gyq <875626088@qq.com> Date: Thu, 16 May 2024 16:55:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=A1=8C=E9=9D=A2=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist-electron/main.js | 87 +----------- package.json | 142 ++++++++++---------- src/api/product.js | 13 ++ src/views/home/components/goods.vue | 29 ++-- src/views/home/components/settleAccount.vue | 105 ++++++--------- vite.config.js | 4 +- 6 files changed, 141 insertions(+), 239 deletions(-) diff --git a/dist-electron/main.js b/dist-electron/main.js index 3b14b44..a9d897e 100644 --- a/dist-electron/main.js +++ b/dist-electron/main.js @@ -1,86 +1 @@ -"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 - } - }); - }); -}); -electron.app.on("window-all-closed", () => { - if (process.platform !== "darwin") - electron.app.quit(); -}); +"use strict";const s=require("path"),e=require("electron");let t;e.app.whenReady().then(()=>{t=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?t.loadURL(process.env.VITE_DEV_SERVER_URL):t.loadFile(s.resolve(__dirname,"../dist/index.html")),e.app.on("activate",()=>{e.BrowserWindow.getAllWindows().length===0&&createWindow()}),e.ipcMain.on("quitHandler",(r,n)=>{e.app.quit()}),e.ipcMain.on("getPrintList",()=>{t.webContents.getPrintersAsync().then(r=>{t.webContents.send("printList",r)})});const i=new e.BrowserWindow({show:!1,width:464,height:1726,webPreferences:{nodeIntegration:!0,contextIsolation:!1}});process.env.VITE_DEV_SERVER_URL?i.loadFile(s.join(__dirname,"../public/print.html")):i.loadFile(s.resolve(__dirname,"../dist/print.html")),e.ipcMain.on("printerInfoSync",(r,n)=>{i.webContents.send("getParams",n)}),e.ipcMain.on("printStart",(r,n)=>{console.log(n);let o=JSON.parse(n).deviceName;i.webContents.print({silent:!0,deviceName:o,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}})})});e.app.on("window-all-closed",()=>{process.platform!=="darwin"&&e.app.quit()}); diff --git a/package.json b/package.json index be06433..440a3d0 100644 --- a/package.json +++ b/package.json @@ -1,72 +1,72 @@ { - "name": "vite-electron", - "private": true, - "version": "1.0.25", - "main": "dist-electron/main.js", - "scripts": { - "dev": "chcp 65001 && vite", - "build": "node ./addVersion.js && vite build && electron-builder", - "preview": "vite preview", - "build:win": "node ./addVersion.js && vite build && electron-builder --w" - }, - "dependencies": { - "@element-plus/icons-vue": "^2.3.1", - "axios": "^1.6.2", - "dayjs": "^1.11.10", - "electron-pos-printer": "^1.3.6", - "electron-pos-printer-vue": "^1.0.9", - "element-plus": "^2.4.3", - "lodash": "^4.17.21", - "pinia": "^2.1.7", - "swiper": "^11.1.1", - "vue": "^3.3.8", - "vue-router": "^4.2.5" - }, - "devDependencies": { - "@vitejs/plugin-vue": "^4.5.0", - "electron": "^28.2.3", - "electron-builder": "^24.13.3", - "electron-rebuild": "^3.2.9", - "path": "^0.12.7", - "sass": "^1.69.5", - "sass-loader": "^13.3.2", - "tree-kill": "^1.2.2", - "vite": "^5.0.0", - "vite-plugin-electron": "^0.15.4", - "vite-plugin-electron-renderer": "^0.14.5" - }, - "build": { - "appId": "com.cashierdesktop.app", - "productName": "银收客", - "asar": true, - "files": [ - "./dist/**/*", - "./dist-electron/**/*" - ], - "directories": { - "buildResources": "build", - "output": "release" - }, - "win": { - "icon": "./public/logo.ico", - "target": [ - { - "target": "nsis", - "arch": [ - "ia32" - ] - } - ] - }, - "nsis": { - "oneClick": false, - "allowElevation": true, - "allowToChangeInstallationDirectory": true, - "installerIcon": "./public/logo.ico", - "uninstallerIcon": "./public/logo.ico", - "installerHeaderIcon": "./public/logo.ico", - "createDesktopShortcut": true, - "createStartMenuShortcut": true - } - } -} + "name": "vite-electron", + "private": true, + "version": "1.1.2", + "main": "dist-electron/main.js", + "scripts": { + "dev": "chcp 65001 && vite", + "build": "node ./addVersion.js && vite build && electron-builder", + "preview": "vite preview", + "build:win": "node ./addVersion.js && vite build && electron-builder --w" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.3.1", + "axios": "^1.6.2", + "dayjs": "^1.11.10", + "electron-pos-printer": "^1.3.6", + "electron-pos-printer-vue": "^1.0.9", + "element-plus": "^2.4.3", + "lodash": "^4.17.21", + "pinia": "^2.1.7", + "swiper": "^11.1.1", + "vue": "^3.3.8", + "vue-router": "^4.2.5" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^4.5.0", + "electron": "^28.2.3", + "electron-builder": "^24.13.3", + "electron-rebuild": "^3.2.9", + "path": "^0.12.7", + "sass": "^1.69.5", + "sass-loader": "^13.3.2", + "tree-kill": "^1.2.2", + "vite": "^5.0.0", + "vite-plugin-electron": "^0.15.4", + "vite-plugin-electron-renderer": "^0.14.5" + }, + "build": { + "appId": "com.cashierdesktop.app", + "productName": "银收客", + "asar": true, + "files": [ + "./dist/**/*", + "./dist-electron/**/*" + ], + "directories": { + "buildResources": "build", + "output": "release" + }, + "win": { + "icon": "./public/logo.ico", + "target": [ + { + "target": "nsis", + "arch": [ + "ia32" + ] + } + ] + }, + "nsis": { + "oneClick": false, + "allowElevation": true, + "allowToChangeInstallationDirectory": true, + "installerIcon": "./public/logo.ico", + "uninstallerIcon": "./public/logo.ico", + "installerHeaderIcon": "./public/logo.ico", + "createDesktopShortcut": true, + "createStartMenuShortcut": true + } + } +} \ No newline at end of file diff --git a/src/api/product.js b/src/api/product.js index 63f479e..f4c875b 100644 --- a/src/api/product.js +++ b/src/api/product.js @@ -26,6 +26,19 @@ export function productqueryCommodityInfo(params) { }); } +/** + * 查询商品信息 + * @param {*} params + * @returns + */ +export function queryNewCommodityInfo(params) { + return request({ + method: "get", + url: "product/queryNewCommodityInfo", + params + }); +} + /** * 通过选中的商品规格查询价格 * @param {*} params diff --git a/src/views/home/components/goods.vue b/src/views/home/components/goods.vue index 25af305..8706dfc 100644 --- a/src/views/home/components/goods.vue +++ b/src/views/home/components/goods.vue @@ -30,11 +30,12 @@ - +
- + +
@@ -42,7 +43,7 @@
-
{{ item.name }}
+
{{ item.name }}
¥{{ item.lowPrice }} @@ -66,7 +67,7 @@ import useStorage from "@/utils/useStorage"; import skuModal from '@/components/skuModal.vue' -import { queryCategory, productqueryCommodityInfo, queryProductSku } from '@/api/product' +import { queryCategory, queryNewCommodityInfo, queryProductSku } from '@/api/product' import { useUser } from "@/store/user.js" import { Swiper, SwiperSlide } from 'swiper/vue' @@ -183,6 +184,7 @@ function changeCategory(index) { finish.value = false currentGoodsIndex.value = 0 loopMax.value = 0 + clearInterval(loopTimer.value) loopTimer.value = null updataGoods() @@ -221,7 +223,7 @@ async function queryCategoryAjax() { async function productqueryCommodityInfoAjax() { try { // loading.value = true - const res = await productqueryCommodityInfo({ + const res = await queryNewCommodityInfo({ shopId: store.userInfo.shopId, categoryId: categorys.value[categorysActive.value].id, commdityName: commdityName.value, @@ -234,11 +236,15 @@ async function productqueryCommodityInfoAjax() { } // loading.value = false - if (res.total > (goodsPageSize.value * 2)) { + if (res.pages > 2 && loopTimer.value == null) { // 启动循环任务 - loopMax.value = parseInt(res.total / goodsPageSize.value) + // loopMax.value = parseInt(res.total / goodsPageSize.value) loopGetGoods() } + if (goodsPage.value >= res.pages) { + clearInterval(loopTimer.value) + loopTimer.value = null + } return res.list } catch (error) { loading.value = false @@ -250,14 +256,9 @@ async function productqueryCommodityInfoAjax() { function loopGetGoods() { loopTimer.value = setInterval(async () => { goodsPage.value++ - if (goodsPage.value > loopMax.value) { - clearInterval(loopTimer.value) - loopTimer.value = null - return - } const res = await productqueryCommodityInfoAjax() goodsList.value.push(res) - }, 2000) + }, 1000) } // 更新商品数据 diff --git a/src/views/home/components/settleAccount.vue b/src/views/home/components/settleAccount.vue index 714e02d..abe9831 100644 --- a/src/views/home/components/settleAccount.vue +++ b/src/views/home/components/settleAccount.vue @@ -1,12 +1,7 @@