1
0

home.wxml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <navigation-bar background="{{themeMode === 'dark' ? '#111827' : '#FFF'}}"></navigation-bar>
  2. <view wx:if="{{toastText}}" class="page-toast page-toast--{{toastType}} {{themeClass}}">
  3. {{toastText}}
  4. </view>
  5. <scroll-view class="scrollarea {{themeClass}}" scroll-y type="list">
  6. <view class="page-shell">
  7. <view class="connected-panel">
  8. <view class="panel-header panel-header--with-actions">
  9. <view class="panel-icon icon-bluetooth">
  10. <image class="panel-icon-image" src="/assets/icons/bluetooth-connected-white.png" mode="aspectFit" />
  11. </view>
  12. <view class="panel-title">连接状态</view>
  13. <view class="panel-actions connection-actions">
  14. <view
  15. class="panel-action-button {{canStartScan ? '' : 'is-disabled'}}"
  16. bindtap="startScan"
  17. >
  18. {{scanButtonText}}
  19. </view>
  20. <view
  21. class="panel-action-button {{canClearDevices ? '' : 'is-disabled'}}"
  22. bindtap="clearDevices"
  23. >
  24. 清空
  25. </view>
  26. <view
  27. class="panel-action-button {{canDisconnectDevice ? '' : 'is-disabled'}}"
  28. bindtap="disconnectDevice"
  29. >
  30. 断开
  31. </view>
  32. </view>
  33. </view>
  34. <view class="connected-summary">
  35. <view class="connected-name">
  36. {{connectionName}}
  37. </view>
  38. </view>
  39. <view class="device-badges connection-badges">
  40. <view class="traffic-badge">{{txCount}} / {{rxCount}} bytes</view>
  41. <view class="rssi">{{connectionSignalText}}</view>
  42. <view class="connect-state {{connectedDevice ? 'connected' : ''}}">{{connectionStatusText}}</view>
  43. </view>
  44. <view class="meta-grid">
  45. <view class="meta-item">
  46. <text class="meta-label">设备 ID</text>
  47. <text class="meta-value">{{connectionDeviceId}}</text>
  48. </view>
  49. <view class="meta-item">
  50. <text class="meta-label">服务数</text>
  51. <text class="meta-value">{{connectionServiceCount}}</text>
  52. </view>
  53. <view class="meta-item">
  54. <text class="meta-label">特征值</text>
  55. <text class="meta-value">{{connectionCharacteristicText}}</text>
  56. </view>
  57. </view>
  58. </view>
  59. <view wx:if="{{showDeviceSection}}" class="device-section">
  60. <view class="panel-header outside-header">
  61. <view class="panel-icon icon-radar">
  62. <image class="panel-icon-image" src="/assets/icons/radar-white.png" mode="aspectFit" />
  63. </view>
  64. <view class="panel-title">附近设备 {{deviceCountText}}</view>
  65. <view class="device-filter">
  66. <view
  67. wx:for="{{deviceFilterOptions}}"
  68. wx:key="key"
  69. class="device-filter-item {{deviceFilterMode === item.key ? 'is-active' : ''}}"
  70. data-filter="{{item.key}}"
  71. bindtap="onDeviceFilterTap"
  72. >
  73. {{item.label}}
  74. </view>
  75. </view>
  76. </view>
  77. <scroll-view class="device-scroll" scroll-y type="list">
  78. <view wx:if="{{!devices.length}}" class="empty-state">
  79. <view class="empty-title">{{emptyDeviceTitle}}</view>
  80. <view class="empty-text">{{emptyDeviceText}}</view>
  81. </view>
  82. <view
  83. wx:for="{{devices}}"
  84. wx:key="deviceId"
  85. class="device-card {{connectedDevice && connectedDevice.deviceId === item.deviceId ? 'device-card--connected' : ''}}"
  86. data-device-id="{{item.deviceId}}"
  87. bindtap="connectDevice"
  88. >
  89. <view class="device-info">
  90. <view class="device-main-row">
  91. <view class="device-name">{{item.displayName}}</view>
  92. </view>
  93. <view class="device-badges device-badges--stacked">
  94. <view wx:if="{{connectingDeviceId === item.deviceId}}" class="connect-state">连接中</view>
  95. <view wx:elif="{{connectedDevice && connectedDevice.deviceId === item.deviceId}}" class="connect-state connected">已连接</view>
  96. <view wx:else class="connect-state">连接</view>
  97. <view class="rssi">{{item.signalText}}</view>
  98. </view>
  99. <view class="device-id">{{item.deviceId}}</view>
  100. <view class="device-meta-row">
  101. <view class="device-service">{{item.serviceText}}</view>
  102. <view wx:if="{{item.targetText}}" class="device-target">{{item.targetText}}</view>
  103. </view>
  104. </view>
  105. </view>
  106. </scroll-view>
  107. </view>
  108. </view>
  109. </scroll-view>