微信小程序-实现扫码自动连接wifi(android)
项目实路
饭店,商铺存在共享的wifi的地方,只需要贴出二维码,用户扫描后自动连接
小程序 缺点:android6版本 ios11版本
图片演示
实现代码(IOS没看懂文档说明 只简单的带过 希望能实现的朋友@我一下)
// pages/wifi/wifi.js Page({ data: { startError: \'\',//初始化错误提示 wifiListError: false, //wifi列表错误显示开关 wifiListErrorInfo: \'\',//wifi列表错误详细 system: \'\', //版本号 platform: \'\', //系统 android ssid: \'wifi帐号\',//wifi帐号(必填) pass: \'wifi密码\',//无线网密码(必填) bssid: \'\',//设备号 自动获取 endError: \'\'//连接最后的提示 }, onLoad: function () { var _this = this; //检测手机型号 wx.getSystemInfo({ success: function (res) { var system = \'\'; if (res.platform == \'android\') system = parseInt(res.system.substr(8)); if (res.platform == \'ios\') system = parseInt(res.system.substr(4)); if (res.platform == \'android\' && system < 6) { _this.setData({ startError: \'手机版本暂时不支持\' }); return } if (res.platform == \'ios\' && system < 11) { _this.setData({ startError: \'手机版本暂时不支持\' }); return } _this.setData({ platform: res.platform }); //初始化 Wi-Fi 模块 _this.startWifi(_this); } }) },//初始化 Wi-Fi 模块。 startWifi: function (_this) { wx.startWifi({ success: function () { _this.getList(_this); }, fail: function (res) { _this.setData({ startError: res.errMsg }); } }) }, getList: function (_this) { //安卓执行方法 if (_this.data.platform == \'android\') { //请求获取 Wi-Fi 列表 wx.getWifiList({ success: function (res) { //安卓执行方法 _this.AndroidList(_this); }, fail: function (res) { _this.setData({ wifiListError: true }); _this.setData({ wifiListErrorInfo: res.errMsg }); } }) } //IOS执行方法 if (_this.data.platform == \'ios\') { _this.IosList(_this); } }, AndroidList: function (_this) { //监听获取到 Wi-Fi 列表数据 wx.onGetWifiList(function (res) { //获取列表 if (res.wifiList.length) { // _this.setData({ // wifiList: res.wifiList // }); //循环找出信号最好的那一个(wifi存在多个) var ssid = _this.data.ssid; var signalStrength = 0; var bssid = \'\'; for (var i = 0; i < res.wifiList.length; i++) { if (res.wifiList[i][\'SSID\'] == ssid && res.wifiList[i][\'signalStrength\'] > signalStrength) { bssid = res.wifiList[i][\'BSSID\']; signalStrength = res.wifiList[i][\'signalStrength\']; } } if (!signalStrength) { _this.setData({ wifiListError: true }); _this.setData({ wifiListErrorInfo: \'未查询到设置的wifi\' }); return } _this.setData({ bssid: bssid }); //执行连接方法 //连接wifi _this.Connected(_this); } else { _this.setData({ wifiListError: true }); _this.setData({ wifiListErrorInfo: \'未查询到设置的wifi\' }); } }) }, IosList: function (_this) { _this.setData({ wifiListError: true }); _this.setData({ wifiListErrorInfo: \'IOS暂不支持\' }); },//连接wifi Connected: function (_this) { wx.connectWifi({ SSID: _this.data.ssid, BSSID: _this.data.bssid, password: _this.data.pass, success: function (res) { _this.setData({ endError: \'wifi连接成功\' }); }, fail: function (res) { _this.setData({ endError: res.errMsg }); } }) } })
demo下载
注意:project.config.json修改成你的APPID
版权声明:本文为phper8原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。