当前位置:首页 > 小程序开发 > 正文内容

扬州好的小程序设计公司(扬州的软件)

小程序开发10个月前 (03-18)355

互联网外包公司在提供企业定制开发小程序过程,由于业务需要,需要在应用中集成数据打印功能,由于项目是基于uni-app开发并发布成微信小程序。微信小程序和uni-app 的连接蓝牙API接口规范都是一样的,只不过微信小程序是挂载到wx 对象上,而uni-app则是挂载在了uni 对象上。使用uni-app开发的技术工程师可以直接使用微信的接口(前提是后期将项目发布到微信小程序平台)。

点击输入图片描述(最多30字)

在介绍微信小程序蓝牙连接打印之前,常州开发微信小程序公司https://www.dianzan51.com点个赞科技,简单梳理一下连接蓝牙打印进行打印操作的流程图。后续的开发将围绕流程图展开。

1 、初始化蓝牙模块。

打开蓝牙适配器

其他蓝牙相关 API 必须在 `uni.openBluetoothAdapter`[4] 调用之后使用。否则 API 会返回错误(errCode=10000)。

展开全文

uni.openBluetoothAdapter({

success(res) {

console.log(res)

2 、获取蓝牙适配器状态

理论上这步可以省略,不过为了确保程序不错意外,还是按部就班,在搜索蓝牙之前确保本机蓝牙状态正确。

3、搜索蓝牙设备

在「步骤3.2的成功回调函数」里调用uni.startBluetoothDevicesDiscovery 接口搜索附近可用的蓝牙设备。

uni.startBluetoothDevicesDiscovery({

success(res) {

console.log(res)

开始搜寻附近的蓝牙外围设备。(此操作比较耗费系统资源,请在搜索并连接到设备后调用 「**`uni.stopBluetoothDevicesDiscovery`**[5]」 方法停止搜索。)

4、 列出所有发现的蓝牙设备列表

在「步骤3.3 的成功回调」里面使用uni.getBluetoothDevices 接口获取蓝牙模块生效期间所有已发现的蓝牙设备。包括已经和本机处于连接状态的设备。由于蓝牙搜索需要一定过程,因此可以设置一定的延迟时间再执行uni.getBluetoothDevices 接口。

uni.startBluetoothDevicesDiscovery({

success: function(res) {

console.log(res);

setTimeout(function() {

uni.getBluetoothDevices({

success: function(res) {

var devices = [];

var num = 0;

for (var i = 0; i res.devices.length; ++i) {

if (res.devices[i].name != "未知设备") {

devices[num] = res.devices[i];

num++;

// 将发现的蓝牙设备存储起来,以下代码仅供参考

that.setData({

list: devices,

isScanning: false

uni.hideLoading();

uni.stopPullDownRefresh();

uni.stopBluetoothDevicesDiscovery({

success: function(res) {

console.log("停止搜索蓝牙");

}, 5000);

5、连接目标设备

连接低功耗蓝牙设备。若APP在之前已有搜索过某个蓝牙设备,并成功建立连接,可直接传入之前搜索获取的 deviceId 直接尝试连接该设备,无需进行搜索操作。

注意这里使用的是低功耗蓝牙设备接口

uni.createBLEConnection({

deviceId: e.currentTarget.dataset.title, // 设备id

success: function(res) {

console.log(res);

app.globalData.BLEInformation.deviceId = e.currentTarget.dataset.title;

that.getSeviceId();

},

fail: function(e) {

uni.showModal({

title: "提示",

content: "连接失败",

showCancel: false

console.log(e);

uni.hideLoading();

},

complete: function(e) {

console.log(e);

在连接目标设备过程需要注意如下几点:

1)、请保证尽量成对的调用 createBLEConnection 和 closeBLEConnection 接口。安卓如果多次调用 createBLEConnection 创建连接,有可能导致系统持有同一设备多个连接的实例,导致调用closeBLEConnection 的时候并不能真正的断开与设备的连接。

扬州好的小程序设计公司(扬州的软件)

2)、蓝牙连接随时可能断开,建议监听 `uni.onBLEConnectionStateChange`[6] 回调事件,当蓝牙设备断开时按需执行重连操作。

3)、若对未连接的设备或已断开连接的设备调用数据读写操作的接口,会返回 10006 错误,建议进行重连操作。

6、操作打印机

操作打印机本质上就是通过uni.writeBLECharacteristicValue(OBJECT)接口向蓝牙设备写指令。

这里需要注意的是不同的打印机可能指令集不同。不过就我目前了解的情况来看市面上的小型蓝牙打印机主要分标签打印机和票据打印机两种。而这两种打印机指令集又有所区别。

界面参考和打印效果

以下界面由常州开发微信小程序公司点个赞科技,技术工程师实现蓝牙打印机店家提供的微信小程序源码反编译为uni-app项目而来。同时修复了源码中会导致蓝牙连接失败的错误,仅测试,代码可完整运行,可成功操作标签打印机和票据打印机实现打印功能。

扫描二维码推送至手机访问。

版权声明:本文由飞速云SEO网络优化推广发布,如需转载请注明出处。

本文链接:http://chlfg.com/post/97727.html

分享给朋友:

“扬州好的小程序设计公司(扬州的软件)” 的相关文章

北京铁路人才招聘网官网招聘公示(北京铁路人才招聘网官网招聘公示)

北京铁路人才招聘网官网招聘公示(北京铁路人才招聘网官网招聘公示)

本篇文章给大家谈谈北京铁路人才招聘网官网招聘公示,以及北京铁路人才招聘网官网招聘公示对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、北京铁路局是开始招聘了吗?报名入口在哪里? 2、问一下大家北京铁路局好进吗? 3、北京铁路局什么时候招聘?招聘要求是什么?近视戴眼镜...

中国铁路人才招聘网注册不了账号(铁路人才招聘网为什么注册不了)

中国铁路人才招聘网注册不了账号(铁路人才招聘网为什么注册不了)

今天给各位分享中国铁路人才招聘网注册不了账号的知识,其中也会对铁路人才招聘网为什么注册不了进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、中国铁路人才招聘网注册显示邮寄发送失败 2、铁路人才招聘网注册邮箱验证码发送失败 3、中国铁路人才招聘网注册邮件...

90平米装修大概多少钱(90平米正常装修多少钱)

90平米装修大概多少钱(90平米正常装修多少钱)

今天给各位分享90平米装修大概多少钱的知识,其中也会对90平米正常装修多少钱进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、90平米新房简单装修大概要多少钱? 2、装修是找家装公司,还是自己装?我家90平米要多少钱? 3、最近马上交房了,90平米的房...

桂平人才招聘网最新招聘(桂平人才市场招聘官网)

桂平人才招聘网最新招聘(桂平人才市场招聘官网)

本篇文章给大家谈谈桂平人才招聘网最新招聘,以及桂平人才市场招聘官网对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、桂聘人才网最新招聘信息真实吗 2、桂平招聘网真实吗 3、桂平事业单位报名人数 桂聘人才网最新招聘信息真实吗 真实。根据入职通软件总部于2021年9月...

学校教育发展论文(学校教育发展论文题目)

学校教育发展论文(学校教育发展论文题目)

本篇文章给大家谈谈学校教育发展论文,以及学校教育发展论文题目对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、怎么写学校教育论文 2、以“学校教育”为话题的议论文800字 3、教育发展的论文 4、关于学校教育的议论文800字 怎么写学校教育论文 这个只要掌握相...

学校名称是什么写(学校名称是什么意思)

学校名称是什么写(学校名称是什么意思)

今天给各位分享学校名称是什么写的知识,其中也会对学校名称是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、学校官方名称是指什么 2、初中学校名称怎么填写 3、学信网院校名称填什么 4、学校全称怎么写 学校官方名称是指什么 学校名称是指教...