初始化微信硬件JSAPI接口库(第五课)

2017年08月10日 11:13 | 4169次浏览 作者原创 版权保护

完整微信硬件接入案例源码:点我下载案例源码

摘要:用户打开手机蓝牙和微信并扫描设备二维码,绑定设备,连接设备,点击按钮获取设备的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界面上的开始同步按钮。界面显示进度条,再显示同步成功。


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

<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状态。

此文章本站原创,地址 https://www.vxzsk.com/93.html   转载请注明出处!谢谢!

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程