uniapp 小程序获取WiFi列表
<template><view ><button @click="getWifiList">获取WiFi列表</button><scroll-view:scroll-top="scrollTop"scroll-yclass="content-pop"><viewclass="itemInfo"v-for="(item, index) in wifiList":key="index"><text>{{ item.SSID }}</text></view></scroll-view></view>
</template><script>export default {data() {return {wifiList: [],};},methods: {getWifiList() {// 获取手机型号const sys = uni.getSystemInfoSync();if (sys.platform == "android" && sys.parseInt(sys.system.substr(8) < 6) {this.$tip.error("手机版本不支持");return;}if (sys.platform == "ios" && sys.parseInt(sys.system.substr(4)) < 11.2) {this.$tip.error("手机版本不支持");return;}//初始wifi模块this.start_wifi();},start_wifi() {uni.startWifi({success: (res) => {this.getWifi();},fail: (err) => {this.$tip.toast("WIFI启动失败");},});},getWifi() {let that = this;uni.getWifiList({//成功后,就可以获取列表了success(res) {//列表获取成功后,要到事件里提取uni.onGetWifiList((res) => {that.onGetWifiListFun(res);});},fail(err) {console.log(err, "err");},});},// 监听获取到的WiFi列表函数 进行处理onGetWifiListFun(info) {this.wifiList = [];let wifiList = [];// 过滤掉没有SSID的 还有我个人对信号的处理,用来渲染对应的样式的wifiList = info.wifiList.filter((item) => {if (item.signalStrength >= -55) {item["signalDefine"] = [true, true, true];} else if (item.signalStrength >= -66) {item["signalDefine"] = [false, true, true];} else if (item.signalStrength >= -88) {item["signalDefine"] = [false, false, true];} else if (item.signalStrength >= -100) {item["signalDefine"] = [false, false, false];}return item.SSID;});// 按信号强度排序wifiList = wifiList.sort((a, b) => {return b.signalStrength - a.signalStrength;});// 取当前连接的WiFi的信号const connectResIndex = wifiList.findIndex((item) => item.SSID === this.connectWifi);const connectRes = wifiList[connectResIndex];if (connectRes) {this.connectWifiSignal = connectRes["signalDefine"];this.connectRes = connectRes;}wifiList.splice(connectResIndex, 1);this.wifiList = this.uniqueByField(wifiList, "SSID");this.$tip.loaded();},uniqueByField(list, field) {const seen = new Set();const result = [];for (let item of list) {const value = item[field];if (!seen.has(value)) {seen.add(value);result.push(item);}}return result;},},};
</script><style scoped>.itemInfo {height: 96rpx;line-height: 96rpx;font-size: 28rpx;border-bottom: 1rpx solid #f4f4f4;text-align: left;} .content-pop {width: 100vw;max-height: 55vh;padding: 0 30rpx;}
</style>
提示:iphone刷新会跳转至手机wifi设置中连接网络
使用方法:



相关文章:
uniapp 小程序获取WiFi列表
<template><view ><button click"getWifiList">获取WiFi列表</button><scroll-view:scroll-top"scrollTop"scroll-yclass"content-pop"><viewclass"itemInfo"v-for"(item, index) in wifiList&…...
数据可视化-ECharts Html项目实战(11)
在之前的文章中,我们学习了如何在ECharts中特殊图表的双y图以及自定义形状词云图。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 数据可视化-ECh…...
【MySQL数据库 | 第二十四篇】Limit语句的性能问题和调优策略
前言: MySQL作为最流行的关系型数据库管理系统之一,被广泛应用于各种规模和类型的应用程序中。其强大的功能和灵活的查询语言使得开发人员能够高效地执行各种数据操作和分析。 然而,在处理大量数据或复杂查询时,一些开发人员可能…...
【数据结构】两两交换链表 复制带随机指针的链表
问题描述1 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 求解 使用一个栈S来存储相邻两个节点即可 /*** Definition for…...
网络安全流量平台_优缺点分析
FlowShadow(流影),Ntm(派网),Elastiflow。 Arkimesuricata,QNSMsuricata,Malcolm套件。 Malcolm套件优点:支持文件还原反病毒引擎(clamav/yara)…...
【c语言】自定义类型:结构体详解
目录 自定义类型:结构体 结构体类型的声明 结构体变量的创建和初始化 结构的特殊声明 结构的自引用 结构体内存对齐 对其规则 为什么存在内存对齐? 修改默认对⻬数 结构体传参 结构体实现位段 位段的内存分配 位段的跨平台问题 位段的应用…...
利用AbortController,取消正在发送的请求
参考文章:https://blog.csdn.net/qq_45560350/article/details/130588101 解决问题:再图层中点击仓库的时候,点击后又取消掉,我们希望这个请求可以被取消掉,我们口可以利用AbortController控制器对象 实操:…...
dockerhub右键快速搜索脚本
Chrome 浏览器扩展的后台脚本,用于创建右键菜单项,并根据用户的操作在新的标签页中打开 Docker Hub 网站或者进行搜索。 // 创建右键菜单项,用于打开 Docker Hub 网站 chrome.contextMenus.create({id: search-home, // 菜单项的唯一标识符t…...
类似微信的以文搜图功能实现
通过PaddleOCR识别图片中的文字,将识别结果报存到es中,利用es查询语句返回结果图片。 技术逻辑 PaddleOCR部署、es部署创建mapping将PaddleOCR识别结果保存至es通过查询,返回结果 前期准备 PaddleOCR、es部署请参考https://blog.csdn.net…...
Android 13.0 Launcher3定制化之最近任务的全部清除由左边移到下边显示
1.概述 在最近13.0的系统rom产品开发中,在Launcher3的定制化开发中,在最近任务列表中,发现点击recents最近任务键后 显示的全部清除按键在左边 由于是横屏的产品显示在左边不太合理 所以要求显示在下边比较合理,所以要从Launcher3的显示流程来解决这个问题 2. 最近任务全…...
成都数字产业园落地全生命周期服务方案, 让企业对成都发展更有信心
国际数字影像产业园,作为现代科技与文化创意的交汇点,致力于为企业落地全生命周期的服务方案,让企业对成都发展更有信心。该服务模式贯穿了企业的初创期到成熟期的各个阶段,确保每一家入驻园区的企业都能得到全方位的支持和帮助。…...
SpringBoot实现RabbitMQ的通配符交换机(SpringAMQP 实现Topic交换机)
文章目录 pomyml生产者消费者 Topic类型的Exchange与Direct相比,都是可以根据RoutingKey把消息路由到不同的队列。只不过Topic类型Exchange可以让队列在绑定Routing key 的时候使用通配符! Routingkey 一般都是有一个或多个单词组成,多个单词…...
opencv图像处理技术(形态学操作)
形态学(Morphology)是数学中研究形状、结构和变换的分支,而在图像处理中,形态学主要用于描述和分析图像中的形状和结构。形态学操作通常涉及基本的集合运算,如腐蚀、膨胀、开运算、闭运算等,以及与结构元素…...
如何构建数据指标体系
构建一套科学、完备且实用的数据分析指标体系是一项系统性的工程,其核心在于将业务理解、目标设定、度量标准选择、数据采集与整理、数据分析、指标体系构建、持续优化与改进等多个环节有机融合,以实现对业务状况的精准刻画、趋势预测及决策支持。以下是…...
python统计分析——一般线性回归模型
参考资料:python统计分析【托马斯】 当我想用一个或多个其他的变量预测一个变量的时候,我们可以用线性回归的方法。 例如,当我们寻找给定数据集的最佳拟合线的时候,我们是在寻找让下式的残差平方和最小的参数(k,d): 其…...
【cocos creator】【TS】贝塞尔曲线,地图之间显示曲线
参考: https://blog.csdn.net/Ctrls_/article/details/108731313 https://blog.csdn.net/qq_28299311/article/details/104009804 const { ccclass, property } cc._decorator;ccclass export default class creatPoint extends cc.Component {property(cc.Node)bu…...
COMFYUI换脸ReActor报错Value not in list: face_restore_model: ‘codeformer.pth‘解决
Value not in list: face_restore_model: codeformer.pth not in [none, GFPGANv1.3.pth] 搜了下没找到答案,最后看github官方的指引: You can download models here: https://huggingface.co/datasets/Gourieff/ReActor/tree/main/models/facerestore…...
深入理解Java中的字段与属性的区别
1、Java中的属性和字段有什么区别? 答:Java中的属性(property),通常可以理解为get和set方法。 而字段(field),通常叫做“类成员”,或 "类成员变量”,有时也叫“域”,理解为“数据成员”&…...
【Locust分布式压力测试】
Locust分布式压力测试 https://docs.locust.io/en/stable/running-distributed.html Distributed load generation A single process running Locust can simulate a reasonably high throughput. For a simple test plan and small payloads it can make more than a thousan…...
富格林:出金异常警惕黑幕陷阱受骗
富格林悉知,在做单出金时落入黑幕陷阱亏损后,需尽快发现和总结错误,用心筹维权谋安全出金盈利方法并追回亏损。因为黄金市场优势众多,众多的投资者进入市场投资,但因为经验不足,在面对黑幕陷阱是获取无法及…...
5G RedCap路由器如何选?关键特性解析与典型应用场景指南
1. 5G RedCap路由器选购的核心指标 第一次接触5G RedCap路由器时,我被参数表里密密麻麻的术语搞得头晕眼花。后来在工业现场实测了7款不同型号后,才发现真正影响使用体验的关键指标其实就这几个: 频段支持就像路由器的"语言能力"。…...
n8n-nodes-puppeteer自动化解决方案:三步掌握无代码浏览器控制技术
n8n-nodes-puppeteer自动化解决方案:三步掌握无代码浏览器控制技术 【免费下载链接】n8n-nodes-puppeteer n8n node for requesting webpages using Puppeteer 项目地址: https://gitcode.com/gh_mirrors/n8/n8n-nodes-puppeteer 在数字化时代,如…...
SEKA与AdaSEKA:破解大模型注意力引导难题的新方案
【导语:在自然语言处理领域,让大模型重点关注提示词某句话存在挑战。爱丁堡大学等团队提出SEKA及其自适应变体AdaSEKA,解决了现有方法的延迟和显存瓶颈问题,为大语言模型发展带来新思路。】SEKA:改写Key向量引导注意力…...
【实验原理深度解析】弗兰克-赫兹实验:如何用电子“碰撞”揭示原子能级的秘密
1. 电子与原子的"对话":弗兰克-赫兹实验的设计哲学 想象你站在一个漆黑的房间里,向对面墙壁投掷网球。如果墙壁是实心的,球会直接弹回;但如果墙上有一排高度不同的窗口,球只有达到特定速度才能穿过对应高度的…...
Raspberry Pi Imager:树莓派系统安装的终极解决方案
Raspberry Pi Imager:树莓派系统安装的终极解决方案 【免费下载链接】rpi-imager The home of Raspberry Pi Imager, a user-friendly tool for creating bootable media for Raspberry Pi devices. 项目地址: https://gitcode.com/gh_mirrors/rp/rpi-imager …...
UI-TARS-desktop快速上手:10分钟完成Qwen3-4B多模态Agent桌面版部署与任务验证
UI-TARS-desktop快速上手:10分钟完成Qwen3-4B多模态Agent桌面版部署与任务验证 想体验一个能看懂屏幕、操作软件、帮你完成任务的AI助手吗?今天要介绍的UI-TARS-desktop,就是一个内置了强大视觉理解能力的多模态AI Agent桌面应用。它基于Qwe…...
拯救数字青春:GetQzonehistory让QQ空间记忆永久安家
拯救数字青春:GetQzonehistory让QQ空间记忆永久安家 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在这个信息爆炸的时代,我们的青春记忆正以数据形式储存在各大…...
OWL ADVENTURE惊艳案例:风格迁移与艺术画作生成
OWL ADVENTURE惊艳案例:风格迁移与艺术画作生成 每次看到那些世界名画,你是不是也想过,要是能把自己的照片也变成那样该多好?以前这得靠专业画师花上好几天,现在,有了OWL ADVENTURE这样的AI模型࿰…...
Graphormer部署教程(RTX 4090):3.7GB模型显存占用仅18.2GB实测
Graphormer部署教程(RTX 4090):3.7GB模型显存占用仅18.2GB实测 1. 项目介绍 Graphormer是一种基于纯Transformer架构的图神经网络,专门为分子属性预测任务设计。这个模型在分子图(原子-键结构)的全局结构…...
Qwen3-ForcedAligner-0.6B在字幕制作中的落地应用:SRT自动导出全流程
Qwen3-ForcedAligner-0.6B在字幕制作中的落地应用:SRT自动导出全流程 1. 引言:告别手动打轴,让字幕制作快10倍 如果你做过视频字幕,一定体会过手动打轴的痛苦。一集45分钟的视频,台词稿早就准备好了,但你…...
