2 lines
882 B
JavaScript
2 lines
882 B
JavaScript
"use strict";const e=require("../common/vendor.js"),t=require("../utils/bluetooth.js"),c=e.defineStore("bluetooth",()=>{const c=e.ref(!1),n=e.ref(!1),o=e.ref([]),i=e.ref(null),a=e.ref(0);return{isConnected:c,isDiscovering:n,deviceList:o,connectedDevice:i,currentWeight:a,init:async()=>{try{await t.initBluetooth()}catch(e){console.error("Bluetooth init failed:",e)}},startScan:async()=>{n.value=!0,o.value=[],await t.startDiscovery(e=>{o.value=e})},stopScan:()=>{n.value=!1,t.stopDiscovery()},connect:async e=>{try{await t.connectDevice(e);const n=o.value.find(t=>t.deviceId===e);n&&(i.value=n,c.value=!0),t.listenWeightData(e=>{a.value=e})}catch(n){console.error("Connect failed:",n)}},disconnect:async()=>{try{await t.disconnectDevice(),c.value=!1,i.value=null,a.value=0}catch(e){console.error("Disconnect failed:",e)}},resetWeight:()=>{a.value=0}}});exports.useBluetoothStore=c;
|