【Uniapp 原生插件】商米内置打印机插件
文章目录
- 商米内置打印机插件
- 插件需求
- 插件介绍
- 使用案例
- 获取插件
- 连接服务
- 断开服务
- 测试打印
- 接口列表
商米内置打印机插件
- 插件地址:https://ext.dcloud.net.cn/plugin?id=8291
插件需求
使用插件前,请先使用试用版本,在本地调试好,看插件是否满足,再进行购买。如果插件不满足你的需求,可以联系我(微信:18386474459),尝试修改插件或者增加功能的方式,来帮助实现你的业务逻辑。
插件介绍
商米内置打印机插件,支持商米所有的一体机打印,采用的是商米一体机打印文档的标准 SDK 封装。初始化连接成功之后,直接从 Uniapp 端即可组装参数、纸张格式,直接传递到插件即可打印。下面有所有的接口文档,看不懂的可以打开商米官网查看一体机打印文档
模块的文档。
一体机打印文档适用于所有内置打印机的商米设备
连接方式:远程依赖库、蓝牙(蓝牙设备名:InnerPrinter)、AIDL 等
第三方 APP 可以通过连接内置打印机进行打印业务。商米打印机包含的功能:58 和 80mm 两种打印规格的热敏打印机,切刀(部分机器),钱箱(部分机器),客显(部分机器)
商米打印机一体机打印文档
使用案例
获取插件
// 商米内置打印机插件
let sunmiPrinterPlugin = uni.requireNativePlugin('Tellsea-SunmiPrinterPlugin');
console.log('商米内置打印机插件:' + JSON.stringify(sunmiPrinterPlugin));
连接服务
// 连接服务
connect() {sunmiPrinterPlugin.connect((e) => {let res = JSON.parse(e);console.log(res);if (res.code == 200) {that.$msg(res.msg);} else {that.$msg(res.msg);}});
},
断开服务
// 断开服务
disconnect() {sunmiPrinterPlugin.disconnect((e) => {let res = JSON.parse(e);console.log(res);if (res.code == 200) {that.$msg(res.msg);} else {that.$msg(res.msg);}});
},
测试打印
// 测试打印
testPrinter() {sunmiPrinterPlugin.printerInit();sunmiPrinterPlugin.getPrinterPaper((paper) => {sunmiPrinterPlugin.setAlignment(1);sunmiPrinterPlugin.printTextWithFont("结账单 #100\n", null, 48);sunmiPrinterPlugin.printTextWithFont("Tellsea 专卖店\n", null, 40);that.setInterval(paper);sunmiPrinterPlugin.setAlignment(0);sunmiPrinterPlugin.setPrinterStyle(2003, 0);sunmiPrinterPlugin.printTextWithFont("桌台号:华山007\n", null, 28);sunmiPrinterPlugin.printTextWithFont("就餐人数:1人\n", null, 28);sunmiPrinterPlugin.printTextWithFont("配送类型:骑手配送\n", null, 28);sunmiPrinterPlugin.printTextWithFont("订单号:131561658165116\n", null, 28);that.setInterval(paper);sunmiPrinterPlugin.setPrinterStyle(1002, 1);let txts = ["商品", "数量", "单价"];let width = [4, 1, 1];let align = [0, 1, 2];sunmiPrinterPlugin.printColumnsString(txts, width, align);sunmiPrinterPlugin.setPrinterStyle(1002, 2);// 多属性格式txts[0] = "杨枝甘露";txts[1] = "";txts[2] = "";sunmiPrinterPlugin.printColumnsString(txts, width, align);txts[0] = "大份、加冰、微辣";txts[1] = 1;txts[2] = 18;sunmiPrinterPlugin.printColumnsString(txts, width, align);// 单属性格式txts[0] = "小馒头";txts[1] = 1;txts[2] = 18;sunmiPrinterPlugin.printColumnsString(txts, width, align);// 单个菜设置备注txts[0] = "备注少放盐";txts[1] = "";txts[2] = "";sunmiPrinterPlugin.printColumnsString(txts, width, align);that.setInterval(paper);sunmiPrinterPlugin.printTextWithFont("订单原价:999\n", null, 28);sunmiPrinterPlugin.printTextWithFont("优惠金额:1\n", null, 28);sunmiPrinterPlugin.printTextWithFont("抹零金额:0.99\n", null, 28);sunmiPrinterPlugin.printTextWithFont("整单打折:8折\n", null, 28);sunmiPrinterPlugin.printTextWithFont("打折金额:200\n", null, 28);sunmiPrinterPlugin.printTextWithFont("订单备注:麻烦快一点,客人忙着出去\n", null, 28);that.setInterval(paper);sunmiPrinterPlugin.printTextWithFont("实付金额:888\n", null, 40);that.setInterval(paper);sunmiPrinterPlugin.printText(" \n");sunmiPrinterPlugin.printText(" \n");sunmiPrinterPlugin.printText(" \n");sunmiPrinterPlugin.printText(" \n");sunmiPrinterPlugin.cutPaper();});
},
setInterval(paper) {if (paper == 1) {sunmiPrinterPlugin.printText("--------------------------------\n");} else {sunmiPrinterPlugin.printText("------------------------------------------------\n");}
}
接口列表
内置打印机开发文档全系列接口。接口的使用,对照着官方在线文档:内置打印机开发文档,查看接口的作用就行了,直接翻译接口名也能知道是啥作用。
void updateFirmware();int getFirmwareStatus();String getServiceVersion();void printerInit();void printerSelfChecking();String getPrinterSerialNo();String getPrinterVersion();String getPrinterModal();void getPrintedLength();void lineWrap(int var1);void sendRAWData(byte[] var1);void setAlignment(int var1);void setFontName(String var1);void setFontSize(float var1);void printText(String var1);void printTextWithFont(String var1, String var2, float var3);void printColumnsText(String[] var1, int[] var2, int[] var3);void printBitmap(Bitmap var1);void printBarCode(String var1, int var2, int var3, int var4, int var5);void printQRCode(String var1, int var2, int var3);void printOriginalText(String var1);void commitPrint(TransBean[] var1);void commitPrinterBuffer();void cutPaper();int getCutPaperTimes();void openDrawer();int getOpenDrawerTimes();void enterPrinterBuffer(boolean var1);void exitPrinterBuffer(boolean var1);void tax(byte[] var1, InnerTaxCallback var2);void getPrinterFactory();void clearBuffer();void commitPrinterBufferWithCallback();void exitPrinterBufferWithCallback(boolean var1);void printColumnsString(String[] var1, int[] var2, int[] var3);int updatePrinterState();void sendLCDCommand(int var1);void sendLCDString(String var1);void sendLCDBitmap(Bitmap var1);int getPrinterMode();int getPrinterBBMDistance();void printBitmapCustom(Bitmap var1, int var2);int getForcedDouble();boolean isForcedAntiWhite();boolean isForcedBold();boolean isForcedUnderline();int getForcedRowHeight();int getFontName();void sendLCDDoubleString(String var1, String var2);int getPrinterPaper();boolean getDrawerStatus();void sendLCDFillString(String var1, int var2, boolean var3);void sendLCDMultiString(String[] var1, int[] var2);int getPrinterDensity();void print2DCode(String var1, int var2, int var3, int var4);void autoOutPaper();void setPrinterStyle(int var1, int var2);void labelLocate();void labelOutput();
【Uniapp 原生插件】商米内置打印机插件相关推荐
- 【Android】Android 集成商米内置打印机打印票据
文章目录 [Android]Android 集成商米内置打印机打印票据 1.集成商米打印依赖 2.规范接口接口 3.使用到的相关对象以及工具类 4.MainActivity初始化接口 5.Uniapp ...
- android 连接商米POSV1内置打印机
最近接触连接打印机的比较多,就写下来吧 连接商米POSV1的打印机: 商米官网上有开发文档,具体可以看下,我只写下步骤: (1)因为我用的AIDL的方法,所以先把这3个文件放入到项目中 (2)创建线程 ...
- java分页插件PageHelper的内置list数据操作失败
问题描述: java分页插件PageHelper的内置list数据在hanlder处理器中获取失败,但是测试确通过了,如下图 但是测试代码成功 @ContextConfiguration(locati ...
- AWS EMR内置Ranger插件使用的IAM Role及其设计策略
AWS EMR提供三种内置的Ranger插件,分别是:S3(EMRFS),Spark,Hive,如果要启用这些插件,需要创建三个特定的IAM Role,以便相关组件能获得适当的权限.对这三种Role的 ...
- 版权原因,QQ不再内置flash插件,需安装二个插件
QQ不再内置flash插件 需安装二个插件
- HBuilder X内置浏览器插件安装失败解决方案
我是最近下载的HBuilder X,今天要去用的时候,想去下载一下插件,发现其他插件都能下载安装成功,而内置浏览器插件却总是安装失败.注意,提示的是安装失败哦,于是我便去百度寻求帮助. 关闭360,火 ...
- Idea中内置Translation插件报“翻译错误”,解决方式!!!
问题 我的编程软件一直是Idea,Idea是我心中YYDS. 使用的版本是2020.4,最近在使用idea内置的Translation翻译插件的时候,一直报翻译失败的错误.一开始以为是我的网络问题,从 ...
- VS code内置浏览器插件-Preview on Web Server
VS code内置浏览器需要自己下载安装,下面我们就来看看下载安装使用VS code内置浏览器的图文教程. 软件名称: Visual Studio Code(代码编辑器) v1.51.1 64位 中文 ...
- vscode预览html插件,VSCode插件推荐-VSCode内嵌浏览器插件-Browser Preview
很多小伙伴在开发html页面的时候觉得很不方便.因为显示屏的大小是有限的,只能展示代码或者浏览器窗口的其中一种,哪怕用上了LiveServer,也需要一直切换页面,接下来小编带来的这款插件,可以在VS ...
最新文章
- mysql数据库常用命令
- 是否有可能从python中的句子语料库重新训练word2vec模型(例如GoogleNews-vectors-negative300.bin)?
- JMeter重要知识点汇总
- HDU - 5592 ZYBs Premutation(线段树,逆序对)
- 你必须要懂的APK瘦身知识
- 命令行下的mysql的基本操作
- 【转】 测试人员的职业规划 --整理标注
- HTML基础知识点(二)
- matplotlib报错Line2D‘ object has no property ‘linestyle‘或‘linewidth‘
- 如何有效的屏蔽百度蜘蛛
- WAF - SQL注入之绕过云锁 靶场实战
- 生物识别技术是什么,生物识别技术的比较介绍
- 绿色手动安装MySQL数据库
- kdj值应用口诀_KDJ应用口诀,一文教你巧妙利用KDJ买卖股票
- 河南高校计算机好的是排名,河南高校的计算机科学与技术专业排名如何?
- 复旦大学邱锡鹏:若优化顺利,MOSS三月底开源;库克或被踢出苹果董事会;华为云联合CSDN发布智能化编程助手Snap|极客头条
- 1231:最小新整数
- 你要整合资源,首先你得是一个有资源的人
- 【渝粤题库】国家开放大学2021春2226物业管理实务(2)题目
- 001:你好Direct 2D! 在对话框中初次使用D2D
热门文章
- 差分隐私:原理,应用与展望
- arduino pwm电机调速程序
- 在zabbix中使用使用pg_monz模板日常监控postgresql发生sh: psql: command not found错误
- Altium Desinger 20概述-安装及卸载
- python爬取知乎热搜_Python知乎热门话题数据的爬取实战
- 1.Supervised Learning with Projected Entangled Pair States
- MATLAB调整为护眼模式
- IOS_音视频不同步问题
- CocosCreator只谈实战系列1——成语游戏编辑器篇
- 2020年数学建模国赛B题:穿越沙漠