更新记录

3.0(2022-07-11)

修复打印bug

2.0.1(2022-07-06)

1.添加支持打印二维码大小修改

2.0(2022-01-04)

1.打印文字可以每行设置字体大小例如:{ content: '我是大标题\n', align: 'center',fontSize:50 } 2.增加手持PDA扫码枪激光扫码结果持续监听

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 11.0 armeabi-v7a:支持,arm64-v8a:支持,x86:支持 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


项目说明

功能概览:

1.打印图片(本地或者网络)、文字、二维码、条码等混合内容

2.扫码激光枪枪扫码持续监听扫码结果

<!--本插件适用于商米设备图文混合二维码条码等多种格式混合打印-->

<!--本插件适用于商米设备--可以支持激光扫码枪扫码结果-->

支持网络或者本地图片打印

全局只用调用一个方法即可完成绑定服务然后打印,软件退出后会自动解绑打印服务。

只用一个方法 即可 无过多繁琐操作 减少操作步骤

LySDKModulePrinter.transactionPrinter(obj, res => {
                console.log(res);
                that.result = JSON.stringify(res, null, 4);
            });  
            //obj参数为json的格式如下介绍

打包说明

若打包遇到如下错误提示打包失败

uses-sdk:minSdkVersion 19 cannot be smaller than version 20 declared in library [uniplugin_lysdk-release.aar] /home/[Name]/AndroidManifest.xml as the library might be using APIs not available in 19
Suggestion: use a compatible library with a minSdk of at most 19,
or increase this project's minSdk version to at least 20,

manifest.json中添加如下配置

"android" : {

"minSdkVersion" : 20

}

接口概述

功能 方法 参数 必填
打印 transactionPrinter json对象数据{}详见下详细说明
扫码激光枪监听 initScanner见下面介绍的方法调用 无需参数
- -
打印参数contents中参数说明 字段 说明
type TEXT、PIC、BARCODE、QR 文本、图片、条码、二维码
content 打印文字内容/条码二维码内容
align left、center、right 居左、居中、居右。排列
fontSize 字体大小每行默认25 数字(针对type=TEXT有效)
qrSize 二维码大小(取值为:4-16 默认为5) 数字(只针对type=QR有效)

请求参数格式为

contents:[
        { content: '------------------------------\n' },
        {type:"PIC",url:plus.io.convertLocalFileSystemURL("/static/pic/logo.jpg"), align: 'center'},
        { type: 'TEXT',content: '我是大标题\n', align: 'center',fontSize:50 },
        { type: 'QR',content: 'wx:liu2774',  align: 'center',qrSize:10 }, //二维码类型  qrSize 大小范围为 4-16
        { type: 'TEXT',content: '姓名:    Matt-刘永',fontSize:30  },
        { content: '------------------------------\n' },

]
LySDKModulePrinter.transactionPrinter({contents: contents}, res => {
                console.log(res);
                that.result = JSON.stringify(res, null, 4);
            });
    只需两步即可打印

特别说明:

1图片打印可以是网络和本地图片

//url支持网络图片和本地图片 若为本地图片放在static下 static项目下的本地图plus.io.convertLocalFileSystemURL("/static/pic/logo.jpg")

2.若打印条码请看下面项目说明七中的条码参数一定要设置正确否则无法完成打印

项目说明

打印服务

只需三步即可
let that;
let LySDKModulePrinter = uni.requireNativePlugin('LY028-NativeSdk-Printer');

//执行打印
print() {
            this.result = '';
            let contents = [
                { content: '------------------------------\n' },
                {type:"PIC",url:plus.io.convertLocalFileSystemURL("/static/pic/logo.jpg"), align: 'center'},
                { content: '我是大标题\n', align: 'center' },
                { content: 'wx:liu2774', type: 'QR', align: 'center',qrSize:5 }, //二维码类型  qrSize 大小范围为 4-16 默认为5
                { content: '姓名:    Matt-刘永', type: 'TEXT' },
                { content: '微信:    liu2774', type: 'TEXT' },
                { content: '性别:    中性...', type: 'TEXT' },
                { content: '籍贯:    新疆维吾尔自治区' },
                { content: '兴趣:    爱玩啊啊啊啊啊' },
                { content: '住址:    大成都kaka' },
                { content: '我的:   22222222' },
                { content: '交货时间:2050-02-30' },
                {
                    // 条码类型
                    type: 'BARCODE',
                    align: 'center',
                    content: 'liu2774', //条码内容  
                    symbology: 8,   
                /********* symbology参数说明 ! 条码类型(0 - 8)******************************/ 
                  0     ! UPC-A
                  1     ! UPC-E
                  2     ! JAN13(EAN13)
                  3     ! JAN8(EAN8)
                  4     ! CODE39
                  5     ! ITF
                  6     ! CODABAR
                  7     ! CODE93
                  8     ! CODE128
                 /*******************************************************************/  
                height: 80, //height ! 条码⾼度, 取值 1 - 255, 默认:162。    
                width: 2, //width ! 条码宽度, 取值 2 - 6, 默认:2。
                    textPosition: 2
                /******* textPosition参数说明 ! ⽂字位置(0 - 3):默认2*************/
                  0   ! 不打印⽂字
                  1   ! ⽂字在条码上⽅
                  2   ! ⽂字在条码下⽅
                  3   ! 条码上下⽅均打印
                 /*************************************************************/
                },
                { content: '------------------------------\n' }
            ];

            LySDKModulePrinter.transactionPrinter({contents: contents}, res => {
                console.log(res);
                that.result = JSON.stringify(res, null, 4);
            });
        }

扫码枪监听扫码结果

LySDKModulePrinter.initScanner({},res => {
//这里持续监听扫码枪扫码结果
    console.log(res);
});

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问