兼容安卓
引入插件 商米打印插件地址
购买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>