2 lines
3.3 KiB
JavaScript
2 lines
3.3 KiB
JavaScript
var s=(s,e,t)=>new Promise((a,c)=>{var l=s=>{try{n(t.next(s))}catch(e){c(e)}},i=s=>{try{n(t.throw(s))}catch(e){c(e)}},n=s=>s.done?a(s.value):Promise.resolve(s.value).then(l,i);n((t=t.apply(s,e)).next())});import{g as e,a as t,K as a,k as c,u as l,f as i,p as n,J as d,m as o,l as u,e as r,H as f,d as _,F as m,z as v,E as p,n as g}from"./index-CfY8Z-kW.js";import{u as y}from"./bluetooth.ChhihnNc.js";import{_ as h}from"./_plugin-vue_export-helper.BCo6x5W8.js";const k=h(e({__name:"bluetooth",setup(e){const h=y(),k=()=>{h.isDiscovering?h.stopScan():h.startScan()},x=e=>s(this,null,function*(){h.isConnected&&(yield h.disconnect()),yield h.connect(e),h.isConnected&&(p({title:"连接成功",icon:"success"}),setTimeout(()=>{g()},1500))}),C=()=>s(this,null,function*(){yield h.disconnect(),p({title:"已断开连接",icon:"none"})});return(s,e)=>{const p=o,g=u,y=c;return l(),t(y,{class:"container"},{default:a(()=>[i(y,{class:"scan-header"},{default:a(()=>[i(y,{class:n(["scan-btn",{scanning:d(h).isDiscovering}]),onClick:k},{default:a(()=>[i(p,{class:"scan-icon-img",src:d(h).isDiscovering?"/static/icons/remind.png":"/static/icons/search.png",mode:"aspectFit"},null,8,["src"]),i(g,null,{default:a(()=>[r(f(d(h).isDiscovering?"停止搜索":"搜索设备"),1)]),_:1})]),_:1},8,["class"])]),_:1}),i(y,{class:"status-section"},{default:a(()=>[d(h).isConnected?(l(),t(y,{key:0,class:"status-item connected"},{default:a(()=>[i(g,{class:"status-dot"}),i(g,{class:"status-text"},{default:a(()=>{var s;return[r("已连接接 "+f(null==(s=d(h).connectedDevice)?void 0:s.name),1)]}),_:1}),i(y,{class:"disconnect-btn",onClick:C},{default:a(()=>[r("断开")]),_:1})]),_:1})):(l(),t(y,{key:1,class:"status-item disconnected"},{default:a(()=>[i(g,{class:"status-dot"}),i(g,{class:"status-text"},{default:a(()=>[r("未连接接设备")]),_:1})]),_:1}))]),_:1}),d(h).deviceList.length>0?(l(),t(y,{key:0,class:"device-list"},{default:a(()=>[i(y,{class:"list-title"},{default:a(()=>[i(g,{class:"list-icon"},{default:a(()=>[r("📱")]),_:1}),i(g,null,{default:a(()=>[r("可用设备")]),_:1})]),_:1}),(l(!0),_(m,null,v(d(h).deviceList,s=>(l(),t(y,{key:s.deviceId,class:"device-item",onClick:e=>x(s.deviceId)},{default:a(()=>[i(y,{class:"device-info"},{default:a(()=>[i(g,{class:"device-icon"},{default:a(()=>[r("📦")]),_:1}),i(y,{class:"device-detail"},{default:a(()=>[i(g,{class:"device-name"},{default:a(()=>[r(f(s.name),1)]),_:2},1024),i(g,{class:"device-id"},{default:a(()=>[r(f(s.deviceId),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),i(y,{class:"device-signal"},{default:a(()=>[i(g,null,{default:a(()=>{return[r(f((e=s.RSSI,e>=-50?"📶":e>=-70?"📡":"📴")),1)];var e}),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})):(l(),t(y,{key:1,class:"empty-state"},{default:a(()=>[i(p,{class:"empty-icon-img",src:"./static/icons/empty-device.png",mode:"aspectFit"}),i(g,{class:"empty-text"},{default:a(()=>[r("暂无可用设备")]),_:1}),i(g,{class:"empty-hint"},{default:a(()=>[r("请确保电子秤已开启蓝牙")]),_:1})]),_:1})),i(y,{class:"tips-card"},{default:a(()=>[i(p,{class:"tips-icon-img",src:"./static/icons/remind.png",mode:"aspectFit"}),i(g,{class:"tips-text"},{default:a(()=>[r('搜索范围10米,设备名称通常包含"Scale"')]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-5964b8fb"]]);export{k as default};
|