十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如何在小程序中获取周围的IBeacon设备?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联公司专注于南城网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供南城营销型网站建设,南城网站制作、南城网页设计、南城网站官网定制、成都微信小程序服务,打造南城网络公司原创品牌,更为您提供南城网站排名全网营销落地服务。该功能实现需要使用以下API:
wx.startBeaconDiscovery(OBJECT):开始搜索附近的iBeacon设备
wx.stopBeaconDiscovery(OBJECT):停止搜索附近的iBeacon设备
wx.onBeaconUpdate(CALLBACK):监听 iBeacon 设备的更新事件
wx.openBluetoothAdapter(OBJECT):监听蓝牙状态
wx.onBluetoothDeviceFound(CALLBACK):监听蓝牙状态切换
具体参数以及回调函数请参考官方API
实现逻辑:
实现代码 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(); } }) } },
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联成都网站设计公司行业资讯频道,感谢您对创新互联成都网站设计公司的支持。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、网站设计器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。