项目实路

饭店,商铺存在共享的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. },//初始化 Wi-Fi 模块。
  34. startWifi: function (_this) {
  35. wx.startWifi({
  36. success: function () {
  37. _this.getList(_this);
  38. },
  39. fail: function (res) {
  40. _this.setData({ startError: res.errMsg });
  41. }
  42. })
  43. },
  44. getList: function (_this) {
  45. //安卓执行方法
  46. if (_this.data.platform == \'android\') {
  47. //请求获取 Wi-Fi 列表
  48. wx.getWifiList({
  49. success: function (res) {
  50. //安卓执行方法
  51. _this.AndroidList(_this);
  52. },
  53. fail: function (res) {
  54. _this.setData({ wifiListError: true });
  55. _this.setData({ wifiListErrorInfo: res.errMsg });
  56. }
  57. })
  58. }
  59. //IOS执行方法
  60. if (_this.data.platform == \'ios\') {
  61. _this.IosList(_this);
  62. }
  63. },
  64. AndroidList: function (_this) {
  65. //监听获取到 Wi-Fi 列表数据
  66. wx.onGetWifiList(function (res) { //获取列表
  67. if (res.wifiList.length) {
  68. // _this.setData({
  69. // wifiList: res.wifiList
  70. // });
  71. //循环找出信号最好的那一个(wifi存在多个)
  72. var ssid = _this.data.ssid;
  73. var signalStrength = 0;
  74. var bssid = \'\';
  75. for (var i = 0; i < res.wifiList.length; i++) {
  76. if (res.wifiList[i][\'SSID\'] == ssid && res.wifiList[i][\'signalStrength\'] > signalStrength) {
  77. bssid = res.wifiList[i][\'BSSID\'];
  78. signalStrength = res.wifiList[i][\'signalStrength\'];
  79. }
  80. }
  81. if (!signalStrength) {
  82. _this.setData({ wifiListError: true });
  83. _this.setData({ wifiListErrorInfo: \'未查询到设置的wifi\' });
  84. return
  85. }
  86. _this.setData({ bssid: bssid });
  87. //执行连接方法
  88. //连接wifi
  89. _this.Connected(_this);
  90. } else {
  91. _this.setData({ wifiListError: true });
  92. _this.setData({ wifiListErrorInfo: \'未查询到设置的wifi\' });
  93. }
  94. })
  95. },
  96. IosList: function (_this) {
  97. _this.setData({ wifiListError: true });
  98. _this.setData({ wifiListErrorInfo: \'IOS暂不支持\' });
  99. },//连接wifi
  100. Connected: function (_this) {
  101. wx.connectWifi({
  102. SSID: _this.data.ssid,
  103. BSSID: _this.data.bssid,
  104. password: _this.data.pass,
  105. success: function (res) {
  106. _this.setData({ endError: \'wifi连接成功\' });
  107. },
  108. fail: function (res) {
  109. _this.setData({ endError: res.errMsg });
  110. }
  111. })
  112. }
  113. })

 demo下载

wifi.zip   

注意:project.config.json修改成你的APPID

 

版权声明:本文为phper8原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/phper8/p/8471548.html