初始化微信硬件JSAPI接口库(7)

本文来源: http://www.vxzsk.com/93.html V型知识库

摘要:用户打开手机蓝牙和微信并扫描设备二维码,绑定设备,连接设备,点击按钮获取设备的id,利用的是java+h5+jsapi技术,也就是说微信蓝牙和设备蓝牙接通之后进行数据的传输和交互,硬件设备都会通过蓝牙把数据返回到h5界面上了(通过微信蓝牙jsapi接口接收硬件设备返回的数据),硬件设备厂商提供的硬件有两种返回方式,一种是返回到服务器端,一种返回到h5界面(微信硬件设备jsapi接口接收发送数据)本人在开发之初厂商提供的硬件都是返回到服务器端的,最后只能联系南方的硬件厂商修改芯片返回方式才得以解决。初始化微信硬件jsapi接口库需要微信jsapi开发基础,读者可在我们另一个栏目微信jsapi开发教程学习

微信jsapi是网页javascript的接口,该接口允许厂商的网页对局域网设备(设备必须支持AirKiss3.0)和蓝牙设备进行操作。例如扫描设备,连接设备,收发数据,绑定设备等。

Html通过Jsapi可以和设备本地收发数据(即Html发送给微信客户端,微信客户端发给设备),无需通过服务器中转,所以速度较快。

举例,对于实时性要求高的蓝牙设备(如遥控汽车)可采用jsapi收发数据。

对于局域网设备,当路由器无法连上互联网,并且设备和手机处于同一个路由器下面的情况,可以使用该jsapi直接和设备通信。

用户场景

用户打开微信,进入硬件公众号,点击菜单,进入厂家自定义的html界面。

用户点击html界面上的扫描按钮,开始扫描周围设备。当扫到多个设备的时候,html界面显示一个设备列表。

用户点击某个设备(该设备未绑定),进行绑定。html界面显示绑定成功,并开始连接设备。Html界面显示连接设备成功。

用户点击Html界面上的开始同步按钮。界面显示进度条,再显示同步成功。


以上只是简要说明了下,现在我们直接贴代码吧,根据代码案例来说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<script type= "text/javascript" >
  jQuery(document).ready( function (){
   //初始化库 
  loadXMLDoc();
  });
  //微信硬件jsapi库
function  loadXMLDoc()
{
     var  appId =jQuery( "#appId" ).text();
     var  timestamp=jQuery( "#timestamp" ).text();
     var  nonceStr =jQuery( "#nonceStr" ).text();
     var  signature=jQuery( "#signature" ).text();
     wx.config({
              beta:  true ,
               debug:  true , // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
               appId: appId, 
               timestamp: timestamp,
               nonceStr: nonceStr,
               signature: signature,
               jsApiList: [
                 'openWXDeviceLib' ,
                 'closeWXDeviceLib' ,
                 'getWXDeviceInfos' ,
                 'getWXDeviceBindTicket' ,
                 'getWXDeviceUnbindTicket' ,
                 'startScanWXDevice' ,
                 'stopScanWXDevice' ,
                 'connectWXDevice' ,
                 'disconnectWXDevice' ,
                 'sendDataToWXDevice' ,
                 'onWXDeviceBindStateChange' ,
                 'onWXDeviceStateChange' ,
                 'onScanWXDeviceResult' ,
                 'onReceiveDataFromWXDevice' ,
                 'onWXDeviceBluetoothStateChange' ,
               ]
           });
              alert( "初始化库结束" );
}
//判断调用jsapi返回状态 true表示成功
wx.error( function  (res) {
   alert( "调用微信jsapi返回的状态:" +res.errMsg);
});
</script>

loadXMLDoc()这个方法第9-12行四个参数可参考java获取微信timestamp,nonceStr,signature这节课

第21行jsApiList是调用蓝牙设备硬件需要初始化的微信jsapi接口,如果想用哪个接口,直接在jsApiList中添加即可

42行wx.error是微信官方文档提供开发者一种调用微信jsapi接口成功与否的方法,如果弹出true表示成功,但是调用这个方法必须第15行的debug类型设置为true状态。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值