2 lines
1.1 KiB
JavaScript
2 lines
1.1 KiB
JavaScript
"use strict";var e=(e,t,n)=>new Promise((o,r)=>{var c=e=>{try{i(n.next(e))}catch(t){r(t)}},l=e=>{try{i(n.throw(e))}catch(t){r(t)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(c,l);i((n=n.apply(e,t)).next())});const t=require("../common/vendor.js"),n=require("../utils/bluetooth.js"),o=t.defineStore("bluetooth",()=>{const o=t.ref(!1),r=t.ref(!1),c=t.ref([]),l=t.ref(null),i=t.ref(0);return{isConnected:o,isDiscovering:r,deviceList:c,connectedDevice:l,currentWeight:i,init:()=>e(exports,null,function*(){try{yield n.initBluetooth()}catch(e){console.error("Bluetooth init failed:",e)}}),startScan:()=>e(exports,null,function*(){r.value=!0,c.value=[],yield n.startDiscovery(e=>{c.value=e})}),stopScan:()=>{r.value=!1,n.stopDiscovery()},connect:t=>e(exports,null,function*(){try{yield n.connectDevice(t);const e=c.value.find(e=>e.deviceId===t);e&&(l.value=e,o.value=!0),n.listenWeightData(e=>{i.value=e})}catch(e){console.error("Connect failed:",e)}}),disconnect:()=>e(exports,null,function*(){try{yield n.disconnectDevice(),o.value=!1,l.value=null,i.value=0}catch(e){console.error("Disconnect failed:",e)}}),resetWeight:()=>{i.value=0}}});exports.useBluetoothStore=o;
|