详细代码如下:
<script>
export default {
data() {
return {
wifiList: [], // 存储WiFi列表
connectedWifiSSID: {}
};
},
onLoad() {
this.getConnectedWifi()
this.getWifiList();
},
methods: {
getWifiList() {
uni.getWifiList({
success: res => {
console.log('res', res);
uni.onGetWifiList((res) => {
this.wifiList = res.wifiList;
console.log('this.wifiList', this.wifiList);
this.wifiList.sort(function(a, b) {
if (a.SSID === connectedWifi.SSID) {
return -1;
} else if (b.SSID === connectedWifi.SSID) {
return 1;
} else {
return 0;
}
})
// 过滤同名WiFi信号
let filterList = this.wifiList.reduce(function(result, item) {
let index = result.findIndex(function(v) {
return v.SSID == item.SSID;
});
if (index < 0) {
result.push(item);
} else if (item.signalStrength > result[index]
.signalStrength) {
result[index] = item;
}
return result;
}, []);
console.log("filterList", filterList);
this.wifiList = filterList;
});
},
fail: err => {
console.error('获取WiFi列表失败:', err);
}
});
},
// 点击连接某个 Wi-Fi
connectWifi(wifi) {
console.log('选中的WiFi:', wifi);
uni.connectWifi({
SSID: wifi.SSID,
password: 'your_password',
success: res => {
console.log('Wi-Fi连接成功:', res);
},
fail: err => {
console.error('Wi-Fi连接失败:', err);
}
});
},
//获取当前连接的wifi
getConnectedWifi() {
uni.getConnectedWifi({
success: res => {
connectedWifi = res.wifi; //当前连接的wifi的信息
console.log(connectedWifi, "connectedWifi")
this.connectedWifiSSID = res.wifi.SSID;
console.log('已连接Wi-Fi:', res);
console.log('已连接Wi-Fi的SSID:', this.connectedWifiSSID);
},
fail: err => {
console.error('获取已连接的Wi-Fi信息失败:', err);
}
});
}
}
};
</script>
使用Array.prototype.sort()
方法对this.wifiList
进行排序。排序的规则是,如果Wi-Fi的SSID与当前已连接的Wi-Fi的SSID相同,则将其排在前面;如果Wi-Fi的SSID与当前已连接的Wi-Fi的SSID不同,则按原始顺序排序。文章来源:https://www.toymoban.com/news/detail-704432.html
Array.prototype.sort()
方法接受一个比较函数作为参数,该函数定义了排序的规则。比较函数有两个参数a
和b
,分别代表数组中的两个元素。如果返回值小于0,表示a
应该排在b
前面;如果返回值大于0,表示b
应该排在a
前面;如果返回值等于0,表示a
和b
的顺序不变。文章来源地址https://www.toymoban.com/news/detail-704432.html
this.wifiList.sort(function(a, b) {
if (a.SSID === connectedWifi.SSID) {
return -1;
} else if (b.SSID === connectedWifi.SSID) {
return 1;
} else {
return 0;
}
})
到了这里,关于在uniapp小程序中获取周边WiFi列表,并且显示已连接WiFi的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!