Initial commit - full huishou project

This commit is contained in:
jiapengyu
2026-07-27 14:07:26 +08:00
commit 60790ad1b3
39127 changed files with 5989265 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
"use strict";var e=(e,n,t)=>new Promise((i,o)=>{var s=e=>{try{r(t.next(e))}catch(n){o(n)}},c=e=>{try{r(t.throw(e))}catch(n){o(n)}},r=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,c);r((t=t.apply(e,n)).next())});const n=require("../../common/vendor.js"),t=require("../../common/assets.js"),i=require("../../stores/bluetooth.js"),o=n.defineComponent({__name:"bluetooth",setup(o){const s=i.useBluetoothStore(),c=()=>{s.isDiscovering?s.stopScan():s.startScan()},r=t=>e(this,null,function*(){s.isConnected&&(yield s.disconnect()),yield s.connect(t),s.isConnected&&(n.index.showToast({title:"连接成功",icon:"success"}),setTimeout(()=>{n.index.navigateBack()},1500))}),d=()=>e(this,null,function*(){yield s.disconnect(),n.index.showToast({title:"已断开连接",icon:"none"})});return(e,i)=>{var o;return n.e({a:n.unref(s).isDiscovering?"/static/icons/remind.png":"/static/icons/search.png",b:n.t(n.unref(s).isDiscovering?"停止搜索":"搜索设备"),c:n.unref(s).isDiscovering?1:"",d:n.o(c),e:n.unref(s).isConnected},n.unref(s).isConnected?{f:n.t(null==(o=n.unref(s).connectedDevice)?void 0:o.name),g:n.o(d)}:{},{h:n.unref(s).deviceList.length>0},n.unref(s).deviceList.length>0?{i:n.f(n.unref(s).deviceList,(e,t,i)=>{return{a:n.t(e.name),b:n.t(e.deviceId),c:n.t((o=e.RSSI,o>=-50?"📶":o>=-70?"📡":"📴")),d:e.deviceId,e:n.o(n=>r(e.deviceId),e.deviceId)};var o})}:{j:t._imports_0$3},{k:t._imports_1$2})}}}),s=n._export_sfc(o,[["__scopeId","data-v-5964b8fb"]]);wx.createPage(s);
+6
View File
@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "蓝牙连接",
"navigationBarBackgroundColor": "#3366ff",
"navigationBarTextStyle": "white",
"usingComponents": {}
}
+1
View File
@@ -0,0 +1 @@
<view class="container data-v-5964b8fb"><view class="scan-header data-v-5964b8fb"><view class="{{['scan-btn', 'data-v-5964b8fb', c && 'scanning']}}" bindtap="{{d}}"><image class="scan-icon-img data-v-5964b8fb" src="{{a}}" mode="aspectFit"/><text class="data-v-5964b8fb">{{b}}</text></view></view><view class="status-section data-v-5964b8fb"><view wx:if="{{e}}" class="status-item connected data-v-5964b8fb"><text class="status-dot data-v-5964b8fb"></text><text class="status-text data-v-5964b8fb">已连接接 {{f}}</text><view class="disconnect-btn data-v-5964b8fb" bindtap="{{g}}">断开</view></view><view wx:else class="status-item disconnected data-v-5964b8fb"><text class="status-dot data-v-5964b8fb"></text><text class="status-text data-v-5964b8fb">未连接接设备</text></view></view><view wx:if="{{h}}" class="device-list data-v-5964b8fb"><view class="list-title data-v-5964b8fb"><text class="list-icon data-v-5964b8fb">📱</text><text class="data-v-5964b8fb">可用设备</text></view><view wx:for="{{i}}" wx:for-item="device" wx:key="d" class="device-item data-v-5964b8fb" bindtap="{{device.e}}"><view class="device-info data-v-5964b8fb"><text class="device-icon data-v-5964b8fb">📦</text><view class="device-detail data-v-5964b8fb"><text class="device-name data-v-5964b8fb">{{device.a}}</text><text class="device-id data-v-5964b8fb">{{device.b}}</text></view></view><view class="device-signal data-v-5964b8fb"><text class="data-v-5964b8fb">{{device.c}}</text></view></view></view><view wx:else class="empty-state data-v-5964b8fb"><image class="empty-icon-img data-v-5964b8fb" src="{{j}}" mode="aspectFit"/><text class="empty-text data-v-5964b8fb">暂无可用设备</text><text class="empty-hint data-v-5964b8fb">请确保电子秤已开启蓝牙</text></view><view class="tips-card data-v-5964b8fb"><image class="tips-icon-img data-v-5964b8fb" src="{{k}}" mode="aspectFit"/><text class="tips-text data-v-5964b8fb">搜索范围10米,设备名称通常包含"Scale"</text></view></view>
+1
View File
@@ -0,0 +1 @@
.container.data-v-5964b8fb{min-height:100vh;background:#f5f5f5;padding:32rpx}.scan-header.data-v-5964b8fb{margin-bottom:24rpx}.scan-btn.data-v-5964b8fb{background:#fff;border-radius:40rpx;padding:24rpx;display:flex;align-items:center;justify-content:center;font-size:32rpx;font-weight:600;color:#36f;box-shadow:0 4rpx 12rpx rgba(0,0,0,.06)}.scan-btn.scanning.data-v-5964b8fb{background:#fee2e2;color:#ef4444}.scan-icon.data-v-5964b8fb{margin-right:12rpx}.scan-icon-img.data-v-5964b8fb{width:40rpx;height:40rpx;margin-right:12rpx}.status-section.data-v-5964b8fb{margin-bottom:32rpx}.status-item.data-v-5964b8fb{display:flex;align-items:center;padding:20rpx 24rpx;border-radius:12rpx}.status-item.connected.data-v-5964b8fb{background:#dcfce7}.status-item.disconnected.data-v-5964b8fb{background:#fef2f2}.status-dot.data-v-5964b8fb{width:16rpx;height:16rpx;border-radius:50%;margin-right:12rpx}.connected .status-dot.data-v-5964b8fb{background:#22c55e}.disconnected .status-dot.data-v-5964b8fb{background:#ef4444}.status-text.data-v-5964b8fb{flex:1;font-size:28rpx}.connected .status-text.data-v-5964b8fb{color:#166534}.disconnected .status-text.data-v-5964b8fb{color:#991b1b}.disconnect-btn.data-v-5964b8fb{font-size:26rpx;color:#ef4444;padding:8rpx 20rpx;background:rgba(239,68,68,.1);border-radius:8rpx}.device-list.data-v-5964b8fb{background:#fff;border-radius:16rpx;overflow:hidden;margin-bottom:24rpx}.list-title.data-v-5964b8fb{display:flex;align-items:center;padding:24rpx;font-size:30rpx;font-weight:600;color:#333;border-bottom:1rpx solid #f0f0f0}.list-icon.data-v-5964b8fb{margin-right:12rpx}.device-item.data-v-5964b8fb{display:flex;justify-content:space-between;align-items:center;padding:24rpx;border-bottom:1rpx solid #f0f0f0}.device-item.data-v-5964b8fb:last-child{border-bottom:none}.device-item.data-v-5964b8fb:active{background:#f9fafb}.device-info.data-v-5964b8fb{display:flex;align-items:center;flex:1}.device-icon.data-v-5964b8fb{font-size:40rpx;margin-right:16rpx}.device-detail.data-v-5964b8fb{display:flex;flex-direction:column}.device-name.data-v-5964b8fb{font-size:30rpx;font-weight:600;color:#333;margin-bottom:4rpx}.device-id.data-v-5964b8fb{font-size:22rpx;color:#999}.device-signal.data-v-5964b8fb{font-size:26rpx;color:#666;padding:6rpx 16rpx;background:#f3f4f6;border-radius:20rpx}.empty-state.data-v-5964b8fb{display:flex;flex-direction:column;align-items:center;padding:80rpx 40rpx;background:#fff;border-radius:16rpx;margin-bottom:24rpx}.empty-icon.data-v-5964b8fb{font-size:80rpx;margin-bottom:20rpx}.empty-icon-img.data-v-5964b8fb{width:100rpx;height:100rpx;margin-bottom:20rpx}.empty-text.data-v-5964b8fb{font-size:32rpx;font-weight:600;color:#333;margin-bottom:8rpx}.empty-hint.data-v-5964b8fb{font-size:26rpx;color:#999}.tips-card.data-v-5964b8fb{background:#eff6ff;border:1rpx solid #dbeafe;border-radius:12rpx;padding:20rpx 24rpx;display:flex;align-items:center}.tips-icon.data-v-5964b8fb{font-size:32rpx;margin-right:12rpx}.tips-icon-img.data-v-5964b8fb{width:36rpx;height:36rpx;margin-right:12rpx}.tips-text.data-v-5964b8fb{font-size:26rpx;color:#1e40af}