uni-app WifiInfo中signalStrength是负数,和文档不符
uni-app WifiInfo中signalStrength是负数,和文档不符
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | Sequoia 15.4.1 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Mac
PC开发环境操作系统版本号:Sequoia 15.4.1
HBuilderX类型:正式
HBuilderX版本号:4.76
手机系统:Android
手机系统版本号:Android 13
手机厂商:小米
手机机型:小米10
页面类型:vue
vue版本:vue3
打包方式:云端
项目创建方式:HBuilderX
### 操作步骤:
通过uni.onGetWifiList获取WiFi列表即可
### 预期结果:
wifiInfo中的signalStrength应该如文档描述是0-100
### 实际结果:
实际显示负数
```json
{
"frequency": 5785,
"SSID": "Wei-Global",
"signalStrength": -87,
"securityType": "NONE",
"secure": false,
"BSSID": "08:fa:28:2d:f8:d4"
}
更多关于uni-app WifiInfo中signalStrength是负数,和文档不符的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1 回复
更多关于uni-app WifiInfo中signalStrength是负数,和文档不符的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在无线通信领域,WiFi信号强度(RSSI)通常以负dBm值表示,这是行业标准做法。uni-app文档中提到的0-100范围可能是对信号质量的百分比转换,但底层系统API返回的原始值确实是负数。
您遇到的情况是正常的:Android系统直接返回了RSSI的原始dBm值,-87 dBm属于中等偏弱的信号强度(一般-30 dBm为极强信号,-90 dBm为临界可用信号)。
建议的处理方式:
- 如需转换为0-100范围,可自行实现映射算法,例如:
function convertToPercentage(dbm) {
const max = -30 // 最佳信号
const min = -90 // 最弱信号
return Math.max(0, Math.min(100, Math.round((dbm - min) / (max - min) * 100)))
}

