小程序模板网

微信小程序-实现扫码自动连接wifi(android)

2018-05-05 没咒念

项目实路

饭店,商铺存在共享的wifi的地方,只需要贴出二维码,用户扫描后自动连接

小程序 缺点:android6版本 ios11版本

图片演示

实现代码(IOS没看懂文档说明 只简单的带过 希望能实现的朋友@我一下)

 

  1. // pages/wifi/wifi.js
  2. Page({
  3. data: {
  4. startError: '',//初始化错误提示
  5. wifiListError: false, //wifi列表错误显示开关
  6. wifiListErrorInfo: '',//wifi列表错误详细
  7. system: '', //版本号
  8. platform: '', //系统 android
  9. ssid: 'wifi帐号',//wifi帐号(必填)
  10. pass: 'wifi密码',//无线网密码(必填)
  11. bssid: '',//设备号 自动获取
  12. endError: ''//连接最后的提示
  13. },
  14. onLoad: function () {
  15. var _this = this;
  16. //检测手机型号
  17. wx.getSystemInfo({
  18. success: function (res) {
  19. var system = '';
  20. if (res.platform == 'android') system = parseInt(res.system.substr(8));
  21. if (res.platform == 'ios') system = parseInt(res.system.substr(4));
  22. if (res.platform == 'android' && system < 6) {
  23. _this.setData({ startError: '手机版本暂时不支持' }); return
  24. }
  25. if (res.platform == 'ios' && system < 11) {
  26. _this.setData({ startError: '手机版本暂时不支持' }); return
  27. }
  28. _this.setData({ platform: res.platform });
  29. //初始化 Wi-Fi 模块
  30. _this.startWifi(_this);
  31. }
  32. })
  33.  
  34. },//初始化 Wi-Fi 模块。
  35. startWifi: function (_this) {
  36. wx.startWifi({
  37. success: function () {
  38. _this.getList(_this);
  39. },
  40. fail: function (res) {
  41. _this.setData({ startError: res.errMsg });
  42. }
  43. })
  44. },
  45. getList: function (_this) {
  46. //安卓执行方法
  47. if (_this.data.platform == 'android') {
  48. //请求获取 Wi-Fi 列表
  49. wx.getWifiList({
  50. success: function (res) {
  51. //安卓执行方法
  52. _this.AndroidList(_this);
  53. },
  54. fail: function (res) {
  55. _this.setData({ wifiListError: true });
  56. _this.setData({ wifiListErrorInfo: res.errMsg });
  57. }
  58. })
  59. }
  60. //IOS执行方法
  61. if (_this.data.platform == 'ios') {
  62. _this.IosList(_this);
  63. }
  64.  
  65. },
  66. AndroidList: function (_this) {
  67. //监听获取到 Wi-Fi 列表数据
  68. wx.onGetWifiList(function (res) { //获取列表
  69. if (res.wifiList.length) {
  70. // _this.setData({
  71. // wifiList: res.wifiList
  72. // });
  73. //循环找出信号最好的那一个(wifi存在多个)
  74. var ssid = _this.data.ssid;
  75. var signalStrength = 0;
  76. var bssid = '';
  77. for (var i = 0; i < res.wifiList.length; i++) {
  78. if (res.wifiList[i]['SSID'] == ssid && res.wifiList[i]['signalStrength'] > signalStrength) {
  79. bssid = res.wifiList[i]['BSSID'];
  80. signalStrength = res.wifiList[i]['signalStrength'];
  81. }
  82. }
  83. if (!signalStrength) {
  84. _this.setData({ wifiListError: true });
  85. _this.setData({ wifiListErrorInfo: '未查询到设置的wifi' });
  86. return
  87. }
  88. _this.setData({ bssid: bssid });
  89. //执行连接方法
  90. //连接wifi
  91. _this.Connected(_this);
  92. } else {
  93. _this.setData({ wifiListError: true });
  94. _this.setData({ wifiListErrorInfo: '未查询到设置的wifi' });


易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/24274.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询