// #ifdef APP-PLUS const HanyinPlugin = uni.requireNativePlugin('Hanyin-Plugin'); //汉印 // #endif import Vue from 'vue'; import store from 'store'; import { SET_CONNECTBLEDATA, SET_CONNECTPRINTBLE, SET_REQUEST_DATA } from '@/store/actionsType.js'; /** * 1.确定好模板 * 2.用户选择蓝牙后初始化打印机值 * 3.等待客户点击打印 */ let title; //模板数据 const printTemplate = Vue.prototype.$Mock.printTemplate; let { pagConfig, printItem } = printTemplate; // pageLeft = Number(pagConfig.pageLeft); // pageTop = Number(pagConfig.pageTop); // pageHeight = Number(pagConfig.pageHeight); // pageWidth = Number(pagConfig.pageWidth); const MULTIPLE = 8; //打印机计算比例 let pageLeft = Number(pagConfig.pageLeft) || 0, //打印模板整体左偏移量 pageTop = Number(pagConfig.pageTop) || 0, //打印模板整体上偏移量 pageHeight = Number(pagConfig.pageHeight) || 0, //打印模板页面高度 pageWidth = Number(pagConfig.pageWidth) || 0; //打印模板页面宽度 const TRANSFORM = 3.8; //尺寸转换单位 //数据处理参数对象 const filterData = { size_conversion: function(value) { return Math.round(Number(value) / TRANSFORM); } } const instructions = { "cross": function(list, data, printIndex) { let x0 = (filterData.size_conversion(Number(list.left)) + pageLeft) * MULTIPLE; let y0 = (filterData.size_conversion(Number(list.top)) + pageTop) * MULTIPLE; let x1 = ((filterData.size_conversion(list.width) + filterData.size_conversion(list.left)) + pageLeft < pageWidth ? (filterData.size_conversion(list.width) + filterData.size_conversion(list.left) + pageLeft) : pageWidth) * MULTIPLE let y1 = y0; let width = filterData.size_conversion(list.height) > 0 ? filterData.size_conversion(list.height) : 1; // // console.log(x0,y0,x1,y1,width); //水平线 HanyinPlugin.Line({ x0, y0, x1, y1, width }, result => { // console.log(result); }) }, "vertical": function(list, data, printIndex) { let x0 = (filterData.size_conversion(Number(list.left)) + pageLeft) * MULTIPLE; let y0 = (filterData.size_conversion(Number(list.top)) + pageTop) * MULTIPLE; let x1 = x0; let y1 = (filterData.size_conversion(Number(list.height)) + filterData.size_conversion(Number(list .top)) + pageTop) * MULTIPLE; let width = filterData.size_conversion(list.width) > 0 ? filterData.size_conversion(list.width) : 1; // // console.log(x0,y0,x1,y1,width); //垂直线 HanyinPlugin.Line({ x0, y0, x1, y1, width }, result => { // console.log(result); }) }, "text": function(list, data, printIndex) { let x = (filterData.size_conversion(Number(list.left)) + pageLeft) * MULTIPLE; let y = (filterData.size_conversion(Number(list.top)) + pageTop) * MULTIPLE; let width = filterData.size_conversion(Number(list.width)) * MULTIPLE; let height = filterData.size_conversion(Number(list.height)) * MULTIPLE; let size = Number(list.fontSize); // 3 4 8 55 let str = list.text; let isbole; let xAlign = "left"; let yAlign = "left"; if (list.textAlign === "left") { xAlign = "left"; } else if (list.textAlign === "center") { xAlign = "center"; } else if (list.textAlign === "right") { xAlign = "bottom"; } isbole = Number(list.fontWeight) <= 400 ? false : true; //加粗 if (size >= 2 && size <= 7) { size = 55 //16x16 或8x16,视中英文而定 } else if (size > 7 && size <= 9) { size = 8; //24x24 或12x24,视中英文而定 } else if (size > 9 && size <= 16) { size = 3; //20x20 或10x20,视中英文而定。 } else { size = 4; //32x32 或16x32,由ID3 字体宽高各放大2 倍 } // console.log(x, y, width, size, isbole, str); //文本(静态) 后续判断字体是否居中 如是: AutCenter 否 AutLine HanyinPlugin.AutLine({ x, y, width, size, isbole, isdouble: false, str, type: "1" }, result => { // console.log(result); }) }, "field": function(list, data, printIndex) { let x = (filterData.size_conversion(Number(list.left)) + pageLeft) * MULTIPLE; let y = (filterData.size_conversion(Number(list.top)) + pageTop) * MULTIPLE; let width = filterData.size_conversion(Number(list.width)) * MULTIPLE; let height = filterData.size_conversion(Number(list.height)) * MULTIPLE; let size = Number(list.fontSize); // 3 4 8 55 let isbole; let str = data[list.dataId]; let xAlign = "left"; let yAlign = "left"; if (list.textAlign === "left" || list.textAlign === "start") { xAlign = "left"; } else if (list.textAlign === "center") { xAlign = "center"; } else if (list.textAlign === "right") { xAlign = "bottom"; } isbole = Number(list.fontWeight) <= 400 ? false : true; //加粗 if (size >= 2 && size <= 7) { size = 55; } else if (size > 7 && size <= 9) { size = 8; } else if (size > 9 && size <= 16) { size = 3; } else { size = 4; } // console.log(x, y, width, size, isbole, str); //文本(动态) HanyinPlugin.AutLine({ x, y, width, size, isbole, isdouble: false, str, type: "1" }, result => { // console.log(result); }) }, "barCode": function(list, data, printIndex) { let x = (filterData.size_conversion(Number(list.left)) + pageLeft) * MULTIPLE; let y = (filterData.size_conversion(Number(list.top)) + pageTop) * MULTIPLE; let height = filterData.size_conversion(Number(list.height)) * MULTIPLE; let width = filterData.size_conversion(Number(list.width)) * MULTIPLE; let str = data[list.dataId]; // console.log(list); let undertext = true, command = 0; if (Number(list.width) > Number(list.height)) { //水平 command = 0; } else { //垂直 command = 1; } //条形码 -- 后期补充条形码type类型 HanyinPlugin.Barcode({ command, type: "code128", width: "1", ratio: "2", height: height + "", x, y, undertext, number: "7", size: "0", offset: "1", data: str }, result => { // console.log(result); }) }, "img": function(list, data, printIndex) { let x = (filterData.size_conversion(Number(list.left)) + pageLeft) * MULTIPLE; let y = (filterData.size_conversion(Number(list.top)) + pageTop) * MULTIPLE; let url = "data:image/jpg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABABLAAAAAEAAQEsAAAAAQAB/+Eyy2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDMgNzkuMTYxMjEwLCAyMDE3LzA4LzExLTEwOjI4OjM2ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wR0ltZz0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL2cvaW1nLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczppbGx1c3RyYXRvcj0iaHR0cDovL25zLmFkb2JlLmNvbS9pbGx1c3RyYXRvci8xLjAvIgogICAgICAgICAgICB4bWxuczpwZGY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8iPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL2pwZWc8L2RjOmZvcm1hdD4KICAgICAgICAgPGRjOnRpdGxlPgogICAgICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgICAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ij7miZPljbA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6QWx0PgogICAgICAgICA8L2RjOnRpdGxlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDIwLTA3LTA0VDIxOjU4OjE4KzA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAyMC0wNy0wNFQxMzo1ODoyN1o8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOkNyZWF0ZURhdGU+MjAyMC0wNy0wNFQyMTo1ODoxOCswODowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjIuMCAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpUaHVtYm5haWxzPgogICAgICAgICAgICA8cmRmOkFsdD4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDx4bXBHSW1nOndpZHRoPjI1NjwveG1wR0ltZzp3aWR0aD4KICAgICAgICAgICAgICAgICAgPHhtcEdJbWc6aGVpZ2h0PjQwPC94bXBHSW1nOmhlaWdodD4KICAgICAgICAgICAgICAgICAgPHhtcEdJbWc6Zm9ybWF0PkpQRUc8L3htcEdJbWc6Zm9ybWF0PgogICAgICAgICAgICAgICAgICA8eG1wR0ltZzppbWFnZT4vOWovNEFBUVNrWkpSZ0FCQWdFQVNBQklBQUQvN1FBc1VHaHZkRzl6YUc5d0lETXVNQUE0UWtsTkErMEFBQUFBQUJBQVNBQUFBQUVBJiN4QTtBUUJJQUFBQUFRQUIvKzRBRGtGa2IySmxBR1RBQUFBQUFmL2JBSVFBQmdRRUJBVUVCZ1VGQmdrR0JRWUpDd2dHQmdnTERBb0tDd29LJiN4QTtEQkFNREF3TURBd1FEQTRQRUE4T0RCTVRGQlFURXh3Ykd4c2NIeDhmSHg4Zkh4OGZId0VIQndjTkRBMFlFQkFZR2hVUkZSb2ZIeDhmJiN4QTtIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGZIeDhmSHg4Zkh4OGYvOEFBRVFnQUtBRUFBd0VSJiN4QTtBQUlSQVFNUkFmL0VBYUlBQUFBSEFRRUJBUUVBQUFBQUFBQUFBQVFGQXdJR0FRQUhDQWtLQ3dFQUFnSURBUUVCQVFFQUFBQUFBQUFBJiN4QTtBUUFDQXdRRkJnY0lDUW9MRUFBQ0FRTURBZ1FDQmdjREJBSUdBbk1CQWdNUkJBQUZJUkl4UVZFR0UyRWljWUVVTXBHaEJ4V3hRaVBCJiN4QTtVdEhoTXhaaThDUnlndkVsUXpSVGtxS3lZM1BDTlVRbms2T3pOaGRVWkhURDB1SUlKb01KQ2hnWmhKUkZScVMwVnROVktCcnk0L1BFJiN4QTsxT1QwWlhXRmxhVzF4ZFhsOVdaMmhwYW10c2JXNXZZM1IxZG5kNGVYcDdmSDErZjNPRWhZYUhpSW1LaTR5TmpvK0NrNVNWbHBlWW1aJiN4QTtxYm5KMmVuNUtqcEtXbXA2aXBxcXVzcmE2dm9SQUFJQ0FRSURCUVVFQlFZRUNBTURiUUVBQWhFREJDRVNNVUVGVVJOaElnWnhnWkV5JiN4QTtvYkh3Rk1IUjRTTkNGVkppY3ZFekpEUkRnaGFTVXlXaVk3TENCM1BTTmVKRWd4ZFVrd2dKQ2hnWkpqWkZHaWRrZEZVMzhxT3p3eWdwJiN4QTswK1B6aEpTa3RNVFU1UFJsZFlXVnBiWEYxZVgxUmxabWRvYVdwcmJHMXViMlIxZG5kNGVYcDdmSDErZjNPRWhZYUhpSW1LaTR5TmpvJiN4QTsrRGxKV1dsNWlabXB1Y25aNmZrcU9rcGFhbnFLbXFxNnl0cnErdi9hQUF3REFRQUNFUU1SQUQ4QTlVNHF4N3pMNS84QUtYbHQ0NDlYJiN4QTt2MGhsa1pSNlNocEhVTWFjM1ZBeFZmYzVrWWRKa3lDNGpacHlhaUVDQkk3bE9ySytzcisxanU3S2VPNXRaaHlpbmhZT2pEeERLU0RsJiN4QTtNb21KbzdGdEJCM0N2a1V1eFYyS3V4VlkwOEt5cEMwaXJMSUNZNHlRR1lMVGtRT3BwWGZEUjVxdndLN0ZYbVgvQURrVi93Q1MybS81JiN4QTtpN2Y5WnpaZGxmMzN3TGk2Mys3TDVWenAzU0l6U2RIMVRWNzZPdzB5MWt2THlVL0JEQ3BadmNtblFEdVRzTWhQSkdBdVJvTW9RTWpRJiN4QTtUUHpUNUc4MGVWNVVqMXF4YTNXU25DZFNKSWl4RlNva1NxOGgzR1ZZTlRqeS9TV2VYQktITUpCbVExUFhmK2NaUCtVOHYvOEF0bFMvJiN4QTs5UkZ2bXE3WS91aC9XL1FYTzdQK3MrNzlURHMyano3WUJKQUFxVDBHS1dRemZsOTV4aDBsZFVrMHlWYlpoeTQwL2VoUDUyaSsyRitqJiN4QTs4TXhScmNSbHc4VzdsSFE1UkhpNGYxc2R6S2NSSGFKL3gyckQvbUpoL3dDVGd5R1g2RDdtM0I5Y2ZlSHRINS8vQVBISDByL21Jay80JiN4QTtobm5XdjVCNlhXL1NQZThTeld1c1REUk5BMWpXN3dXbWwycjNNeCsxeEh3cUQzZGpSVkh1VGtvUU1qUURPR09ValFiMXZ5OXJHaVhaJiN4QTt0dFN0bWdlcDRPZDBjRHVqRFpoaG5qbEUwUW5KaWxBN3Bka0d0N0QvQU00OS93RFMvd0QralQvbWZteDBIOFh3L1M3RFE5ZmdndFovJiN4QTs0Njk5L3dBeEV2OEF4TTU1N3JmNytmOEFXbDk3bUZCNWpJVFFlV05jTmo5ZEZvL29uN0kvYkkvbUNmYXBteGoyVHFUajhRUU5mYjh1JiN4QTthYVNzaW14NjVya094VjdQNW1odjUvTDJvdzZmZExaWDBsdkl0cmR1eFJZNUNwQ3NXQUpVQTk4OWZ4U2pHUU12cEhObk1FeE5jM2dOJiN4QTt0cUI4b3ZKcFhtN3lndC9yVjlJVmZVTHVRenczTWJ0dUlUd2RRNThhMThmRE5ycnN1V1VCUEFiakhuRWJFZnIvQUJzWFV3Z01SOVViJiN4QTtrZXAzdG0vNVU2VDVYdC9NZHhkZVdkVHViTzFsaGNYM2xXN0xFeFRCbEFsUWsvRUZvVjNxUlhjOXMxcDdVR29od3lIckhYcTVtbmpFJiN4QTtTUENmODE2MWxMbU94VjJLdkxmT3Y1d3oydXJUK1cvTFZtMTFyVVRtQ1NSMUxjWDhJNGwzYzA3bmIyT2JiUzluQ1VlUElhaTYzVjYyJiN4QTtVRHdRRnlZeGZmbEQrWld0MkxhM2RhcjZIbUpaRm50WXBKR0VvQ2h0dlZROFlqOFh3cXUzeXpKL2xEQkE4RVkrajhmTnB4YVBNZlhLJiN4QTtYcVZQSzM1eStidkwyclFlV3ZQK216Tk96ckREZkJRczN4SGlwWWJSekx2OXREL3dSeXZOb01lU1BIaVB3L0hKeU1lcG5FOE9RUGRjJiN4QTswanNIbVgvT1JYL2t0cHYrWXUzL0FGbk5sMlYvZmZBdUxyZjdzdmxYT25kSTl3L0s3ekpwWjhreCtXdEsxS0x5MTVvdW1jdnFVMXNoJiN4QTtOeWhtZmo2VXBLaG1DbmdLbW9JUEVkODBtdHhTR1hqa09PQTZYeWRucHBqZzRRZUdTZnphTjU1OHZSejI4RjB2bmpSaUIrbE5IdjZOJiN4QTtlTHpISmloWXljZzNVSzFmWUhybU1NbUxKdVI0VXVoSEp2TUp4L3B4N2p6Zk9rNVV6U0ZWNEx5TkVQVlJYcDlHZEdPVHBwYzNyUDhBJiN4QTt6akoveW5sLy93QnNxWC9xSXQ4MWZiSDkwUDYzNkM1dlovMW4zZnFZZG0wZWZacitWdXVhSG8yc1RYZXJRMVVxcTI5NDBYcXBCSVNhJiN4QTtNM2RhK0l6WDlvWXB6aUJENWQ3c3V6c3NJU0prUGozUFJYMGZ6YkxLdXVXSG01THk4dUdQMVdDUlZXeGxpM0t4S2lzNEJwM1hmOWVhJiN4QTtyeHNYMFN4MEIvcGc3WHdzbjF4eVdUL3BmeDV2Sy96Q2x2SmZNSmUrMHRkSnZURXYxbUJLRkpKS3RXWlNOaUgrbjU1dWRDQU1mcGx4JiN4QTtEOGJPbDE1SnlieDRUWDRLVDZKL3gyckQvbUpoL3dDVGd6SnkvUWZjNCtENjQrOFBhUHovQVA4QWpqNlYvd0F4RW4vRU04NjEvSVBTJiN4QTs2MzZSNzNpV2ExMWoyWHkxcXRycXZsbXc4djZGcWErWDlRV09QNi9HSUZTNG5QcGprOFQ4bHJ6cHk1QThxZUdiTEhJU2lJeFBDZXZtJiN4QTs3VEZJU2dJeFBDVm10Mm5tZlROR3ZiT2IwL05PaEJKRTlTU2h1N1Z3cG96ZmE1ZW1kL0g1WU1nbkdKSDF4KzBKbUpSQkI5VWZ0ZU81JiN4QTtyblZQWWY4QW5Idi9BS1gvQVAwYWY4ejgyT2cvaStINlhZYUhyOEVGclA4QXgxNzcvbUlsL3dDSm5QUGRiL2Z6L3JTKzl6Q2pmS2w5JiN4QTtZMldxZldMeUwxSWxRMFlwNmdqYmt0SEk3ZUZSNDVtZGpaOFdMTnhaQmNhN3JyY2IvanZVTXRudDlWdTNPcFcrdGhtWnFXcUFBVy9FJiN4QTsvc0ZhbmYzNjUxTXRQbW1mRmhuNS9UL01ydS9ielpNVTgxU1hUM2NmMXV5VzB1Z3A5VjAreEx2czRPYzEyMUtabVBFaHdUNjF5bDVzJiN4QTtTa21hWkQzSFZOT3R0UzA2NTArNXFiZTZqYUtYaWFOeGNVTkRuclU0aVFvdGtoWW9zRHMvTEhuL0FNdVhjZG5wVjZtcmFJeEl0eGVCJiN4QTtUTGFIaVFHQllqWURiNGR2OG5OYm5ocWNjU01KQnZ2NmZqOEJvaGpuRTFkeFpGb0hrNkRUOVNmV2J5WTNldFRJWTViam92RmlDVkE3JiN4QTsvWjcvQUVBWkxRYUNXSzVaSm1jejh2aCtQZzJpQXUrckk4MlROMkt1eFY0MzU0L0tLeTh3YTdlNjk1UDFuNm41bXQ1UzkzYkdRZ0NZJiN4QTtEcXJyKzhoWStPNm4yelo2UHRTSUhoekhGRU9GbTB3bExpaWFrd2dhdCtjc25taTIwelVZOVIvVGR1QUxkb2dSSHdGRjVuaCs2S245JiN4QTtxVG9lK1l2YVBac1pEeHNNOXY1dC9kK28vTnh1TFB4VWJ2OEFId1ozWWVmN0RWTGlEeTkrWWVqQVhzVXFlaGN0RVFWbHFPREZObmpKJiN4QTsvbmpPL2hUTlZwKzBKd05IWS9qbUhKam5zOE14dTlnek1jMTVsL3prVi81TGFiL21MdC8xbk5sMlYvZmZBdUxyZjdzdmxYT25kSTlCJiN4QTs4cGZtRG9LNkhCNVc4M2FUSGY2SkNYK3EzY1FwYzI1bGN1ekExQlB4Tit5UWFmemRNMStvMGsrTTVNY3FsOWhjekRxSThQQk1YRlA3JiN4QTtqOHhmSVhrdTNtdHZJVm0rcDZ0Y3FSY2EvcVBKaUEyL0ZBUkd4cC9xcU5oWGxsQTBtWE52bE5SSDhJYkRxSVkvbzNQZThpa2thU1I1JiN4QTtIM2R5V1k5Tnlhbk5zQlRyeWJOdld2OEFuR1QvQUpUeS93RCsyVkwvQU5SRnZtcjdZL3VoL1cvUVhPN1Arcys3OVREczJqejZmZVVmJiN4QTtOay9sMjdta0Z0RmVXbDBnaXZMV1lWRHgxclFIZW4wZ2oyekcxT21HVURlaU9SY3JTNm80aWRyQjVzeGcxMzhvN0lEWEliQ2U1dnV0JiN4QTt2b2NoUG9SVGRXYzFxbER0M2IyWHd3ZkIxVXZRU0FQNTNVaHovRzAwZldCdi9ON2l3bnpYNW92dk11cnRxVjNISEUvRVJ4eFJBaFZSJiN4QTtTU0J1U1Q5cnJtdzArbmppandoMTJwMUJ5eTRpaE5FLzQ3Vmgvd0F4TVA4QXljR1daZm9QdVlZUHJqN3c5by9QL3dENDQrbGY4eEVuJiN4QTsvRU04NjEvSVBTNjM2UjczaVdhMTFqTzlIODRlWE5Uc0xUUi9OZGtGVzFqU0N6MWUyQldhSkVBQ2NxVmJhbmFvL3dBbnZtVkhOR1FFJiN4QTtaajR1YkRQR1FFWmpsMVJHcmVldkxla2FaY2FKNU5zUjZWeXBqdk5YdWdUTk1DQ0NWQm9lL3dDMVFmNU9NczBZZ3hnT2ZWWmFpTVJVJiN4QTtCOFhubVlyaFBZZitjZS8rbC84QTlHbi9BRFB6WTZEK0w0ZnBkaG9ldndRV3MvOEFIWHZ2K1lpWC9pWnp6M1cvMzgvNjB2dmN3cnRIJiN4QTsxYWJUTHN6eG9zZ2RUSEpHL1JrSkJJL0RMTkJyWmFiSnhnQTJLSVBjb0xJSWIveU9GT29TVzBucnFhcnBnL3V5L3dETi9MVDZmb3pkJiN4QTtmbWV6NjhYaFBGL002WDM5MzQ1SnNKSHIydTNHc1hRbWtqU0ZFSEdLSkJzbytmZk5QMmgyaFBWVEJrQUFPUVFUYVc1Z0lSdWlhRitaJiN4QTtFZXBLTlVGM0xaR1dmMDQrVXp4K3FpWERGZ2pFb3FPWkFLdW81N1U5L1hHMUN4YVArWmtsMEo3cXp2MGtpc0xpSzNmMVpwSDV5bzZSJiN4QTt4OHhLeWh2aEo1RktLZVBMN1FiRlZHdzBYOHc1UjVnbGFIVTdXNG5oVTJ5U2laa0pXVzM1RUFjdVRoSTJDYjlNVmVuZVNyTFhJdFkxJiN4QTtpNDFWNW1hUmJaSTBjUyttaFFTY2tScFA3eWxReFpTUlZ1SUpwWEZXWDRxN0ZYbC9uVDhzdGNPdFQrWnZLMTg4ZXBTTVpKTFl0NmJFJiN4QTswb2ZTa0ZCUTAreSszdm1CbTBzdUxpZ2QzRHk2ZVhGeFJPNmhvWDVuZWJwSWJqUzlSMDRMcmR1eVJpUW95TzNPdjJvQVB0ZkQrenNmJiN4QTtETlpyZTFjdUdJakdONUpiZmdNOE9hUnNTRzRUYTA4Z1gydFhjZXArWlpXTXFNSGlqcURLQ3A1THY5bEJYOWtaWG9PemRUT2ZpNTVrJiN4QTtmMGZ4c1BoOWphY1lsemVnNTB6WTh5LzV5Sy84bHROL3pGMi82em15N0svdnZnWEYxdjhBZGw1VCtWMnFlUWJmeXJxTnQ1a0Z1YmlTJiN4QTs3cWd1STRwRzR2QVk0ekh5V1Jxckl4SmJpQWczcnZtMDFrTXB5QXd2bCtsdzlMTEdJRVNybXpEVGZNSDViSnF0eGYzdC9wcXpRNmpLJiN4QTswTWdqU1NSWUk0d3pNaE1jeWtONlpWUWhvU2ZoK0k3NGM4V2Job0NYSnl2RngzWklUUFJOYy9MT0cxbmFlNzBjM2JQY2lXS1UycERCJiN4QTs3dDVFcXlxcU9wU25RN0RqOEs1WGt4NWlkaEt0dS91WlJ5WSs4Zll4TjliOGd4YVNwZ2ExazFDTHkxTmFNekczQ3JPWUpWQlVmYk1qJiN4QTtTbmdJMUxIaTNKdU5QaXloanltVzkxeDMxN3grTGFaVHhpTzFYd29IL25HVC9sUEwvd0Q3WlV2L0FGRVcrV2RzZjNRL3Jmb0xSMmY5JiN4QTtaOTM2a0grWGQ3cGxsNXF0N2pVdUgxVklwK1FsNEJDeGhmaUN6N0NwMnpLMXNaU3hrUjU3ZmU2dlF6akhLRExsdTlGYlZmeTNhOHRSJiN4QTtGTFlqU1dGM0xNanhScUR4ZXpDcDZLTHlCa1dKL3RvQ1dCSTI0azZ6dzg5RytMaTIvd0I5MWRwNHVDd0J3OE8vZC9SUjl0ckhrQ1M2JiN4QTtFVWw3cDNvVzl2REJCSzRnQTlSSkdZclFSb1JTTUw4WUhHcEkyNzFTeFpxNVMzUG0zRE5odXJqdDdrczEzV1BJajNPcG94czVoY1MyJiN4QTtqUkczK3JsV0NtVW1wWWxlVEg0V0xVQ2NsWW5ybDJMRm1vYzlyNy9MOGViVmx6WWJQMG5sM2VmNDhtQjY1ZDJ0MStZUW10QkV0dWJ1JiN4QTtBUmlBcTBZQ2xCUldYNFdwMDVEcm13eFJJd1VlZEYxdVdRbHFMSEt3OU0vUC93RDQ0K2xmOHhFbi9FTTRQWDhnN3ZXL1NQZWtua2ZWJiN4QTtQSkVYbHJUb05UTnN1b3BjU2NXbVdJdWorcWtpdHlZSGduQk4yWXI0WlRobERoQVBOamduRGdGMWFhNkpyZmthTkk3dVc2c0V2WkZ1JiN4QTtBL3dJR0FlVXBHak5KRS9YMUEzc0IvS05wWTVRcXpWNy9qazJ4eVkrZGkxNzZoNUhYeW5jd1JYT21tOGxzbGphTmhEeldaYmNvVFQ5JiN4QTtwZ3hyVU1maTZIRGVQZzZYWDZGTTRjTldPU1NlYU5aOG9UYVRyNzZhSWZyTjNiMml4Vk1QTUZaSVNVUUxSbVBBRm1wVUlWKzFVMEZlJiN4QTtTVUNKVjFyOURWbW5BeE5WYVpmODQ5LzlMLzhBNk5QK1orWGFEK0w0ZnBSb2V2d1ZMV1cxaTg2ZXBkRUNCYjUrYk5UaVAzaG9UWGFnJiN4QTtPNXppc1U0UjExeitueEQ5N21kV1JmWFBLN1R3cEZKYlJXcmwxbCtGQUF3aUtWS2dDb0xIcVJRL3EzbmphUWtBR0FpYnZsL05yNysvJiN4QTtteTJSUDEveXZKSmJJazlzTGRJV0E1aU1CV2Q0M0FweFVqWW41YjFvY3UvTWFRbUlFb2NJajVkVEU5MzQ2MFZzSWZWYi93QXR0Y1hkJiN4QTtXdDNTV0NOWTNpOU5pV0VwTFZIYzdydDRkVGxXcTFHbE1wYndJTVJ5citkL1orbGRtSitaWjdlYlZuYTNXTklSRkFxcEVWZFZwQ2dLJiN4QTs4bDJiaWFyWDJ6bk8wOGtaWmlZZ0NOUjVVZjRSdFk1MXlZbDZ2YzZGcE4xZXgzMDlzc2wzRVkyamxKYW9NUkxKU2g3RTU2WTJJSlBKJiN4QTtIbFZIV1JkUFFPdE9MY3BEOW5jZnRkc1ZWRjhuK1hGTXBGbnZNdkNVbVNRa2d1c25kdjUwVTRxbWRyYlFXdHVsdkF2Q0dNVVJhazBIJiN4QTt6TlRpcXJpcnNWZGlxd3dRR1lUbU5mV0M4QkxRY3VQV25MclRCd2k3cmRWK0ZYWXE4NS9QMnd2cjc4dlpZTEsybHVwemRRTUlvVWFSJiN4QTs2QW1wNHFDYzJIWmtoSExaTmJGeHRYRW5HUUh6cG91bC9tRm9sK3VvYVhwbW9XMTRpdWl6QzBrWWhaRktOc3lNTjFPZEJrbmltS2tRJiN4QTtSNzNWUWpraWJBUHlUMkR6TCtkc0VrenhKcWFOT3dlV2xrYUVoQkgwOUtnK0ZCV25VN25mS1RoMHgvbS9QOXJhTW1meitTMlB6QitjJiN4QTs4ZDY5OGx2cUF2SlFCSlArandYWUtlU2drdy9za21uaFUrSnhPTFQxVzFmMXYycjRtZTczK1g3RXUxYi9BSldocTloRHArbzJPbzNGJiN4QTtwQXl2RkViTjFveUtVVTFXTU1hS2FibkxJZUJBMkRHL2V3bjRzaFJCK1RPLytjY3RCMXpUL085OU5mNmRkV2tMYVpLaXlUd3lSS1dOJiN4QTt4QVFvTGdDdEFkc3dlMXNzWllnQVFmVitndCtoeHlFellJMllwL2hmek4vMWFMMy9BS1I1ZithYzJmajQvd0NjUG02UDh2ay9teStSJiN4QTtaQzJzL211end1MGVvRnJjMWhyYUdpbmd5YkQwNmZaYzVpK0ZwdjZPL24rMXkvRzFYOUwvQUV2N0YxeHJ2NXMzTHhQUEZmdTBEK3BFJiN4QTtUWi9aY1J0RlVVaS9ra1lmVGpIRnBoeTRmbisxVG0xUjVpVzM5SDlpMjUxZjgxTHBicFo0TDUxdllmcTl5RFpVNVJmSDhPMFczOTYyJiN4QTs0M3d4eDZjVlJqdHZ6L2FpV1hVbTdFdDl2cC9ZbFdqZVdmTWFhdll1K2xYaW90eEVXWTI4b0FBY1ZKUEhMc3VmSHduMURsM3RXSEJrJiN4QTtFeDZUekhSNjkrZWVuYWhlNlRwaTJWdExjc2s3bDFoUnBDQVU2a0tEbkFhNkpJRlBRNnlKTVJRNnZMTkhnODk2TkxMTHBsbGUyMGt5JiN4QTtlbkt5MnprbE9RYW54SWU0R1lNUk9QSUZ3WURKSGtEOGt6dDlmL05pM0JFSzM2Qm5hUWo2cFVjbmJtYVZqMitJN0RvTzJURThvNzJ3JiN4QTtaTTNuOGxKTlYvTTlGblZJTDFSYzE5ZWxtQVhMTHdKSjlLdFN1MWZEQnhaUFA1THg1dlA1SUxXSS9QdXMraitrcks5dVBRNWVsVzFaJiN4QTthYzZjdnNvdGE4UjF5TXVPWE1GaFB4SmN3Zms5SC9JZlROU3NmMDU5ZHRKclgxUHF2cCt0RzBmTGo2MWFjZ0swcU16ZERFaTc4bkswJiN4QTtVQ0xzZHlEMWJTZFZmVmIxMHNwMlZwNVNyQ0p5Q0M1b1FhWndtczBlWTVwa1FsOVI2SHZjb2hFcmVlYzBpaWlXTzVFY0lVUkw2Qm9BJiN4QTtxOEIreC9MdGw0ejY0QUFDZFI1ZW55cnU3bDNYVGFqNTJtQUVxWExoV0RnRzMvYUJCQit4MktqSlQxT3ZsekV6dmYwZnNUWmMybytkJiN4QTttYmtVdVNlUEN2MWZ0djhBNUgrVWNUcWRlZWsvOUoreGJLVmZvYlYvK1dHNC93Q1JULzB6WGZrcy93RE1sL3BTaW4vLzJRPT08L3htcEdJbWc6aW1hZ2U+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpBbHQ+CiAgICAgICAgIDwveG1wOlRodW1ibmFpbHM+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZmM2OGM0ODQtZWVkMi1mODQ2LTlkMGEtMGU2ZTZjM2U5N2VjPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmZjNjhjNDg0LWVlZDItZjg0Ni05ZDBhLTBlNmU2YzNlOTdlYzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD51dWlkOjVEMjA4OTI0OTNCRkRCMTE5MTRBODU5MEQzMTUwOEM4PC94bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpSZW5kaXRpb25DbGFzcz5wcm9vZjpwZGY8L3htcE1NOlJlbmRpdGlvbkNsYXNzPgogICAgICAgICA8eG1wTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICA8c3RSZWY6aW5zdGFuY2VJRD51dWlkOmFjOTVjMjFhLTM2MGEtNGVjZi1iNTBkLTE4ZGVhZmQ4NTYzNjwvc3RSZWY6aW5zdGFuY2VJRD4KICAgICAgICAgICAgPHN0UmVmOmRvY3VtZW50SUQ+eG1wLmRpZDozYzUyMWIzYy04ZTE3LTY0NDItYjVjYi0wMDAxYzVhYjNlMWI8L3N0UmVmOmRvY3VtZW50SUQ+CiAgICAgICAgICAgIDxzdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+dXVpZDo1RDIwODkyNDkzQkZEQjExOTE0QTg1OTBEMzE1MDhDODwvc3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICAgICA8c3RSZWY6cmVuZGl0aW9uQ2xhc3M+cHJvb2Y6cGRmPC9zdFJlZjpyZW5kaXRpb25DbGFzcz4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOmZjNjhjNDg0LWVlZDItZjg0Ni05ZDBhLTBlNmU2YzNlOTdlYzwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAyMC0wNy0wNFQyMTo1ODoxOCswODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgSWxsdXN0cmF0b3IgQ0MgMjIuMCAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPGlsbHVzdHJhdG9yOlN0YXJ0dXBQcm9maWxlPlByaW50PC9pbGx1c3RyYXRvcjpTdGFydHVwUHJvZmlsZT4KICAgICAgICAgPHBkZjpQcm9kdWNlcj5BZG9iZSBQREYgbGlicmFyeSAxMC4wMTwvcGRmOlByb2R1Y2VyPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+/+4ADkFkb2JlAGTAAAAAAf/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgAhgCHAwERAAIRAQMRAf/EALIAAQADAQEBAAMAAAAAAAAAAAAHCAkKBgQBAwUBAQADAQEBAQEBAAAAAAAAAAAFBgcECAMCCQEQAAAGAgEBBAoDAQADAQAAAAIDBAUGBwEIAAkREhM3FBWVthd311h4uCEWCiIxIyQYEQACAQMDAQQDCQ4EAwkAAAABAgMRBAUAEgYhMSITB0EUdFFhMpKyszQVNXFCYnIj01S01FV1tTYIUjNDJJGhY4GxwYKicyUWF//aAAwDAQACEQMRAD8AyK2A8+Ls+blke+Tzz+uvHP6esPY4Pm114Ky/2rde0SfLbURcmdR+nGmnGmnGmnGmnGmnGmnGmnGmnGmnGmnGmnGm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";; //静态图片 HanyinPlugin.Expanded({ x, y, img: url, type: 0, light: 0 }, result => { // console.log(result); }) }, "qrCode": function(list, data, printIndex) { // // console.log(x,y,QRData); let x = (filterData.size_conversion(Number(list.left)) + pageLeft) * MULTIPLE; let y = (filterData.size_conversion(Number(list.top)) + pageTop) * MULTIPLE; let QRData = data[list.dataId]; let width = filterData.size_conversion(Number(list.width)); let m = "2"; // filterData.size_conversion(Number(list.width)) let u = filterData.size_conversion(Number(list.width)) - 6; // console.log(x, y, m, u, QRData); //二维码 HanyinPlugin.PrintQR({ command: 0, x, y, m, u, data: QRData }, result => { // console.log(result); }) } } //执行模板打印指令 const Print_Template = { // 汉印模板 hanyin(data,printData = [],print,printIndex) { // let {pagConfig,printItem} = printTemplate; // pageLeft = Number(pagConfig.pageLeft); // pageTop = Number(pagConfig.pageTop); // pageHeight = Number(pagConfig.pageHeight); // pageWidth = Number(pagConfig.pageWidth); // // console.log(pageLeft,pageTop,pageHeight,pageWidth); // 设置页面 // console.log(pageHeight, print.pageHeight, pageTop) HanyinPlugin.PrintAreaSize({ offset: "0", Horizontal: "200", Vertical: "200", Height: `${Number((Number(pageHeight) + Number(print.pageHeight) + Number(pageTop)) * Number(MULTIPLE))}`, Qty: "1" }, result => { // console.log(result); }) //打印宽度 HanyinPlugin.PageWidth({ pw: (pageWidth + pageLeft) * MULTIPLE }, result => { // console.log(result); }) //遍历模板控件 let list = (printItem.concat(printData)) console.log(list) list.forEach(item => { instructions[item.type](item, data, printIndex); }); //启动打印 HanyinPlugin.Form(result => { // console.log(result); }) HanyinPlugin.Print(result => { console.log(result); if (result.state > 0) { uni.showToast({ icon: "none", title: "打印正常", duration: 2000 }) } else { uni.showToast({ icon: "none", title: "打印异常", duration: 2000 }) } }) } } //打印机连接指令 export default class printConnect { // type=0执行默认连接设备 constructor(options,type = 0) { /** *1.根据蓝牙名称判断打印机类型 *2.连接指定打印机 */ // console.log(options); if(type == 0){ this.name = options.name; //蓝牙打印机名称 this.mac = options.mac; //蓝牙打印机地址 this.isConnect = false; //是否连接打印机开关 this.printIndex = null; //打印机标识 this.print_sign(this.name); } } //判断打印机牌子,打印出面单 print_sign(name) { uni.showLoading({ title: "连接中...", mask: true }) //判断打印机名称是以什么开头 // console.log("汉印打印机"); this.connect_hanyin(this.mac); } //汉印打印机连接 connect_hanyin(mac) { this.disconnect(); HanyinPlugin.PortOpenBT({ mac }, result => { // console.log('链接结果:' + JSON.stringify(result)); switch (result.state) { case 0: title = "连接成功"; this.isConnect = true; store.dispatch(SET_REQUEST_DATA, [{name:this.name,mac:this.mac}]); // store.dispatch(SET_REQUEST_DATA, {name:this.name,mac:this.mac}); break; case -1: title = "连接异常"; this.connect_hanyin(); break; case -2: title = "地址格式错误"; break; case -3: title = "握手指令错误"; break; default: title = ""; } uni.hideLoading(); uni.showToast({ icon: "none", title, duration: 2000 }) }) } //启动打印命令 startPrint(data,print,printData) { // console.log(data); // console.log(printData); // obj 订单数据 //汉印 Print_Template.hanyin(data, printData,print, this.printIndex); } //断开打印机连接 disconnect() { HanyinPlugin.PortClose(result => { // console.log(result); }); } }