This commit is contained in:
doudou201703
2026-08-12 20:40:44 +08:00
parent 5955119fff
commit 000e45648b
13 changed files with 251 additions and 42 deletions
+2 -1
View File
@@ -18,6 +18,7 @@ export default defineConfig({
vue(),
AutoImport({
resolvers: [ElementPlusResolver()]
}),
Components({
resolvers: [ElementPlusResolver()]
@@ -27,7 +28,7 @@ export default defineConfig({
proxy: {
"/api": {
// target: "http://127.0.0.1:8000/", // 目标服务器地址
target: "https://six.sixgou.com/", // 目标服务器地址
target: "https://xiao.sixgou.com/", // 目标服务器地址
changeOrigin: true, // 开启跨域
// 重写路径,将 /api/six_demo/demo 重写为 /six_demo/demo
rewrite: (path) => path.replace(/^\/api/, "")
+2
View File
@@ -31,8 +31,10 @@
"electron-updater": "^6.3.9",
"element-plus": "^2.14.2",
"node-global-key-listener": "^0.3.0",
"node-hid": "^3.4.0",
"pinia": "^3.0.4",
"pinia-plugin-persistedstate": "^4.7.1",
"serialport": "^13.0.0",
"unplugin-element-plus": "^0.11.2",
"vue-echarts": "^8.0.1",
"vue-next-wxlogin": "^1.0.4",
+11 -16
View File
@@ -2,8 +2,7 @@ import { app, BrowserWindow, ipcMain, screen, shell } from "electron";
import { join } from "path";
import { electronApp, is, optimizer } from "@electron-toolkit/utils";
import icon from "../../resources/icon.png?asset";
import { initGlobalScanner } from "./key";
import { OninitScannerSerialPort监听电子秤 } from "./监听电子秤";
//
@@ -32,11 +31,15 @@ app.on("second-instance", (_, argv) => {
const url = argv.find(arg => arg.startsWith("myapp://"));
if (url) {
console.log("✅ Windows/Linux 收到 myapp:", url);
let uri = new URL(url);
const paramsObj = Object.fromEntries(uri.searchParams.entries());
if (mainWindow && mainWindow.webContents) {
mainWindow.webContents.send("wx", paramsObj);
}
}
});
function createWindow(windowWidth: number = 1920, windowHeight: number = 997): void {
mainWindow = new BrowserWindow({
width: windowWidth, // 设置窗口宽度
height: windowHeight, //设置窗口高度
@@ -58,7 +61,8 @@ function createWindow(windowWidth: number = 1920, windowHeight: number = 997): v
webSecurity: true
}
});
initGlobalScanner(mainWindow); // ★ 现在 mainWindow 已经有值了
// initScanner();
OninitScannerSerialPort监听电子秤(mainWindow);
// 可以打开,开发者工具
mainWindow.webContents.openDevTools();
// 关键:修改 CSP 允许连接 six.sixgou.com
@@ -76,7 +80,7 @@ function createWindow(windowWidth: number = 1920, windowHeight: number = 997): v
mainWindow.loadURL(process.env["ELECTRON_RENDERER_URL"]).then();
} else {
mainWindow.loadFile(join(__dirname, "../renderer/index.html")).then(() => {
console.log("加 载成功了");
console.log("加载成功了");
}).catch((reason) => {
console.log("打包后的状态错误回调", reason);
});
@@ -136,14 +140,5 @@ app.on("window-all-closed", () => {
// app.quit(); // ✅ macOS / Windows 都退出
});
//在这个文件里,你可以包含你应用的具体主要流程的其他部分
// code. You can also put them in separate files and require them here.
// app.on("browser-window-blur", (event) => {
// console.log(event, "失去光标会触发的");
// });
// app.on("browser-window-focus", () => {
// console.log("获取光标时得到光标");
// });
// app.on("did-resign-active", () => {
// console.log("切换时的触发 实测,切换了别的app的会触发的事件");
// });
// 在应用入口处注册退出事件
+43
View File
@@ -0,0 +1,43 @@
import { DelimiterParser, SerialPort } from "serialport";
import { BrowserWindow } from "electron";
export function OninitScannerSerialPort监听电子秤(mainWindow: BrowserWindow) {
SerialPort.list().then((ports) => {
console.log(ports, typeof ports);
const scalePort = ports.find(p => {
return p.vendorId === "0403" && p.productId === "6001";
}
);
if (!scalePort) {
console.error("❌ 未找到电子秤串口");
return;
}
console.log("✅ 找到电子秤串口:", scalePort.path);
const port = new SerialPort({
// path: "/dev/tty.usbserial-A5069RR4",
path: scalePort.path, // ✅ 动态获取,自动适配各平台
baudRate: 9600
}, (res) => {
console.log(res, "为null时,说明没有报错");
});
// 以 0x03 0x04 作为帧分隔符
const parser = port.pipe(new DelimiterParser({ delimiter: [0x03, 0x04] }));
// const parser = port.pipe(new DelimiterParser({ delimiter: [0x60] }));
parser.on("data", (frame) => {
const text = frame.toString("ascii").trim();
// 提取重量数值
const match = text.match(/[+-]?\d+\.\d+/);
if (match) {
mainWindow.webContents.send("电子秤", parseFloat(match[0]));
}
});
parser.on("error", (err) => {
console.error("❌ 串口错误:", err.message);
});
});
}
+1 -1
View File
@@ -14,7 +14,7 @@
img-src 'self' data: *;
font-src *;
frame-src 'self' https://open.weixin.qq.com https://*.open.weixin.qq.com;
connect-src 'self' https://six.sixgou.com http://localhost:5173 https://res.wx.qq.com https://at.alicdn.com https://open.weixin.qq.com https://datav.aliyun.com ws://127.0.0.1:8000;
connect-src 'self' https://six.sixgou.com http://localhost:5173 https://res.wx.qq.com https://at.alicdn.com https://open.weixin.qq.com https://datav.aliyun.com ws://127.0.0.1:8000 https://xiao.sixgou.com;
"
/>
<link href="https://hudie.xiao.band/static/wx-login.css">
+9 -11
View File
@@ -2,24 +2,22 @@
import { onMounted, ref } from "vue";
import { useRouter } from "vue-router";
import { useMainXiaoStore } from "@renderer/stores";
import { instance } from "@renderer/utils/request";
let xiaoMain = useMainXiaoStore();
let loading = ref(false);
const router_path = useRouter();
// router_path.push({ name: "图表页" });
onMounted(() => {
// router_path.push({ name: "登陆页" });
instance.post<string>("https://six.sixgou.com/demo/xiaozizi/", {},
{ headers: { "Authorization": xiaoMain.weChatUserInfo?.token } }
).then((data) => {
console.log(data);
router_path.replace({ name: "学习页面" });
}).catch((error) => {
console.log("错误被捕获了", error);
router_path.replace({ name: "登陆页" });
});
// instance.post<string>("https://six.sixgou.com/demo/xiaozizi/", {},
// { headers: { "Authorization": xiaoMain.weChatUserInfo?.token } }
// ).then((data) => {
// console.log(data);
// router_path.replace({ name: "学习页面" });
// }).catch((error) => {
// console.log("错误被捕获了", error);
// router_path.replace({ name: "登陆页" });
// });
});
</script>
+2 -2
View File
@@ -1,9 +1,9 @@
import axios from "axios";
// 判断是否为 Electron 生产环境
console.log(import.meta.env.MODE);
console.log(import.meta.env.MODE, "URL import.meta.env.PROD 这里的值,是生产环境,判断用的");
export const instance = axios.create({
// 开发环境用相对路径(走 Vite 代理)
// 生产环境用完整 URL import.meta.env.PROD 这里的值,是生产环境,判断用的
baseURL: import.meta.env.PROD ? "https://six.sixgou.com" : "/api"
baseURL: import.meta.env.PROD ? "https://xiao.sixgou.com" : "/api"
});
@@ -1,17 +1,35 @@
<script setup lang="ts">
import ThemeToggle from "@renderer/通用组件/主题切换组件.vue";
import { onMounted, ref } from "vue";
import { instance } from "@renderer/utils/request";
import { watchThrottled } from "@vueuse/core";
const 电子秤重量 = ref();
watchThrottled(电子秤重量, (value, oldValue, onCleanup) => {
console.log(value, oldValue, onCleanup);
},
{ throttle: 300 }
);
const code_list = ref<Array<string>>([]);
onMounted(async () => {
window.electron.ipcRenderer.on("扫码", (_, args: string) => {
console.log(args, "扫码结果");
code_list.value.push(args);
instance.post("/demopay/qrCode/", {
auth_code: args
});
});
// 还需要监听电子秤的数值
window.electron.ipcRenderer.on("电子秤", (_, args: string) => {
电子秤重量.value = args;
});
});
const 向主进程发送ping事件 = async (): Promise<void> => {
window.electron.ipcRenderer.send("ping", "前端发送来的消息哟");
};
const 发起请求 = async (): Promise<void> => {
await instance.post("/demo/中文/", {});
};
</script>
<template>
@@ -21,12 +39,17 @@
<div>
<el-button type="danger" @click="向主进程发送ping事件">向主进程发送ping事件</el-button>
</div>
<div>
<el-button type="danger" @click="发起请求">测试请求</el-button>
</div>
<div>
<div class="" v-for="(value,index) in code_list" v-bind:key="index">
<div>{{ value }}</div>
</div>
</div>
<div>
电子秤重量{{ 电子秤重量 }}
</div>
</div>
</template>
<style lang="scss" scoped>
@@ -27,18 +27,13 @@
</template>
<script setup lang="ts">
import { onMounted, ref } from "vue";
import { useRouter } from "vue-router";
const input = ref("");
let router = useRouter();
const 测试跨域 = async (): Promise<void> => {
console.log("========");
};
onMounted(() => {
window.on发送登陆状态事件((res) => {
console.log("===============", res);
router.push({ name: "学习页面" });
});
});
</script>
@@ -20,7 +20,7 @@
id: "login_container",
appid: "wx6c9d4541e0285d02",
scope: "snsapi_login",
redirect_uri: "https://six.sixgou.com/web/auth/get_code/",
redirect_uri: "https://xiao.sixgou.com/web/auth/get_code/",
// redirect_uri: "myapp://login/callback",
state: "xiaozizi",
style: "black",
@@ -37,6 +37,7 @@
}
});
});
</script>
<template>
@@ -34,7 +34,7 @@
let router = useRouter();
onMounted(() => {
window.electron.ipcRenderer.on("wx", (_, args: WeChatUserInfoType) => {
console.log(args);
console.log("路由触发了,在这里拿到路由的值", args);
xiaoMain.weChatUserInfo = args;
router.push({ name: "学习页面" });
});
+152 -1
View File
@@ -1049,6 +1049,102 @@
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.2.tgz#3671ce3f9b928d5c01f879792d5c0b60ae14d4ad"
integrity sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA==
"@serialport/binding-mock@10.2.2":
version "10.2.2"
resolved "https://registry.npmmirror.com/@serialport/binding-mock/-/binding-mock-10.2.2.tgz#d322a8116a97806addda13c62f50e73d16125874"
integrity sha512-HAFzGhk9OuFMpuor7aT5G1ChPgn5qSsklTFOTUX72Rl6p0xwcSVsRtG/xaGp6bxpN7fI9D/S8THLBWbBgS6ldw==
dependencies:
"@serialport/bindings-interface" "^1.2.1"
debug "^4.3.3"
"@serialport/bindings-cpp@13.0.0":
version "13.0.0"
resolved "https://registry.npmmirror.com/@serialport/bindings-cpp/-/bindings-cpp-13.0.0.tgz#d8a06881c1f9ce59c28fb22e23ad72062963b26d"
integrity sha512-r25o4Bk/vaO1LyUfY/ulR6hCg/aWiN6Wo2ljVlb4Pj5bqWGcSRC4Vse4a9AcapuAu/FeBzHCbKMvRQeCuKjzIQ==
dependencies:
"@serialport/bindings-interface" "1.2.2"
"@serialport/parser-readline" "12.0.0"
debug "4.4.0"
node-addon-api "8.3.0"
node-gyp-build "4.8.4"
"@serialport/bindings-interface@1.2.2", "@serialport/bindings-interface@^1.2.1":
version "1.2.2"
resolved "https://registry.npmmirror.com/@serialport/bindings-interface/-/bindings-interface-1.2.2.tgz#c4ae9c1c85e26b02293f62f37435478d90baa460"
integrity sha512-CJaUd5bLvtM9c5dmO9rPBHPXTa9R2UwpkJ0wdh9JCYcbrPWsKz+ErvR0hBLeo7NPeiFdjFO4sonRljiw4d2XiA==
"@serialport/parser-byte-length@13.0.0":
version "13.0.0"
resolved "https://registry.npmmirror.com/@serialport/parser-byte-length/-/parser-byte-length-13.0.0.tgz#173b3f94ff24f30a617faef396579bb876082c3c"
integrity sha512-32yvqeTAqJzAEtX5zCrN1Mej56GJ5h/cVFsCDPbF9S1ZSC9FWjOqNAgtByseHfFTSTs/4ZBQZZcZBpolt8sUng==
"@serialport/parser-cctalk@13.0.0":
version "13.0.0"
resolved "https://registry.npmmirror.com/@serialport/parser-cctalk/-/parser-cctalk-13.0.0.tgz#d1fc988454b49241d744d581dbb3d5ec4df5af5a"
integrity sha512-RErAe57g9gvnlieVYGIn1xymb1bzNXb2QtUQd14FpmbQQYlcrmuRnJwKa1BgTCujoCkhtaTtgHlbBWOxm8U2uA==
"@serialport/parser-delimiter@12.0.0":
version "12.0.0"
resolved "https://registry.npmmirror.com/@serialport/parser-delimiter/-/parser-delimiter-12.0.0.tgz#43d3687f982829cc9b48ee0b21f2de80d0f19778"
integrity sha512-gu26tVt5lQoybhorLTPsH2j2LnX3AOP2x/34+DUSTNaUTzu2fBXw+isVjQJpUBFWu6aeQRZw5bJol5X9Gxjblw==
"@serialport/parser-delimiter@13.0.0":
version "13.0.0"
resolved "https://registry.npmmirror.com/@serialport/parser-delimiter/-/parser-delimiter-13.0.0.tgz#5d342004cfc5af30f4694e18a4d3407a66ca1eec"
integrity sha512-Qqyb0FX1avs3XabQqNaZSivyVbl/yl0jywImp7ePvfZKLwx7jBZjvL+Hawt9wIG6tfq6zbFM24vzCCK7REMUig==
"@serialport/parser-inter-byte-timeout@13.0.0":
version "13.0.0"
resolved "https://registry.npmmirror.com/@serialport/parser-inter-byte-timeout/-/parser-inter-byte-timeout-13.0.0.tgz#e0b696ebe921ba9a120088bd012ef413d61d7f40"
integrity sha512-a0w0WecTW7bD2YHWrpTz1uyiWA2fDNym0kjmPeNSwZ2XCP+JbirZt31l43m2ey6qXItTYVuQBthm75sPVeHnGA==
"@serialport/parser-packet-length@13.0.0":
version "13.0.0"
resolved "https://registry.npmmirror.com/@serialport/parser-packet-length/-/parser-packet-length-13.0.0.tgz#fcb80de042720c8c029cf912a9ec268f5fa6ec87"
integrity sha512-60ZDDIqYRi0Xs2SPZUo4Jr5LLIjtb+rvzPKMJCohrO6tAqSDponcNpcB1O4W21mKTxYjqInSz+eMrtk0LLfZIg==
"@serialport/parser-readline@12.0.0":
version "12.0.0"
resolved "https://registry.npmmirror.com/@serialport/parser-readline/-/parser-readline-12.0.0.tgz#50e992004d7a84d5a12e0b016adb9021d3a72fbb"
integrity sha512-O7cywCWC8PiOMvo/gglEBfAkLjp/SENEML46BXDykfKP5mTPM46XMaX1L0waWU6DXJpBgjaL7+yX6VriVPbN4w==
dependencies:
"@serialport/parser-delimiter" "12.0.0"
"@serialport/parser-readline@13.0.0":
version "13.0.0"
resolved "https://registry.npmmirror.com/@serialport/parser-readline/-/parser-readline-13.0.0.tgz#624594a1af030949eaea9873a4c50fe6c464f85e"
integrity sha512-dov3zYoyf0dt1Sudd1q42VVYQ4WlliF0MYvAMA3MOyiU1IeG4hl0J6buBA2w4gl3DOCC05tGgLDN/3yIL81gsA==
dependencies:
"@serialport/parser-delimiter" "13.0.0"
"@serialport/parser-ready@13.0.0":
version "13.0.0"
resolved "https://registry.npmmirror.com/@serialport/parser-ready/-/parser-ready-13.0.0.tgz#f56b289632426fb50da79222106e09a602df5f41"
integrity sha512-JNUQA+y2Rfs4bU+cGYNqOPnNMAcayhhW+XJZihSLQXOHcZsFnOa2F9YtMg9VXRWIcnHldHYtisp62Etjlw24bw==
"@serialport/parser-regex@13.0.0":
version "13.0.0"
resolved "https://registry.npmmirror.com/@serialport/parser-regex/-/parser-regex-13.0.0.tgz#0de6d1b8224d5b14c6ad5208c30a842cb5c0d312"
integrity sha512-m7HpIf56G5XcuDdA3DB34Z0pJiwxNRakThEHjSa4mG05OnWYv0IG8l2oUyYfuGMowQWaVnQ+8r+brlPxGVH+eA==
"@serialport/parser-slip-encoder@13.0.0":
version "13.0.0"
resolved "https://registry.npmmirror.com/@serialport/parser-slip-encoder/-/parser-slip-encoder-13.0.0.tgz#961439d6aa0f519c05dcabbfc47a8cfea068fedd"
integrity sha512-fUHZEExm6izJ7rg0A1yjXwu4sOzeBkPAjDZPfb+XQoqgtKAk+s+HfICiYn7N2QU9gyaeCO8VKgWwi+b/DowYOg==
"@serialport/parser-spacepacket@13.0.0":
version "13.0.0"
resolved "https://registry.npmmirror.com/@serialport/parser-spacepacket/-/parser-spacepacket-13.0.0.tgz#3f2ff34e9b4c32ead1d50db50cd1a27b49f154d6"
integrity sha512-DoXJ3mFYmyD8X/8931agJvrBPxqTaYDsPoly9/cwQSeh/q4EjQND9ySXBxpWz5WcpyCU4jOuusqCSAPsbB30Eg==
"@serialport/stream@13.0.0":
version "13.0.0"
resolved "https://registry.npmmirror.com/@serialport/stream/-/stream-13.0.0.tgz#12f04da9429809bb3ace2e9b7369b82ba1d39f0a"
integrity sha512-F7xLJKsjGo2WuEWMSEO1SimRcOA+WtWICsY13r0ahx8s2SecPQH06338g28OT7cW7uRXI7oEQAk62qh5gHJW3g==
dependencies:
"@serialport/bindings-interface" "1.2.2"
debug "4.4.0"
"@sindresorhus/is@^4.0.0":
version "4.6.0"
resolved "https://registry.npmmirror.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f"
@@ -1938,13 +2034,20 @@ dayjs@^1.11.20:
resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.21.tgz#57f87562e62de76f3c704bd2b8d522fc33068eb2"
integrity sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==
debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.4.0, debug@^4.4.3:
debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@^4.4.0, debug@^4.4.3:
version "4.4.3"
resolved "https://registry.npmmirror.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a"
integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
dependencies:
ms "^2.1.3"
debug@4.4.0:
version "4.4.0"
resolved "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a"
integrity sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==
dependencies:
ms "^2.1.3"
decompress-response@^6.0.0:
version "6.0.0"
resolved "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
@@ -3243,11 +3346,21 @@ node-abi@^4.2.0:
dependencies:
semver "^7.6.3"
node-addon-api@8.3.0:
version "8.3.0"
resolved "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-8.3.0.tgz#ec3763f18befc1cdf66d11e157ce44d5eddc0603"
integrity sha512-8VOpLHFrOQlAH+qA0ZzuGRlALRA6/LVh8QJldbrC4DY0hXoMP0l4Acq8TzFC018HztWiRqyCEj2aTWY2UvnJUg==
node-addon-api@^7.0.0:
version "7.1.1"
resolved "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558"
integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==
node-addon-api@^8.9.0:
version "8.9.1"
resolved "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-8.9.1.tgz#f40a3c0f087d767e7b2961172158badb3b49697c"
integrity sha512-4eUQWVPCUUUiBjLnHS3cXWeC6ryoPUc0U3rP7IuzapoGbzMqd/r6KKO0clr0b+snQhsrueFEhCZDdK+LK7hxKg==
node-api-version@^0.2.1:
version "0.2.1"
resolved "https://registry.npmmirror.com/node-api-version/-/node-api-version-0.2.1.tgz#19bad54f6d65628cbee4e607a325e4488ace2de9"
@@ -3262,6 +3375,11 @@ node-global-key-listener@^0.3.0:
dependencies:
sudo-prompt "^9.2.1"
node-gyp-build@4.8.4:
version "4.8.4"
resolved "https://registry.npmmirror.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8"
integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==
node-gyp@^12.2.0:
version "12.4.0"
resolved "https://registry.npmmirror.com/node-gyp/-/node-gyp-12.4.0.tgz#2d017b6ea1ca9294dbbee75be533728f49257024"
@@ -3278,6 +3396,14 @@ node-gyp@^12.2.0:
undici "^6.25.0"
which "^6.0.0"
node-hid@^3.4.0:
version "3.4.0"
resolved "https://registry.npmmirror.com/node-hid/-/node-hid-3.4.0.tgz#dca0b7eb00eb9ee8bc652ef0437e30ed1889fba4"
integrity sha512-Br7EO3bJARAJBdtcsGzF/Vs5TjfbkaMdglqLQ+Rk9GOGgVqv5DxYUVH5znLerJU+OfBWw8sd552Ujcprz1bG9g==
dependencies:
node-addon-api "^8.9.0"
pkg-prebuilds "^1.1.0"
node-int64@^0.4.0:
version "0.4.0"
resolved "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
@@ -3441,6 +3567,11 @@ pinia@^3.0.4:
dependencies:
"@vue/devtools-api" "^7.7.7"
pkg-prebuilds@^1.1.0:
version "1.1.0"
resolved "https://registry.npmmirror.com/pkg-prebuilds/-/pkg-prebuilds-1.1.0.tgz#2e475a4cd0318d3ef595698b351463e06c3c293a"
integrity sha512-jyai+KTQ2OwbN6iRYw88XbYOMgtpoSYJpjYebx7d9ihqz3txNi3ucsBt3va0iVWe6svSlaqpijMHFF/eJCMZzg==
pkg-types@^1.3.1:
version "1.3.1"
resolved "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.3.1.tgz#bd7cc70881192777eef5326c19deb46e890917df"
@@ -3923,6 +4054,26 @@ serialize-error@^7.0.1:
dependencies:
type-fest "^0.13.1"
serialport@^13.0.0:
version "13.0.0"
resolved "https://registry.npmmirror.com/serialport/-/serialport-13.0.0.tgz#f92a8c04e1b0ba5550bdf01224df27f7919b14c4"
integrity sha512-PHpnTd8isMGPfFTZNCzOZp9m4mAJSNWle9Jxu6BPTcWq7YXl5qN7tp8Sgn0h+WIGcD6JFz5QDgixC2s4VW7vzg==
dependencies:
"@serialport/binding-mock" "10.2.2"
"@serialport/bindings-cpp" "13.0.0"
"@serialport/parser-byte-length" "13.0.0"
"@serialport/parser-cctalk" "13.0.0"
"@serialport/parser-delimiter" "13.0.0"
"@serialport/parser-inter-byte-timeout" "13.0.0"
"@serialport/parser-packet-length" "13.0.0"
"@serialport/parser-readline" "13.0.0"
"@serialport/parser-ready" "13.0.0"
"@serialport/parser-regex" "13.0.0"
"@serialport/parser-slip-encoder" "13.0.0"
"@serialport/parser-spacepacket" "13.0.0"
"@serialport/stream" "13.0.0"
debug "4.4.0"
shebang-command@^2.0.0:
version "2.0.0"
resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"