更新记录
1.0.0(2023-10-08)
汉印ft800打印机
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 12.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
前言
汉印ft800打印机
支持定制,QQ252797991
var ft = uni.requireNativePlugin("wrs-ft");
方法
- 初始化SDK,可以放到app启动的时候初始化
// 初始化SDK
ft.initSDK({
qudaoCode: "a+Ubi0NBzm49FyzR8kFMo//arTb1odK2EjPx5kKys/qjkx6zF9pVjR8t4w2n3QY3DyBVCS0qHSm51aNNR+u8kpQz4KZFHL2bxU5hcEF8TCXCefT7SLUzuEsr66P2BkZa6yhPpW45MzQyS4gVh/OHdCnaa7oPNlQvpM8igTyi1Fg="
})
- 设备状态信息监听
ft.setStatusListener((resp) => {
});
- 打印或升级监听
ft.setPrintListener((resp) => {
var opt = resp.opt;
switch (opt) {
case "onPrintSuccess":
this.showMsg("打印成功")
break;
case "onPrintFail":
this.showMsg("打印失败:" + JSON.stringify(resp))
break;
case "onPrintSendFail":
this.showMsg("打印发送失败:" + JSON.stringify(resp))
break;
case "onUpgradeSuccess":
this.showMsg("升级")
break;
case "onUpgradeSendFail":
this.showMsg("升级发送失败:" + JSON.stringify(resp))
break;
default:
break;
}
})
- 蓝牙连接打印机,打印机的address可以通过蓝牙扫描插件https://ext.dcloud.net.cn/plugin?id=13533获取
var params = {};
params.address = this.address;
ft.connectBluetooth(params, (resp)=>{
if(resp.suc) {
this.showMsg("蓝牙连接成功")
} else {
this.showMsg("蓝牙连接失败")
}
})
- wifi连接打印机
var params = {};
params.ip = “192.168.0.xx”;
ft.connectWifi(params, (resp)=>{
var opt = resp.opt;
if(opt == "onSuccess") {
// 连接成功
} else if(opt = "onDeviceLost") {
// 设备掉线
} else if(opt = "onFail") {
// 连接失败
}
})
- usb连接打印机,deviceId可以通过插件https://ext.dcloud.net.cn/plugin?id=13300获取 vendorId == 0x2AAF && productId == 0x4010 的是汉印打印机
var params = {};
params.deviceId = “xxx”;
ft.connectUSB(params, (resp)=>{
var opt = resp.opt;
if(opt == "onSuccess") {
// 连接成功
} else if(opt = "onDeviceLost") {
// 设备掉线
} else if(opt = "onFail") {
// 连接失败
}
})
- 打印文本、图片
var qrcodeUrl = plus.io.convertLocalFileSystemURL("_www/static/qrcode.png");
var imageUrl = plus.io.convertLocalFileSystemURL("_www/static/select.pn");
var cmds = [];
// 准备打印
cmds.push({
opt: "preparePrint"
})
cmds.push({
opt: "setPageSize",
width: 2360,
height: 2360
})
cmds.push({
opt: "setText",
textSize: 60,
x: 108,
y: 238,
text: "主要成分:医疗有害医疗有害医疗"
})
cmds.push({
opt: "setText",
textSize: 60,
x: 108,
y: 338,
text: "主要成分:医疗有害医疗有害医疗"
})
cmds.push({
opt: "setText",
textSize: 60,
x: 108,
y: 438,
text: "主要成分:医疗有害医疗有害医疗"
})
cmds.push({
opt: "setBitmap",
left: 1920,
top: 1800,
url: qrcodeUrl
})
cmds.push({
opt: "setBitmap",
left: 1645,
top: 465,
url: imageUrl
})
var params = {};
params.cmds = cmds; // 设置打印内容
params.id = 1; // 包序号
params.index = 1; // 当前第几页
params.count = 1; // 总页数
params.ctl = 1; //打印后是否裁切 0 不切,1 切刀 3黑标
params.copies = 1; // 当前页打印份数
params.taskId = 1; // 任务id(0~255)
params.compress = true; // 是否压缩数据
params.type = 1; // 打印效果 0=二值效果 1=文档打印效果 2=图片打印效果
params.recycler = true; // 是否回收图片, 打印内容会在app内存里面将文本、图片重新生成一张图片,实际上打印的是这张重新生成的图片,一般打印完都回收这张图片
ft.print(params, (resp)=>{
if(resp.suc) {
} else {
this.showMsg("打印失败:" + JSON.stringify(resp))
}
})
- 断开连接
ft.disconnect()
- 断开打印通道
ft.disconnectPrint()
- 取消打印
ft.cancelPrint()
- 重打
ft.rePrint()
- 设置打印浓度
ft.setDensity({
level: 1 // 浓度,level = 1,2,3
})
- 设置纸张类型
ft.setPaper({
paperType: 0 // 0连续纸 1黑标纸
})
- 设置待机时间
ft.setStandbyTime({
time: 0 // 单位秒
})
- 检查状态
ft.checkState()
- isEnableSend
ft.isEnableSend((resp)=>{
var isEnableSend = resp.isEnableSend
})
- 获取设备名字
ft.getPrintName((resp)=>{
var name = resp.name
})
- 升级
ft.upgradePrinterAndWiFi({
url: "/xx/xx/xx.bin"
})
- 获取设备SN
ft.getPrinterNo((resp)=>{
var no = resp.no
})
- 获取碳带余量
ft.getConsumableRemaining((resp)=>{
var value = resp.value
})
- 获取耗材型号
ft.getConsumableModel((resp)=>{
var consumableModel = resp.consumableModel
})
- 获取设备固件版本号
ft.getFirmwareVersion((resp)=>{
var version = resp.version
})
- 获取设备型号
ft.getModel((resp)=>{
var model = resp.model
})
- pdf转为图片
var params = {};
params.url = "/xx/xx.pdf"
params.dir = "/xxx/xxx" // 图片保存路径
ft.pdfToPrintImage((resp)=>{
})