微信小程序如何检测接收iBeacon信号

前话

微信小程序开发带着许多坑,最近就遇到了个需求,检测iBeacon来进行地点签到。

(╯▔皿▔)╯

微信小程序对于iBeacon的文档也写的十分精简,只简单介绍了每个接口的作用,这就导致我以为简单调用单个接口即可实现功能,因此我就写出了这样的错误代码逻辑 :

(╯‵□′)╯︵┻━┻

wx.startBeaconDiscovery({uuids: ['xxxxx'],success(res){console.log('签到成功')},fail(err){console.log('签到失败')}
})

结果是,点击签到按钮调用该接口的时候,几乎都是

签到失败

(╯‵□′)╯炸弹!•••*~●。

当然,最后还是谷歌解决了,因为前人也踩了这个坑,因此我还是搬运过来,让后人少受熬夜之苦 (;´༎ຶД༎ຶ`)

正题

废话不多说,如果你要检测接收iBeacon信号,建议按照这样的接口调用步骤:

       wx.stopBeaconDiscovery # 停止扫描↑setTimeout # 超时设置↑
开始 → wx.startBeaconDiscovery # 开始扫描︱︱―fail(err)→结束︱success(res)↓wx.onBeaconUpdate # 监听iBeacon信号︱  ︱―fail(err)→结束︱success(res)↓TODO

最后,我的代码如下:

var devices = [];// 开始扫描
wx.startBeaconDiscovery({uuids: uuidArray,success: function () {console.log("开始扫描设备...");// 监听iBeacon信号wx.onBeaconUpdate(function (res) {// 请注意,官方文档此处又有BUG,是res.beacons,不是beacons。if (res && res.beacons && res.beacons.length > 0) {devices = res.beacons;// 此处最好检测rssi是否等于0,等于0的话信号强度等信息不准确。我是5秒内重复扫描排重。}});}
});// 超时停止扫描
setTimeout(function () {wx.stopBeaconDiscovery({success: function () {console.log("停止设备扫描!");console.log(devices);}});
}, 5 * 1000);

OK,问题似乎不经意间被完美解决了( •̀ ω •́ )y


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/361368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos7.3 docker安装grafana

一、编写docker-cmpose文件 docker-compose.yml文件如下: 1 version: "3.3"2 services:3 grafana:4 image: grafana/grafana:latest5 environment:6 GF_SECURITY_ADMIN_PASSWORD: aibili_grafana7 ports:8 - 3000:30009 us…

如何将SQL GROUP BY和聚合转换为Java 8

我无法抗拒。 我已经阅读了Hugo Prudente在Stack Overflow上提出的问题 。 而且我知道必须有比JDK提供的更好的方法。 问题如下: 我正在寻找一个lambda来优化已检索的数据。 我有一个原始的结果集,如果用户不更改我想要的日期,则使用Java的…

类库,随机数,属性,值类型和引用类型

类库,随机数,属性,值类型和引用类型 1.文档注释与类库的生成 (1)类库的生成 右击添加新建项,建立类库(DLL)。 (2)导入类库 在项目中建立文件夹DLL,直接把外部DLL和XML文件拖入文件夹&#xff0c…

input获得焦点和失去焦点

总结:placeholder因为在IE7 8 9 浏览器不支持所以没用它效果:当input获取光标的时候如果是默认提示则input内容为空。如果不是则为输入内容 当失去光标的时候,如果input内容为空,则恢复默认提示,如果不是则为…

带有DIY的Openshift上的Spring Boot / Java 8 / Tomcat 8

DIY墨盒是一种实验性墨盒,它提供了一种在OpenShift上测试不受支持的语言的方法。 它提供了最小限度的自由形式的支架,将墨盒的所有细节留给了应用程序开发人员 。 这篇博客文章说明了结合了PostgreSQL服务的Spring Boot / Java 8 / Tomcat 8应用程序的使…

zabbix监控docker容器

1、环境说明 由于最近zabbix进行过一次迁移,所以zabbix-server系列采用docker方式安装,参考zabbix官网:https://github.com/zabbix/zabbix-docker。为适应本地环境和需求,docker-compose.yml文件有改动,具体内容如下&a…

全角半角转换

#region 全角半角转换 /// <summary> /// 转全角的函数(SBC case) /// </summary> /// <param name"input">任意字符串</param> /// <returns>全角字符串</returns> ///<remarks> ///全角空格为12288&#xff0c;半角空格…

jquery中的left和top

left 和 top /*1. 获取元素基于定位容器的位置*//*返回的是对象 属性 left top */var position $(.inner).position();console.log(position.left);console.log(position.top);/*2. 获取元素基于页面容器的位置 基于页面的偏移*/var offset $(.inner).offset();console.l…

让我们用jOOλ在Java 8中流式传输地图

我想找到一种简单的方法来用Java 8流式传输Map 。猜猜是什么&#xff1f; 没有&#xff01; 为了方便起见&#xff0c;我期望的是以下方法&#xff1a; public interface Map<K, V> {default Stream<Entry<K, V>> stream() {return entrySet().stream();} …

双向链表的快速排序

#include <stdio.h> #include <stdlib.h> #include <time.h> //定义类型 所有的排序例子中都是用的int作为data typedef int elemType; //返回值 #define RET_SUCCESS ( 1 ) #define RET_FAILED ( 0 ) //定义链表的长度 #define LIST_MAX_SIZ…

Hibernate应用程序级可重复读取

介绍 在我以前的文章中&#xff0c;我描述了应用程序级事务如何为长时间的对话提供合适的并发控制机制。 所有实体都在Hibernate会话的上下文中加载&#xff0c;充当事务后写式缓存 。 Hibernate持久性上下文可以包含给定实体的一个引用和一个引用。 一级缓存可确保会话级可重…

HDU-2732 Leapin' Lizards 最大流

题目意思是有一些蜥蜴在一个迷宫里面&#xff0c;求这些蜥蜴还有多少是无论如何都逃不出来的。题目只给定一个行数&#xff0c;一个最远能够跳跃的距离&#xff0c;列数是不确定的&#xff08;题目告知列数小于等于20&#xff09;&#xff0c;但是数据一定会是一个矩阵。每只蜥…

canvas动画简单操作

canvas动画 小球滚动效果 关键api&#xff1a; window.requestAnimationFrame(draw) 会递归调用draw函数&#xff0c;替代setIntervalvar x 20; var speed 4; //电脑的帧率是1秒钟60Hz&#xff0c; 就相当于一秒钟可以播放60张图片&#xff0c;就相当于播放一张图片使用16.…

编译相关

编译的过程 &#xff1a; 1. 词法分析&#xff0c;程序被扫描成&#xff1a;关键字&#xff0c;标识符&#xff0c;字面量和特殊符号这些记号。 2. 语法分析&#xff0c;对记号进行语法分析产生语法树。&#xff08;代码最终由表达式组合&#xff09; 3. 语义分析&#xff0c;经…

带有Swagger的Spring Rest API –创建文档

使REST API易于使用的真正关键是好的文档。 但是&#xff0c;即使您的文档做得不错&#xff0c;您也需要设置公司流程的权利&#xff0c;以正确&#xff0c;及时地发布它。 确保利益相关者按时收到是一回事&#xff0c;但是您也要负责API和文档中的更新。 自动完成此过程可轻松…

关于React-native的介绍以及环境搭建

React-Native介绍&#xff08;后面内容的RN就是指react-native&#xff09; 由facebook公司推出的&#xff0c;基于react&#xff0c;能开发原生app 原理&#xff1a; 1. 利用react框架写好js代码 2. 利用python、C 把我们的js代码&#xff0c;翻译成java代码 3. 利用andr…

别说我不会玩,我来告诉你iPhone有多烂!iPhone缺点集

港行iPhone4S入手&#xff0c;帮朋友整的。朋友经常出国&#xff0c;所以指定要越狱&#xff0c;装墙外软件。 大sim卡是不支持的&#xff0c;还好商家给了剪卡器。首先发现移动卡不支持&#xff0c;别告诉我欢迎门&#xff0c;我用的就是19位的ICCID&#xff0c;反正把卡装进去…

使用PrimeFaces开发数据导出实用程序

我的日常工作涉及大量使用数据。 我们使用关系数据库来存储所有内容&#xff0c;因为我们依赖于企业级的数据管理。 有时&#xff0c;具有将数据提取为简单格式&#xff08;例如电子表格&#xff09;的功能很有用&#xff0c;以便我们可以按需进行操作。 这篇文章概述了我使用P…

函数名和变量名重名问题

1.如果输出一个函数名&#xff0c;那么输出的就是这个函数的代码。 function test(){console.log("哈哈");}console.log(test); 2.如果变量名 和函数名 重名会怎么样&#xff1f; //a.如果变量有值&#xff0c;那么输出的就是变量的值。//b.如果变量没有值&#xff…

css3 transition的应用

css3 的transition&#xff1a;允许css属性值在一定的时间区内平滑的过渡。 transition-property&#xff1a;变换延续的时间 transition-duration&#xff1a;在延续时间段 transition-timing-function&#xff1a;变换速度变化 transition-delay&#xff1a;变化延迟时间 a&a…