更新记录

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原生插件配置”->”云端插件“列表中删除该插件重新选择


商米打印机手持PDA打印插件(原生插件版)

📌 UTS 新版插件地址:https://ext.dcloud.net.cn/plugin?id=28147

点击下载体验
扫码体验 UTS 新版
扫码体验 UTS 新版

平台兼容性

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下: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. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

隐私、权限声明

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

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

插件不采集任何数据

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