智者不为愚者谋,勇者不为怯者死。这篇文章主要讲述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");
接口列表【Uniapp 原生插件商米内置打印机插件】内置打印机开发文档全系列接口。接口的使用,对照着官方在线文档:??内置打印机开发文档??,查看接口的作用就行了,直接翻译接口名也能知道是啥作用。
void updateFirmware();
int getFirmwareStatus();
String getServiceVersion();
void printerInit();
void printerSelfChecking();
String getPrinterSerialNo();
String getPrinterVersion();
String getPrinterModal();
void getPrintedLength();
推荐阅读
- 配送路径规划基于matlab蚁群优化节约算法单中心多城市配送车辆路径规划含Matlab源码 017期
- CDH和CloudManager概述
- NFT--元宇宙的通行证
- 区块链技术促进医药冷链物流更加可控和智能化
- 图论——有向图
- flutter 改变数据,showDialog对话框内的UI不更新
- Linux系列(Shell脚本中boolean类型的使用方法)
- git撤销pull命令 && 比较两个版本之间的区别
- Linux 磁盘与文件系统管理