引言

首先在测试全部API之前,我一直认为老师留这个任务是为了让我们去“解决问题”,而一直以来大学所有的实验课都是“解决问题”为目的,这就导致我在主观的过程中有了一种“只要问题解决就好”的思想,而我错了,这次遇见的老师的目的是单纯的希望我们去学习每一个API,测试每一个API,并且真正的解决问题,所以我做了这一期WIFI的所有API。

开始测试

首先我们打开官方文档
上述就是wifi需要用到的API在官方文档的说明
如下是详细介绍
wx.startWifi(Object object):初始化wifi模块,只有初始化wifi模块之后才可以进行其他操作
wx.stopWifi(Object object):关闭wifi模块,建议执行完wifi模块之后将其关闭释放资源
wx.onGetWifiList(function callback):获取wifi列表的一个监听函数,监听函数有一个参数是WiFi列表,建议在success回调函数之后获取,一般会在监听函数下面直接写wx.getWifiList(Object object)
wx.offGetWifiList(function callback):取消监听wifi列表,不解释
wx.getWifiList(Object object):这个是wifi列表获取的精髓所在,也是最重要的部分,在此我也要分享一下写的过程中踩的坑:首先它要求获取位置信息,是小程序位置信息权限,不是微信位置信息权限,所以我们应该在app.json下面加上`

"permission": {"scope.userLocation": {"desc": "希望获取小程序位置信息"}}

才可以,允许小程序位置信息之后我们才可以调用这个函数。权限问题详情请见权限具体描述
wx.onWifiConnected(function callback):同上述监听事件,本API监听已连接wifi,参数是wifi信息
wx.offWifiConnected(function callback):取消监听,凑字数的。
wx.connectWifi(Object object):连接wifi,有两个参数需要填写 SSIDpassword就是wifi名和密码
wx.getConnectedWifi(Object object):获取已连接wifi信息,参数是wifi信息,个人认为如果只是连接一个wifi,完全可以利用上述监听事件参数返回,因为参数类型都是WifiInfo类型

WifiInfo类型:jS中的一个类,里面的属性如下(取自官方文档)

可以根据自己的需求返回信息属性。

代码详细

困了,睡一觉再发
补充代码来了

<view class="content"><view><text>许洪卓</text></view><view class="second"><button class="btn" bindtap="openwifi">初始化wifi模块</button><button class="btn" bindtap="closewifi">关闭wifi模块</button></view><view class="second"><button class="btn" bindtap="ongetwifilist">监听获取到 Wi-Fi 列表数据事件</button><button class="btn" bindtap="offgetwifilist">取消监听获取到 Wi-Fi 列表数据事件</button></view><view class="second"><button class="btn" bindtap="getwifilist">获取到 Wi-Fi 列表数据</button></view><view class="second"><button class="btn" bindtap="getquanxian">查看权限</button><button class="btn" bindtap="setquanxian">设置权限</button></view><view class="second"><button class="btn" bindtap="onconnectwifi">监听连接wifi事件</button><button class="btn" bindtap="offconnecttwifi">取消监听连接wifi事件</button></view><view class="second"><button class="btn" bindtap="connectwifi">连接wifi</button><button class="btn" bindtap="getwifiinfo">获取已连接wifi信息</button></view><view class="third"><text>{{mySSID}}</text><text>{{myBSSID}}</text><text>{{mysecure}}</text><text>{{mysignalStrength}}</text></view></view>
/* pages/test/test.wxss */
.content{display: flex;flex-direction: column;align-items: center;
}
.second{display: flex;
flex-direction: row;
}
.btn{font-size: 30rpx;width: 300rpx;margin: 10rpx;}
.third{display: flex;flex-direction: column;
}
// pages/testwifi/testwifi.js
Page({/*** 页面的初始数据*/data: {mySSID:'未知SSID',myBSSID:'未知BSSID',mysecure:false,mysignalStrength:0,},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {},openwifi:function(){wx.startWifi({success (res) {console.log("初始化wifi模块成功"+res.errMsg)}})},closewifi:function(){wx.stopWifi({success (res) {console.log("关闭wifi模块成功"+res.errMsg)}})},ongetwifilist:function(){console.log("正在监听列表事件");wx.onGetWifiList(function(res){console.log("获取到wifi列表");console.log(res.wifiList);})},onconnectwifi:function(){wx.onWifiConnected((result) => {console.log("正在连接wifi事件成功");console.log(result.wifi);})},connectwifi:function(){wx.connectWifi({SSID: ,password: ,success (res) {console.log("连接wifi成功")},fail(res){console.log("连接失败"+res.errCode+"  "+res.errMsg);}})},offconnecttwifi:function(){console.log("取消监听wifi连接")wx.offWifiConnected({success(res){}})},getquanxian:function(){wx.getSetting({success (res) {console.log(res.authSetting)// res.authSetting = {//   "scope.userInfo": true,//   "scope.userLocation": true// }}})wx.getSetting({withSubscriptions: true,success (res) {console.log(res.authSetting)// res.authSetting = {//   "scope.userInfo": true,//   "scope.userLocation": true// }console.log(res.subscriptionsSetting)// res.subscriptionsSetting = {//   mainSwitch: true, // 订阅消息总开关//   itemSettings: {   // 每一项开关//     SYS_MSG_TYPE_INTERACTIVE: 'accept', // 小游戏系统订阅消息//     SYS_MSG_TYPE_RANK: 'accept'//     zun-LzcQyW-edafCVvzPkK4de2Rllr1fFpw2A_x0oXE: 'reject', // 普通一次性订阅消息//     ke_OZC_66gZxALLcsuI7ilCJSP2OJ2vWo2ooUPpkWrw: 'ban',//   }// }}})},getwifilist:function(){wx.getWifiList({success:function(res){console.log("获取列表"+res);},complete: (res) => {},})},setquanxian:function(){wx.openSetting({success (res) {console.log(res.authSetting)// res.authSetting = {//   "scope.userInfo": true,//   "scope.userLocation": true// }}})},offgetwifilist:function(){console.log("取消监听连接wifi事件");wx.offGetWifiList({success(res){}})},getwifiinfo:function(){var that = this;wx.getConnectedWifi({success(res){console.log("成功获取到已连接wifi信息")console.log(res.wifi.SSID+" "+res.wifi.BSSID+" "+res.wifi.secure+" "+res.wifi.signalStrength);var wifi = res.wifi;that.setData({mySSID:wifi.SSID,myBSSID:wifi.BSSID,mysecure:wifi.secure,mysignalStrength:wifi.signalStrength,})},complete: (res) => {console.log("正在获取信息")},})},
})

结尾

就这!!!

微信小程序WIFI部分全部API测试以及踩的坑相关推荐

  1. 微信小程序:利用搜狗API实现听写单词小程序

    微信小程序:利用搜狗API实现听写单词小程序 wxml <view><input bindconfirm="addword" confirm-type=" ...

  2. 微信小程序调用豆瓣电影API(详细)

    微信小程序调用豆瓣电影API(详细) 首先给出现在可以使用(有返回值的)的API网址 现在是获取数据的过程 1.在 JS 文件中声明一个变量 2.我们写一个获取信息的函数 我们打开 ==当前热映的AP ...

  3. 微信小程序:实用的智力测试智商提升

    这是一个考验智力,心里上面的一个测试游戏 支持多种测试方法比如有: 智商测试丨情商测试 性格测试丨爱情测试 抑郁症测试丨焦虑症测试 心理压力测试丨生活满意度测试 通过不同的测试,来检查你的智力,情商等 ...

  4. 小程序api 分享scene_网课查题题库接口API-在线免费授权,微信小程序网课答案api接口...

    网课查题题库接口API-在线免费授权,微信小程序网课答案api接口更多相关问题 支持员工实现绩效目标.促进员工自身发展的能力标准的目标是().A.组织目标B.部门目标C.发展目标B.化肝煎合左金丸C. ...

  5. 天气预报小程序源码,天气类微信小程序源码。API使用的是和风天气。

    天气预报小程序源码,天气类微信小程序源码.API使用的是和风天气. 可以提供实时全国天气气象信息,及时发布天气预报.灾害预警.气象云图.旅游天气.台风.暴雨雪等气象信息, 为我国的生产生活提供全面精确 ...

  6. 小程序 | 微信小程序中使用位置API打开地图

    小程序 | 微信小程序中使用位置API打开地图 一.效果展示 二.代码实现 使用微信内置地图查看位置,调用wx.openLocationAPI,具体内容可以查看微信官方文档. // js let In ...

  7. 微信小程序学习总结(六) --- API

    微信小程序学习总结(六) - API API 规则: 1 . 都是以wx.开头 2. 以wx.on开头的是监听某个事件的API接口,接受一个回调函数作为参数 3. api大多是异步的函数,接受Obje ...

  8. 企业微信小程序wx.qy.login 的调用调试踩坑

    企业微信小程序wx.qy.login 的调用调试踩坑 起步 在企业微信的开发过程中有很多坑,一切以企业微信开发文档为准. 近期我公司项目需要我联调开发企业微信小程序,以前没开发过,所以一切只能跟着企业 ...

  9. 凑单满减计算神器微信小程序源码下载不再掉入网购打折坑

    这是一款优惠计算神器 支持使用淘宝88VIP计算也支持不使用 只需要输入商品的数值和打折的数值然后就可以自动计算出划不划算等等 安装方法: 使用微信开发者工具打开源码 然后提交审核就可以了 PS:该款 ...

最新文章

  1. Python函数中的参数(一)
  2. 【图论专题】单源最短路的扩展应用
  3. python定义一个类和子类_Python定义类、定义子类以及super()函数的使用
  4. ASP.NET 5 入门(1) - 建立和开发ASP.NET 5 项目
  5. 修复win7+ubuntu18.10双系统引导
  6. 迅捷路由器 服务器无响应,如果路由器重启还是上不了网 几招搞定
  7. 前端学习(2958):组件之间的参数传递子传父
  8. linux内核模块开发(笔记),Linux内核模块学习笔记
  9. 玩转Bootstrap(JS插件篇)-第1章 模态弹出框 :1-2 动画过渡
  10. 记录这两天所学的东西
  11. 海康ehome协议及应用
  12. 机器学习:最小二乘支持向量机(Least Squares Support Vector Machine)
  13. 思科CCNA认证视频 CCNA视频 ccna最新题库 专题 复习资料
  14. VMware出现“该虚拟机似乎正在使用中”问题
  15. 分享若何利用博客做外链的心得寻味
  16. Reactjs开发基础
  17. 【CSDN年度之“战”征文】机器学习该怎么学?
  18. [ARM]GIC相关知识
  19. 《基于GPU加速的计算机视觉编程》学习笔记
  20. 斐讯R1音箱安装悟空遥控,并实现DLNA推送

热门文章

  1. 调用腾讯QQ天气预报的JS代码
  2. 如何制作具有声音效果的动画桌面精灵
  3. javascript mysql读写_Javascript读取ACCESS数据库 | 学步园
  4. CentOS的单用户模式
  5. 亿方云去广告v1.0官方正式版
  6. 网络稳定的第二道屏障: 带外网络DHCP异常排查方案
  7. Oracle数据库之数据库的简单查询
  8. Mesmi-Talk专访|MixLab无界社区创始人 Shadow
  9. 假设市面上有4种面值 硬币,20元、10元、5元、1元。输入一个钱数,能够使用最少的硬币凑成这个钱数
  10. Framework原理分析之——Zygote进程流程分析