sunmiV2Printer

来自于:开发者立即使用

论坛示例

为了帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。

概述

商米科技 上海商米科技有限公司是一家专注为O2O互联网平台,软件开发商、中小型商户提供专业的、高性价比的智能商用硬件设备的创新型科技企业。

SUNMIUI 商米设备运行的是SUNMIUI系统,SUNMIUI是基于Android深度优化改良的操作系统,支持安装普通基于Android系统的app,专为智能商用场景深度定制,从操作体验、性能提升与产品外观设计内外呼应,相得益彰。让用户在使用硬件的同时能享受更加专业系统的软件服务体验。

应用市场 SUNMIUI内部有一个应用市场,合作伙伴可以通过应用市场将自己的应用大规模分发到商米的设备上。部分合作伙伴可以有一个自己管理的应用市场,默认旗下设备用户只能通过应用市场为设备安装应用。

sunmiV2Printer 模块概述 商米打印模块,支持商米主推的智能商用硬件V2,V2 设备应用于包括外卖接单,打印小票,扫描,收款,团购核销,点餐预约等一系列商业场景。

商米V2手持打印机在商米淘宝旗舰店购买

模块接口

startService

开启打印服务

startService(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ''
}

示例代码

var demo = api.require('sunmiV2Printer');
demo.startService(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

stopService

停止打印服务

stopService(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ''
}

示例代码

var sunmiV2Printer = api.require('sunmiV2Printer');
sunmiV2Printer.stopService(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

initPrinter

初始化打印机

initService(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ''
}

示例代码

var sunmiV2Printer = api.require('sunmiV2Printer');
sunmiV2Printer.initService(function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

printText

打印文字

printText(params,callback(ret, err))

params

text:

  • 类型:字符串
  • 描述:要打印文字

size:

  • 类型:int
  • 描述:字体大小

size:

  • 类型:整型
  • 描述:字体大小

isBole:

  • 类型:布尔
  • 描述:粗体

isUnderLine:

  • 类型:布尔
  • 描述:下划线

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ''
}

示例代码

sunmiV2Printer.printText({
   text:'Hello APICloud!',
   size:24,
   isBole:'false',
   isUnderLine:'false',
}, function( ret , err ) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

printData

打印数据

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

params

  • data:

    • 类型:数组
    • 描述:打印数据。
    [{
        rowtype: 'printText',                  //打印文字,文字宽度满一行自动换行排版
        text : '',                              //要打印的文字字符串
        size:,                                //字体大小
           isBole:'',                            //粗体
           isUnderLine:'',                         //下划线
    },{
        rowtype: 'lineWrap',                  //打印机走纸
        n : 3                                     //走纸行数
    },{
        rowtype: 'printTable',                  //打印表格
        colsText : "名称,数量,单价,金额",      //表头
        colsWidth:[10, 6, 6, 8],             //各列单元格宽度
        colsAlign:[1, 2, 2, 2],             //各列单元格对齐(0居左, 1居中, 2居右)
        dataArr:[                           //单元内容(数组)
            "商品A,6,12.00,72.00",
            "商品B,8,13.00,104.00"],
    },{
        rowtype : "setFontSize",            //设置字体大小, 对之后打印有影响,除非初始化
        size:24                               //字体大小
    },{
        rowtype : "setAlignment",            //设置对齐模式,对之后打印有影响,除非初始化
        alignment:1                           //对齐方式 0--居左 , 1--居中, 2--居右
    },{
        rowtype : 'printBitmap',            //打印图片
        image:'widget://res/test.jpg'        //图片bitmap对象(最大宽度384像素,超过无法打印) 支持widget:// fs://
    },{
        rowtype: 'printBarCode', //打印条形码
        text : '',              //条码数据
        symbology : 8,             //条码类型:0:UPC-A,1:UPC-E,2:JAN13(EAN13),3:JAN8(EAN8),4:CODE39,5:ITF,6:CODABAR,7:CODE93,8:CODE128
        height : 80,             //条码高度:取值1到255, 默认162
        width : 2,                //条码宽度:取值2至6, 默认2
        textposition : 2        //文字位置:0--不打印文字, 1--文字在条码上方, 2--文字在条码下方, 3--条码上下方均打印
    }]
    

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ''
}

示例代码

var param = {data:[
                { 
                    rowtype : 'printText',
                    text:'Hello APICloud!',
                    size:18,
                    isBole:'false',
                    isUnderLine:'fasle'
                },{
                    rowtype : 'lineWrap',
                    n:1
                },{
                    rowtype : 'printTable',
                    colsText:"名称,数量,单价,金额",
                    colsWidth : [10, 6, 6, 8],
                    colsAlign : [1, 2, 2, 2],
                    dataArr:[
                        "商品A,6,12.00,72.00",
                        "商品B,8,13.00,104.00"],
                },{
                    rowtype : 'printText',
                    text:'------------------'
                },{
                    rowtype : "setFontSize",            
                    size:24                              
                },{
                    rowtype : "setAlignment",            
                    alignment:1                          
                },{ 
                    rowtype : 'printText',
                    text:'Hello APICloud!',
                },{
                    rowtype : 'printBitmap',            
                    image:'widget://res/test.jpg'
                },{
                    rowtype : 'printBarCode',
                    text:'20190630001',
                    symbology:8,
                    height:80,
                    width:2,
                    textposition:2
                },{
                    rowtype : 'lineWrap',
                    n:3
                }
            ]};

    sunmiV2Printer.printData(param,function(ret, err){
        alert(JSON.stringify(ret));
    });

可用性

Android系统

可提供的1.0.0及更高版本

lineWrap

走纸

lineWrap(params,callback(ret, err))

params

n:

  • 类型:int
  • 描述:走纸行数

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ''
}

示例代码

sunmiV2Printer.lineWrap({
   n:3
}, function( ret , err ) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

printQRCode

打印二维码

printQRCode(params,callback(ret, err))

params

data:

  • 类型:字符串
  • 描述:二维码数据

modulesize:

  • 类型:int
  • 描述:二维码块大小(单位:点, 取值 1 至 16 )

errorlevel:

  • 类型:int

  • 描述:二维码纠错等级(0 至 3),

    ​ 0 -- 纠错级别L ( 7%),

    ​ 1 -- 纠错级别M (15%),

    ​ 2 -- 纠错级别Q (25%),

    ​ 3 -- 纠错级别H (30%)

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true   //布尔型;true||false
}

err:

  • 类型:JSON对象
  • 内部字段:
{
    msg: ''
}

示例代码

var param = {
    data:"http://www.apicloud.com",
    modulesize:6,
    errorlevel:0
};

sunmiV2Printer.printQRCode(param,function(ret, err){
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本