小程序获取周围IBeacon设备的方法


Posted in Javascript onOctober 31, 2018

本文实例为大家分享了小程序获取周围IBeacon设备的具体代码,供大家参考,具体内容如下

该功能实现需要使用以下API:

wx.startBeaconDiscovery(OBJECT):开始搜索附近的iBeacon设备

wx.stopBeaconDiscovery(OBJECT):停止搜索附近的iBeacon设备

wx.onBeaconUpdate(CALLBACK):监听 iBeacon 设备的更新事件

wx.openBluetoothAdapter(OBJECT):监听蓝牙状态

wx.onBluetoothDeviceFound(CALLBACK):监听蓝牙状态切换

具体参数以及回调函数请参考官方API

实现逻辑:

小程序获取周围IBeacon设备的方法

实现代码 index.js:

onShow : function(){
 var that = this;
 //监测蓝牙状态的改变
 wx.onBluetoothAdapterStateChange(function (res) {
  if (res.available) {//如果用户打开蓝牙,开始搜索IBeacon
  searchBeacon();
  }
 })
 
 //搜索beacons
 searchBeacon();
 //搜索函数
 function searchBeacon() {
  //检测蓝牙状态
  wx.openBluetoothAdapter({
  success: function (res) {//蓝牙状态:打开
   wx.startBeaconDiscovery({//开始搜索附近的iBeacon设备
   uuids: ['FDA50693-A4E2-4FB1-AFCF-C6EB07647825'],//参数uuid
   success: function (res) {
    wx.onBeaconUpdate(function (res) {//监听 iBeacon 设备的更新事件 
    //封装请求数据 
    var beacons = res.beacons;
    var reqContent = {};
    var bleArray = [];
    for (var i = 0; i < beacons.length; i++) {
     var bleObj = {};
     bleObj.distance = beacons[i].accuracy;
     bleObj.rssi = beacons[i].rssi;
     bleObj.mac = beacons[i].major + ":" + beacons[i].minor;
     bleArray.push(bleObj);
    }
    reqContent.ble = bleArray;
    //请求后台向redis插入数据
    redisSave(reqContent);
    });
   },
   fail: function (res) {
    //先关闭搜索再重新开启搜索,这一步操作是防止重复wx.startBeaconDiscovery导致失败
    stopSearchBeacom();
   }
   })
  },
  fail: function (res) {//蓝牙状态:关闭
   wx.showToast({ title: "请打开蓝牙", icon: "none", duration: 2000 })
  }
  })
 }
 function redisSave(reqContent) {
  wx.request({
  url: "https://map.intmote.com/LocateServer/location.action",
  data: JSON.stringify(reqContent),
  method: 'POST',
  header: {
   'Content-type': 'application/json'
  },
  success: function (res) {
   // wx.showToast({ title: "seccess" })
  },
  fail: function (res) {
   // wx.showToast({ title: "1" })
  }
  });
 }
 //关闭成功后开启搜索
 function stopSearchBeacom() {
  wx.stopBeaconDiscovery({
  success: function () {
   searchBeacon();
  }
  })
 } 
 },

介绍小程序的页面生命周期函数之一:onShow

监听页面显示:即每次打开页面都会调用一次。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
dwr spring的集成实现代码
Mar 22 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
Sep 03 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
Jun 26 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
Apr 29 Javascript
React学习笔记之事件处理(二)
Jul 02 Javascript
vue2.x 父组件监听子组件事件并传回信息的方法
Jul 17 Javascript
vue使用rem实现 移动端屏幕适配
Sep 26 Javascript
Vue源码解析之数据响应系统的使用
Apr 24 Javascript
微信小程序图片加载失败时替换为默认图片的方法
Dec 09 Javascript
高性能js数组去重(12种方法,史上最全)
Dec 21 Javascript
vue移动端使用canvas签名的实现
Jan 15 Javascript
Vue的状态管理vuex使用方法详解
Feb 05 Javascript
详解js删除数组中的指定元素
Oct 31 #Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
Oct 31 #Javascript
Vue项目History模式404问题解决方法
Oct 31 #Javascript
Vue.js中对css的操作(修改)具体方式详解
Oct 30 #Javascript
vue组件中的样式属性scoped实例详解
Oct 30 #Javascript
node上的redis调用优化示例详解
Oct 30 #Javascript
elementUI 设置input的只读或禁用的方法
Oct 30 #Javascript
You might like
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
PHP排序二叉树基本功能实现方法示例
2018/05/26 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
使用Apache的rewrite
2021/03/09 Servers
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
jQuery实现页面顶部显示的进度条效果完整实例
2015/12/09 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
Jquery on方法绑定事件后执行多次的解决方法
2016/06/02 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
基于Express框架使用POST传递Form数据
2019/08/10 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
[02:15]2015国际邀请赛选手档案IG.Ferrari 430
2015/07/30 DOTA
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
Python实现的端口扫描功能示例
2018/04/08 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
Flask框架搭建虚拟环境的步骤分析
2019/12/21 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
求职信格式范本
2013/11/15 职场文书
交通安全标语
2014/06/06 职场文书
施工单位安全责任书
2014/07/24 职场文书
收款委托书范本
2014/09/11 职场文书
村干部四风问题整改措施
2014/09/30 职场文书
手机被没收的检讨书
2014/10/04 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
贪污检举信范文
2015/03/02 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书
公证书
2019/04/17 职场文书