利用微信小程序API获取所在位置周围的WIFI信息
前言
这是我的第一篇博客,内心有点激动紧张。
为什么要写这一篇呢?
因为最近在跟老师做一个基于WIFI的室内定位的项目,里面需要获取周围WIFI信息,这困惑了我很长一段时间,查了很多百度,看了很多博客,可是还是不是很明白。最后是我的小伙伴帮我写了出来。最近研究了一下,感觉懂了很多,所以想着写篇博客来加深印象。
正文
先贴出我的代码
wx.startWifi({
success(res){
wx.getWifiList({
success(e){
wx.onGetWifiList(function (res) {
console.log(res.wifiList)//其他一些业务代码
})
}
})
看着很懵逼吧,一层套一层地。我一开始看着一层套一层的就感觉很混乱,不过仔细一看,其实还是挺简单的。
接下来就是我的理解啦。
首先需要用到WIFI ,第一步当然就是初始WIFI模板。
初始WIFI模板用的就是wx.startWifi(Object object)这个API
下图是官方文档的介绍
初始模板之后就可以做其他事情啦。
下面我想先从低层开始说。
最底层是wx.onGetWifiList(function callback),这是监听获取到WIFI列表数据事件。它里面的参数res就包含了所获取到的WIFI的信息。
下图是官方文档对wx.onGetWifiList(function callback)的介绍。
然后想要监听获取WIFI列表信息的话,就得先请求
请求用的是wx.onGetWifiList(Object object)。
下面是官方文档对 wx.onGetWifiList(Object object)的介绍
可以很容易的就理解,请求获取成功的话就对它进行监听获取
wx.getWifiList({
success(e){
wx.onGetWifiList(function (res) {
console.log(res.wifiList)//其他一些业务代码
})
加上初始WIFI模板的API就得到最终代码啦~
哦对了!还有一件重要的事情。
安卓调用 wx.onGetWifiList(Object object)前需要用户授权是scope.userLocation。
所以记得要在app.json加上下面这段代码
"permission": {
"scope.userLocation": {
"desc": "需获取当前位置"
}
}
结束语
人生第一篇博客就这么写完啦。
如果哪里有错误,欢迎各位指出来,让我们互相交流,一起学习吧~