yingmeiPrinter

立即使用

概述

yingmeiPrinter 封装适配了映美CFP-820BW针式云打印机局域网wifi、蓝牙打印的相关操作,支持打印html、图片,使用前请先按照说明书配置网络。图片仅支持jpg、png格式,大小不能超过600K。打印html仅支持本地静态htlm通过局域网wifi链接打印。手机系统支持Android 7.0以上手机,ios暂不支持。

searchDevices

搜索可用的映美打印设备,需要手机开启蓝牙和位置;使用局域网wifi,需要先扫描打印机上的二维码,配置网络。

searchDevices({params},callback(ret))

params

time:

  • 类型:数字
  • 描述:搜索超时时间,默认10秒,超出时间后没有搜索到可用设备时需要重新搜索
  • 默认:10

type:

  • 类型:字符串类型
  • 描述:搜索类型,参考值:"wifi":局域网wifi; "classic":蓝牙经典版;"ble":蓝牙低功耗版; "all":包括全面三种全部
  • 默认:"all"
  • 注意:打印效果wifi>classic>ble;使用ble打印图片数据量较大会出现数据丢包进而出现打印乱码的现象;搜索不到打印机wifi的时候需要扫描打印机上的二维码重新配网

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:      //布尔类型:true:表示扫描到设备,false
  eventType:   //字符串类型:
               //startDevices 表示开始搜索;
               //stopDevices 表示结束搜索;
               //findDevices表示发现设备,只要搜索到新的就会一直回调,直到搜索结束
  deviceInfos: //JSonArray,eventType为"findDevices"时返回搜索到的打印设备信息

}

示例代码

var yingmeiPrinter = api.require('yingmeiPrinter');
yingmeiPrinter.searchDevices({
    time:10,
    type:'wifi'
},function(ret) {
    if (ret) {
        alert(ret.deviceInfos);
    } 
});

可用性

Android系统

可提供的1.0.0及更高版本

isSupportedBLE

是否支持蓝牙BLE

isSupportedBLE(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  isSupportedBLE:      //布尔类型:true:支持,false:不支持
}

示例代码

var yingmeiPrinter = api.require('yingmeiPrinter');
yingmeiPrinter.isSupportedBLE(function(ret) {
    if (ret) {
        alert(ret.isSupportedBLE);
    } 
});

可用性

Android系统

可提供的1.0.0及更高版本

isBluetoothOpen

蓝牙是否开启

isBluetoothOpen(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  isBluetoothOpen:      //布尔类型:true:开启,false:未开启
}

示例代码

var yingmeiPrinter = api.require('yingmeiPrinter');
yingmeiPrinter.isBluetoothOpen(function(ret) {
    if (ret) {
        alert(ret.isBluetoothOpen);
    } 
});

可用性

Android系统

可提供的1.0.0及更高版本

setDebug

蓝牙是否开启

setDebug({params})

params

debug:

  • 类型:布尔类型
  • 描述:是否开启调试日志,日志输出tag为 print,开启后自动会将日志写入文件,默认的日志文件存储路径为根目录下的ttt.log
  • 默认:false 不开启

示例代码

var yingmeiPrinter = api.require('yingmeiPrinter');
yingmeiPrinter.setDebug({
    debug:true
});

可用性

Android系统

可提供的1.0.0及更高版本

getConnectedDevice

获取已连接的设备信息;sdk未提供建立链接的接口,打印时可以先调用此方法判断是否已经建立链接,已经建立链接的话可以直接打印

getConnectedDevice(callback(ret))

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:    //布尔类型 true:表示有设备链接;false表示无设备链接
  deviceInfo: //JSon对象,status为 true 时返回,内部字段如下:
              //wifi搜索: address为ip地址,  did为打印机编号,  pstatus为打印机状态:(0 空闲 1 忙碌 2 异常),  mdl为打印机型号.  (作为打印参数时:则必须有address和did)
              //蓝牙搜索: address 为mac地址, did为蓝牙名  (做为打印参数时:则必须有address)
              //transType:打印类型(BLE/CLASSIC/WIFI),打印时必须有该参数
}

示例代码

var yingmeiPrinter = api.require('yingmeiPrinter');
yingmeiPrinter.getConnectedDevice(function(ret) {
    if (ret) {
        alert(JSON.stringify(ret.deviceInfo));
    }
});

可用性

Android系统

可提供的1.0.0及更高版本

printPicture

打印图片, 注意图片仅支持png和jpg格式的,大小有限制,不能超过600K

printPicture({params},callback(ret))

params

deviceInfo:

  • 类型:json对象
  • 描述:searchDevices方法中返回的deviceInfos中的任意一个都可以选择

path:

  • 类型:字符串
  • 描述:图片的路径,支持url、fs、绝对路径

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:      //布尔类型:true:数据发送成功,false:数据发送失败
  msg: //字符串类型: status为 false 时返回错误信息

}

示例代码

var yingmeiPrinter = api.require('yingmeiPrinter'); yingmeiPrinter.printPicture({ deviceInfo:deviceInfo, path:'fs://print/ccc.jpg' },function(ret,) { if (ret) { alert(JSON.stringify(ret)); } });

可用性

Android系统

可提供的1.0.0及更高版本

printHTML

打印html,和映美技术人员确认,CFP-820BW只支持wifi链接打印;支持标准规范的html标签,样式只能支持到IE11内核,可以打印表格数据以及标准规范排版页面,html页面的body宽度不大于打印机的纸张宽度值,Body宽度的像素最大值等于纸张宽度*打印机dpi/25.4打印机的dpi值。CFP-820BW的dpi值为180。

printHTML({params},callback(ret))

params

deviceInfo:

  • 类型:json对象
  • 描述:searchDevices方法中返回的deviceInfos中的必须选择transType=="TRANS_WIFI"的设备

path:

  • 类型:字符串
  • 描述:本地html的路径,支持fs、绝对路径

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:      //布尔类型:true:数据发送成功,false:数据发送失败
  msg: //字符串类型: status为 false 时返回错误信息

}

示例代码

var yingmeiPrinter = api.require('yingmeiPrinter'); yingmeiPrinter.printHTML({ deviceInfo:deviceInfo, path:'fs://print/test.html' },function(ret,) { if (ret) { alert(JSON.stringify(ret)); } });

可用性

Android系统

可提供的1.0.0及更高版本

printFile

打开系统的文件选择器,选择一个文件打印,只支持图片、html文件;pdf需要转成图片后才能打印。打印图片大小不能超过600K,图片格式为jpg、png

printFile({params},callback(ret))

params

deviceInfo:

  • 类型:json对象
  • 描述:searchDevices方法中返回的deviceInfos中的一个deviceInfo对象

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
  status:      //布尔类型:true:数据发送成功,false:数据发送失败
  msg: //字符串类型: status为 false 时返回错误信息

}

示例代码

var yingmeiPrinter = api.require('yingmeiPrinter'); yingmeiPrinter.printFile({ deviceInfo:deviceInfo },function(ret,) { if (ret) { alert(JSON.stringify(ret)); } });

可用性

Android系统

可提供的1.0.0及更高版本

stopSearch

停止搜索

stopSearch()

示例代码

var yingmeiPrinter = api.require('yingmeiPrinter');
yingmeiPrinter.stopSearch();

可用性

Android系统

可提供的1.0.0及更高版本

closeConnect

关闭链接,调用该方法会关闭与打印机的通信,未发送完的数据会丢失,应当在不需要连接的时候使用。

closeConnect()

示例代码

var yingmeiPrinter = api.require('yingmeiPrinter');
yingmeiPrinter.closeConnect();

可用性

Android系统

可提供的1.0.0及更高版本

release

释放资源,调用该方法会关闭与打印机的通信,日志写入也会停止。可以在APP退出或页面关闭时调用。

release()

示例代码

var yingmeiPrinter = api.require('yingmeiPrinter');
yingmeiPrinter.release();

可用性

Android系统

可提供的1.0.0及更高版本