uniapp 商米打印插件

兼容安卓

引入插件 商米打印插件地址

购买for云打包(选择购买的项目,点击下一步,输入包名)

注意:包名通你发行打包的包名要一致

在项目的manifest的App原生插件配置选择云端插件勾选模块

进行apk打包配置【自定义基座测试】 

注意:以下测试是sunmi v2,安卓版本7.1设备测试结果

// 注意:如果打包报该应用不兼容问题,请添加以下配置
"distribute":{
    "android": {
        "packagename" : "com.hui.print", // 你的包名
        "minSdkVersion" : 21, // 兼容最小版本
        "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ], // 兼容cpu类型 
        "targetSdkVersion" : 25 // 所兼容的目标sdk版本
    }

}

apk测试代码

<template>
	<view>
		<button class="btn" @click="btnclick">点击测试打印</button>
	</view>
</template>

<script>
	// //连接商米一体机(如V1、V2、T1、T2等等),通过如下方式
	const print = uni.requireNativePlugin('Sunmi-Print-Inner')
	var isConnect = false; //打印是否已连接判断

	export default {
		data() {
			return {
				list: [
					{ title: '某某某标题测试数据', order: "202312180000000",date: "2023-12-18 10:00:00" },
				],
			}
		},
		methods: {
			btnclick() {
				this.start()
			},
			start() {
				let that = this
				print.connect(res => {
					// res.connect == "hello" 表示打印机连接成功
					isConnect = res.connect == "hello"
					that.print(); //打印
				})
			},
			print() {
				let that = this
				if (isConnect) {
					let list = that.list
					for (let i = 0; i < list.length; i++) {
						// printDividingline
						print.printDividingline({
							style: "4", // 分隔线的样式
							height: "50" // 分割线的高度 1-60
						})
						// 打印富含样式的文本内容 
						print.printText({
							text: list[i].title, // 要打印的文本内容
							align: 1, // 对齐方式:0居左 1居中 2居右
							size: 22, // 打印文本的字体大小 商米内置打印机的字体大小支持12~60
							bold: true, // 文本内容是否加粗
						})
						print.printDividingline({
							style: "4",
							height: "20"
						})
						print.printText({
							text: "订单号" + list[i].order,
							align: 0,
							size: 14,
						})
						print.printDividingline({
							style: "4",
							height: "10"
						})
						print.printText({
							text: "交易时间" + list[i].date,
							align: 0,
							size: 14,
						})
						//虚线分割线
						print.printDividingline({
							style: "3",
							height: "3"
						})
						print.printText({
							text: "已现金支付,微信扫码进入某某小程序领取积分哦!",
							align: 1,
							size: 12,
						})
						//空白行分割之前打印内容(类似走空白)
						print.printDividingline({
							style: "4",
							height: "60"
						})
						//虚线分割线
						print.printDividingline({
							style: "3",
							height: "3"
						})
						//切纸
						print.cutPaper()
					}

					that.over() //最后关闭打印

				}
			},
			//使用后断开打印机
			over() {
				print.disconnect()
			}
		}
	}
</script>
<style>

</style>

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值