更新 pages/index/index.js

This commit is contained in:
lqs 2025-02-05 19:15:56 +08:00
parent 420c810215
commit 0135f47903

View File

@ -1,3 +1,4 @@
// index.js
const bluetooth = require("../../utils/bluetooth.js");
const PrinterJobs = require("../../utils/printerjobs");
// 获取应用实例
@ -11,6 +12,8 @@ Page({
deviceId: "", // 蓝牙设备id
serviceId: "", // 蓝牙设备服务id
characteristicId: "", // 蓝牙设备服务特征值id
paperSizes: ["58mm x 30mm", "80mm x 60mm"], // 纸张尺寸选项
paperSizeIndex: 0, // 默认选择第一个尺寸
},
onLoad(options) {
if (!wx.openBluetoothAdapter) {
@ -225,6 +228,7 @@ Page({
},
onPrint() {
let printerJobs = new PrinterJobs();
printerJobs.setArea(0, 0, this.getPaperWidth(), this.getPaperHeight());
printerJobs.println("开始打印了"); // 打印并走纸
printerJobs
.setAlign("ct")
@ -246,6 +250,7 @@ Page({
},
onPrintBarCode() {
let printerJobs = new PrinterJobs();
printerJobs.setArea(0, 0, this.getPaperWidth(), this.getPaperHeight());
printerJobs
.setAlign("ct")
.println("打印条形码,内容'0123456789'")
@ -259,6 +264,7 @@ Page({
},
onPrintQrCode() {
let printerJobs = new PrinterJobs();
printerJobs.setArea(0, 0, this.getPaperWidth(), this.getPaperHeight());
printerJobs
.setAlign("ct")
.println("打印二维码,内容'https://www.baidu.com?a=1&b=2'")
@ -268,6 +274,7 @@ Page({
},
onPrintRpeat() {
let printerJobs = new PrinterJobs();
printerJobs.setArea(0, 0, this.getPaperWidth(), this.getPaperHeight());
let start = printerJobs.getLength();
printerJobs.setAlign("ct").println("重复内容开始").println("重复内容结束");
let end = printerJobs.getLength();
@ -278,8 +285,8 @@ Page({
onPrintPage() {
let x = 0; // 打印区域起点横坐标(mm)
let y = 0; // 打印区域起点纵坐标(mm)
let width = 104; // 打印区域宽度(mm)
let height = 128; // 打印区域高度(mm)
let width = this.getPaperWidth(); // 打印区域宽度(mm)
let height = this.getPaperHeight(); // 打印区域高度(mm)
let printerJobs = new PrinterJobs();
printerJobs.setMode("page").setArea(x, y, width, height);
printerJobs.text(
@ -315,4 +322,23 @@ Page({
})
.then((res) => {});
},
});
handlePaperSizeChange(e) {
this.setData({
paperSizeIndex: e.detail.value,
});
},
getPaperWidth() {
const sizes = {
"58mm x 30mm": 58,
"80mm x 30mm": 80,
};
return sizes[this.data.paperSizes[this.data.paperSizeIndex]];
},
getPaperHeight() {
const sizes = {
"58mm x 30mm": 30,
"80mm x 60mm": 60,
};
return sizes[this.data.paperSizes[this.data.paperSizeIndex]];
},
});