seblePrinter
来自于:开发者立即使用
init connect print printLocal printString
概述
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及更高版本
以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’
具体效果如下
可用性
iOS系统
可提供的1.0.0及更高版本