seblePrinter

来自于:开发者立即使用

概述

seblePrinter简介

seblePrinter 模块概述

本模块封装了蓝牙小票打印机,通过html网页形式和字符串形式打印小票,使用起来方便,可自定义格式和内容。

实例widget下载地址

模块接口

init

搜索小票打印机蓝牙接口

init(callback(ret, err))

init(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    perpherals: []     //数组类型;数组内包含字典,属性分别为id(数字类型)、name(字符串类型)、state(数字类型,0为没有连接,1为正在连接,2为已经连接,3为正在断开连接)

}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    error: 0        //数字类型;
                    //错误码:
                    //0(未知错误),
                    //1(正在重启),
                    //2(设备不支持),
                    //3(未授权),
                    //4(蓝牙可用,但是未打开),
                    //5(搜索超时)
}

示例代码

var printer = api.require('seblePrinter');
printer.init(function(ret, err){
    if(ret){
        alert(JSON.stringify(ret));
    }
    if(err){
        alert(JSON.stringify(err));
    }
});

可用性

iOS系统

可提供的1.0.0及更高版本

connect

连接小票打印机接口

connect({params}, callback(ret, err))

params

id:

  • 类型:数字类型
  • 描述:默认值为0,填写init接口返回的id。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    message: "连接成功"   //字符串;连接成功描述信息
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
  message: "连接失败"   //字符串;连接失败描述信息
}

示例代码

var printer = api.require('seblePrinter');
printer.connect({
    id : 0
},function(ret,err){
if(ret.message){
alert(ret.message);
}
if(err.message){
alert(err.message);
}
});

可用性

iOS系统

可提供的1.0.0及更高版本

print

以html网络文件形式打印小票

print({params}, callback(ret, err))

params

url:

  • 类型:字符串
  • 描述:打印小票的html文件的网络地址。

alignment:

  • 类型:数字类型
  • 描述:对齐方式
  • 默认值:0
  • 取值范围:
    • 0(居中)
    • 1(左对齐)
    • 2(右对齐)

maxWidth:

  • 类型:数字类型
  • 描述:最大宽度
  • 默认值:450

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    state: 0    //数字类型;0为成功,1为失败
    message:""  //字符串;描述信息
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
            //无返回值
}

示例代码

var printer = api.require('seblePrinter');
printer.print({
    url:'',
    alignment:0,
    maxWidth:450
},function(ret,err){
    if(ret){
        alert(JSON.stringify(ret));
    }
    if(err){
        alert(JSON.stringify(err));
    }
});

可用性

iOS系统

可提供的1.0.0及更高版本

printLocal

以html本地文件形式打印小票接口

print({params}, callback(ret, err))

params

path:

  • 类型:字符串
  • 描述:打印小票的html本地地址(格式为 widget://)。

alignment:

  • 类型:数字类型
  • 描述:对齐方式
  • 默认值:0
  • 取值范围:
  • 0(居中)
  • 1(左对齐)
  • 2(右对齐)

maxWidth:

  • 类型:数字类型
  • 描述:最大宽度
  • 默认值:450

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
state: 0    //数字类型;0为成功,1为失败
message:""  //字符串;描述信息
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
            //无返回值
}

示例代码

var printer = api.require('seblePrinter');
printer.printLocal({
    path:'widget://res/print.html',
    alignment:0,
    maxWidth:450
},function(ret,err){
    if(ret){
        alert(JSON.stringify(ret));
    }
    if(err){
        alert(JSON.stringify(err));
    }
});

可用性

iOS系统

可提供的1.0.0及更高版本

printString

以字符串形式打印小票接口

printString({params}, callback(ret, err))

params

printString:

  • 类型:数组
  • 描述:打印小票的数据。里面为字典类型。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
state: 0    //数字类型;0为成功,1为失败
message:""  //字符串;描述信息
}

err:

  • 类型:JSON 对象
  • 内部字段:
{
    //无返回值
}

示例代码


var printString=new Array();

printString[0] = {'type':1,'title':'测试电商','font':'big','textAlignment':'center'};

printString[1] = {'type':2,'text':'测试电商服务中心(销售单)','textAlignment':'center'};

printString[2] = {'type':3,'text':'RN3456789012'};

printString[3] = {'type':4,'title':'时间:','text':'2016-04-27 10:01:50','offset':150};

printString[4] = {'type':4,'title':'订单:','text':'4000020160427100150','offset':150};

printString[5] = {'type':2,'text':'地址:深圳市南山区学府路东深大店','textAlignment':'left'};

printString[6] = {'type':5};

printString[7] = {'type':6,'leftText':'商品','middleText':'数量','rightText':'单价'};

printString[8] = {'type':7,'leftText':'铅笔','middleText':'5','rightText':'2.0'};

printString[9] = {'type':7,'leftText':'橡皮','middleText':'2','rightText':'1.0'};

printString[10] = {'type':7,'leftText':'笔记本','middleText':'10','rightText':'5.0'};

printString[11] = {'type':5};

printString[12] = {'type':8,'title':'总计:','text':'62.0'};

printString[13] = {'type':8,'title':'实收:','text':'100.0'};

printString[14] = {'type':8,'title':'找零:','text':'48.0'};

printString[15] = {'type':5};

printString[16] = {'type':2,'text':'二维码','textAlignment':'center'};

printString[17] = {'type':9,'QRCode':'www.baidu.com'};

var printer = api.require('seblePrinter');

printer.printString({

    printString:printString

},function(ret,err) {

    if(ret){
        alert(JSON.stringify(ret));
    }
    if(err){

    alert(JSON.stringify(err));
    }
});

补充说明

printString 里面为字典

当type为1时设置(打印文字) title(文字) ,font(字体大小,可设置为big(大)、smalle(中)、middle(小), textAlignment(对齐方式、center(居中)、left(左对齐)、right(右对齐)) 例: 'type':1,'title':'测试电商','font':'big','textAlignment':'center'

当type为2时设置(打印文字) text(文字) , textAlignment(对齐方式、center(居中)、left(左对齐)、right(右对齐)) 例:'type':2,'text':'测试电商服务中心(销售单)','textAlignment':'center'

当type为3时设置(打印条形码) text(条形码字符串) 例:'type':3,'text':'RN3456789012'

当type为4时设置(打印文字) title(文字) ,text(文字),offset(偏移量,为数字类型) 例:'type':4,'title':'时间:','text':'2016-04-27 10:01:50','offset':150

当type为5时设置(打印虚线)

当type为6时设置(打印文字) leftText(文字) middleText(文字) rightText(文字) 例:'type':6,'leftText':'商品','middleText':'数量','rightText':'单价'

当type为7时设置(打印文字,和6区别见下图) leftText(文字) middleText(文字) rightText(文字) 例:'type':7,'leftText':'铅笔','middleText':'5','rightText':'2.0'

当type为8时设置(打印文字) title(文字) ,text(文字) 例:'type':8,'title':'总计:','text':'62.0'

当type为9时设置 QRCode(二维码字符串) 例:'QRCode':'www.baidu.com'

具体效果如下

Image text

可用性

iOS系统

可提供的1.0.0及更高版本