sunmiPrinter

来自于:开发者立即使用

概述

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

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

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

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

商米注册合作伙伴参考商米注册合作伙伴

感谢用户 360811363@qq.com 给我录制视频,让模块上架。

模块接口

startService

开启打印服务

startService(callback(ret, err))

callback(ret, err)

ret:

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

err:

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

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

printerInit

初始化打印机

printerInit(callback(ret, err))

callback(ret, err)

ret:

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

err:

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

示例代码

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

可用性

Android系统

可提供的1.0.0及更高版本

printerSelfChecking

打印机自检

printerSelfChecking(callback(ret, err))

callback(ret, err)

ret:

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

err:

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

示例代码

var obj = api.require('sunmiPrinter');
obj.printerSelfChecking(
function(ret, err) {
    alert(JSON.stringify(ret));
});

可用性

Android系统

可提供的1.0.0及更高版本

printData

设置打印数据

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

params

data:

  • 类型:数组
  • 描述:(必输项)打印数据。
[{
    rowtype: 'printText',//打印文字,文字宽度满一行自动换行排版,不满一整行不打印除非强制换行
    text : ''    //要打印的文字字符串
},{
    rowtype: 'printOriginalText',   //文字按矢量文字宽度原样输出,即每个字符不等宽
    text : ''    //要打印的文字字符串
},{
    rowtype: 'printTextWithFont',   //打印指定字体的文本,字体设置只对本次有效
    text : '',    //要打印的文字字符串
    typeface:'', //字体名称(目前只支持"gh"字体)
    fontsize:12 //字体大小
},{
    rowtype: 'printColumnsText',   //打印表格的一行,可以指定列宽、对齐方式
    colsTextArr : ['名稱','數量','單價','金額'],  //各列文本字符串数组
    colsWidthArr : [10, 6, 6, 8], //各列宽度数组(以英文字符计算, 每个中文字符占两个英文字符, 每个宽度大于0)
    colsAlign : [0, 2, 2, 2] //各列对齐方式(0居左, 1居中, 2居右)
    //备注: 三个参数的数组长度应该一致, 如果colsText[i]的宽度大于colsWidth[i], 则文本换行
},{
    rowtype: 'setFontSize',   //设置字体大小, 对之后打印有影响,除非初始化
    fontsize:12 //字体大小
},{
    rowtype: 'lineWrap',  //打印机走纸(强制换行,结束之前的打印内容后走纸n行)
    n:3  //走纸行数
},{
    rowtype: 'setAlignment',  //设置对齐模式,对之后打印有影响,除非初始化
    alignment:0  //对齐方式 0--居左 , 1--居中, 2--居右
},{
    rowtype: 'printBarCode',  //打印一维条码
    data:'',  //条码数据
    symbology:8,//0-8
    width:160, //条码宽度: 取值2至6, 默认2
    height:160, //条码高度:取值1到255, 默认162
    textposition : 2 //文字位置 0--不打印文字, 1--文字在条码上方, 2--文字在条码下方, 3--条码上下方均打印
},{
    rowtype: 'printQRCode',  //打印二维条码
    data:'',  //二维码数据
    size:240 //二维码块大小(单位:点)
},{
    rowtype: 'printBitmap',  //打印图片
    image:'widget://res/Images/1.jpg'  //图片bitmap对象(最大宽度384像素,超过无法打印并且回调callback异常函数) 支持widget:// fs://
},{
    rowtype: 'printTypeHorizontalLine',  //画特殊水平线
    type:0, //水平线类型(0至11)
}]

callback(ret, err)

ret:

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

err:

  • 类型:JSON对象
  • 内部字段:
{
    code: "",
    msg:""
}

示例代码

var obj = api.require('sunmiPrinter');
obj.printData({
                data : [{
                    rowtype : 'printColumnsText',
                    colsTextArr : ['名稱','數量','單價','金額'],
                    colsWidthArr : [10, 6, 6, 8],
                    colsAlign : [1, 2, 2, 2]
                },{
                    rowtype : 'printColumnsText',
                    colsTextArr : ['草莓酸奶A布甸','4','12.00','48.00'],
                    colsWidthArr : [10, 6, 6, 8],
                    colsAlign : [0, 2, 2, 2]
                },{
                    rowtype : 'printText',
                    text : '支付宝\n'
                }, {
                    rowtype : 'printText',
                    text : 'Alipay\n'
                }, {
                    rowtype : 'printText',
                    text : '===============================\n'
                }, {
                    rowtype : 'printText',
                    text : '订单金额                 0.01元\n'
                }, {
                    rowtype : 'printText',
                    text : '    参与优惠金额        0.01元\n'
                }, {
                    rowtype : 'printText',
                    text : '商家实收\n'
                }, {
                    rowtype : 'printText',
                    text : '-------------------------------\n'
                }, {
                    rowtype : 'printText',
                    text : '开票金额(用户实付)   0.01元\n'
                }, {
                    rowtype : 'printText',
                    text : '--------------------------------\n'
                }, {
                    rowtype : 'printText',
                    text : '交易号:\n'
                }, {
                    rowtype : 'printText',
                    text : '2016040621001004150224503623\n'
                }, {
                    rowtype : 'printText',
                    text : '门店名称  正新鸡排(欢乐谷二店)\n'
                }, {
                    rowtype : 'printText',
                    text : '买家帐号         1id***@21cn.com\n'
                }, {
                    rowtype : 'printText',
                    text : '--------------------------------\n'
                }, {
                    rowtype : 'printText',
                    text : '日期           2016-04-06 11:29\n'
                }, {
                    rowtype : 'printText',
                    text : '--------------------------------\n'
                }, {
                    rowtype : 'printText',
                    text : '此小票不需要用户签字\n'
                }, {
                    rowtype : 'setFontSize',
                    fontsize : 32
                }, {
                    rowtype : 'printText',
                    text : 'http://www.sunmi.com\n'
                }, {
                    rowtype : 'printOriginalText',
                    text : 'http://www.sunmi.com\n'
                }, {
                    rowtype : 'setFontSize',
                    fontsize : 24
                }, {
                    rowtype : 'printText',
                    text : 'http://www.sunmi.com\n'
                }, {
                    rowtype : 'printOriginalText',
                    text : 'http://www.sunmi.com\n'
                }, {
                    rowtype : 'lineWrap',
                    n : 2
                }, {
                    rowtype : 'setAlignment',
                    alignment : 1
                }, {
                    rowtype : 'printBarCode',
                    data : '6921505036025',
                    width : 160,
                    height : 160
                }, {
                    rowtype : 'setAlignment',
                    alignment : 1
                }, {
                    rowtype : 'printQRCode',
                    data : 'http://www.sunmi.com',
                    size : 240
                }, {
                    rowtype : 'printTypeHorizontalLine',
                    type : 0
                }, {
                    rowtype : 'printTypeHorizontalLine',
                    type : 1
                }, {
                    rowtype : 'printTypeHorizontalLine',
                    type : 2
                }, {
                    rowtype : 'printTypeHorizontalLine',
                    type : 3
                }, {
                    rowtype : 'printTypeHorizontalLine',
                    type : 4
                }, {
                    rowtype : 'printTypeHorizontalLine',
                    type : 5
                }, {
                    rowtype : 'printTypeHorizontalLine',
                    type : 6
                }, {
                    rowtype : 'printTypeHorizontalLine',
                    type : 7
                }, {
                    rowtype : 'printTypeHorizontalLine',
                    type : 8
                }, {
                    rowtype : 'printTypeHorizontalLine',
                    type : 9
                }, {
                    rowtype : 'printTypeHorizontalLine',
                    type : 10
                }, {
                    rowtype : 'printTypeHorizontalLine',
                    type : 11
                }, {
                    rowtype : 'printBitmap',
                    image : 'widget://res/Images/1.jpg'
                }, {
                    rowtype : 'lineWrap',
                    n : 3
                }]
            }, function(ret, err) {
                alert(JSON.stringify(ret));
            });

可用性

Android系统

可提供的1.0.0及更高版本

lineWrap

走纸行数

lineWrap(callback(ret, err))

callback(ret, err)

ret:

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

err:

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

示例代码

var obj = api.require('sunmiPrinter');
obj.lineWrap(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对象
  • 内部字段:
{
    code: -1,
    msg:''
}

示例代码

var obj = api.require('sunmiPrinter');
obj.stopService(
function(ret, err) {
    alert(JSON.stringify(ret)+" "+JSON.stringify(err));
});

可用性

Android系统

可提供的1.0.0及更高版本