npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

dz-grid-matrix

v1.0.0

Published

lpwpi 是一款在浏览器中启动微打 APP 来接收打印数据并进行标签打印的 JavaScript 接口。在传统的打印方式中,标签的打印需要通过蓝牙或者 USB 将打印数据发送给打印机才能够进行正常的打印操作,但是浏览器本身不支持蓝牙和 USB,所以无法直接进行打印操作。为了跳过浏览器的这个限制,lpwpi 接口通过数据类型的约定以及借助于服务器进行远程数据交互的方式来实现浏览器打印的功能。通过该方式,lpwpi 会先将打印数据提交到服务器,然后再启动官方提供的打印 APP,然后 APP 在向服务器获取数

Downloads

231

Readme

lpwpi

简要

lpwpi 是一款在浏览器中启动微打 APP 来接收打印数据并进行标签打印的 JavaScript 接口。在传统的打印方式中,标签的打印需要通过蓝牙或者 USB 将打印数据发送给打印机才能够进行正常的打印操作,但是浏览器本身不支持蓝牙和 USB,所以无法直接进行打印操作。为了跳过浏览器的这个限制,lpwpi 接口通过数据类型的约定以及借助于服务器进行远程数据交互的方式来实现浏览器打印的功能。通过该方式,lpwpi 会先将打印数据提交到服务器,然后再启动官方提供的打印 APP,然后 APP 在向服务器获取数据,获取到数据后进行数据的解析及打印操作,打印完之后将打印结果上传到服务器,然后浏览器再去获取打印结果。

使用方法

// 1. 获取接口对象
var api = window.LPWPI;

// 2.1 通过templateID 的方式进行打印;
api.printTemplate({
    templateID: "",
});

// 2.2 通过wdfx 方式进行打印;
api.printWdfx({
    content: "<LPAPI>....</LPAPI>",
});

// 2.3 通过json方式进行打印
api.printJson({
    jobInfo: {},
    jobPage: [],
});

// 2.4 直接调用 print() 接口,让系统自动的根据不同的数据来自己判断打印数据。
api.print({
    // 1. lpwpi会优先去检测配置信息中是否存在 'templateID',如果存在则使用 templateID 的方式进行打印。
    templateID: "",
    // 2. 如果参数中没有 templateID,那么lpwpi回去检测 jobInfo和jobPage,如果有则使用json方式进行打印。
    jobInfo: {},
    jobPage: [],
    // 3. 如果 参数中不存在 templateID,也不存在 jobInfo等信息,回去检测并解析 content 中的信息,
    //      如果检测到content是wdfx数据,则解析wdfx内容并进行打印;
    //      如果解析到 json 数据,则以json方式进行打印。
    content: "",
});

接口介绍

LPW_Result

/**
 * 数据打印执行结果。
 */
export enum LPW_Result {
    /** 打印成功 */
    OK = 0,
    /** 参数错误 */
    ERROR_PARAM = 1,
    /** 未检测到打印APP,或者打印APP版本太低 */
    ERROR_NO_APP = 2,
}

LPWPI 接口

printTemplate

| 属性 | 类型 | 必填 | 说明 | | ------------- | ------ | ---- | ------------------------------------------------------------- | | templateID | string | 是 | TemplateID 打印模式下的模板 ID | | userID | string | 否 | TemplateID 打印模式下的用户 ID | | action | number | 否 | 1:直接打印,2:预览,3:打印并预览。如果未指定,表示只打印。 | | appName | string | 否 | 客户 APP 名称 | | printCopies | number | 否 | 打印份数,默认为 1 份 | | autoPage | number | 否 | 1:表示自动分页,0 或者未指定表示常规方式打印 | | title | string | 否 | 打印页面的标题名称 | | topMessage | string | 否 | 预览页面顶部的提示信息 | | bottomMessage | string | 否 | 预览页面底部的提示信息 | | jobArguments | Object | 否 | 打印参数 |

printJson

| 属性 | 类型 | 必填 | 说明 | | ------------- | ------ | ---- | ------------------------------------------------------------- | | jobInfo | Object | 是 | json 打印模式下的打印任务信息 | | jobPage | Array | 否 | json 打印模式下的打印页面信息 | | jobPages | Array | 否 | json 打印模式下多页打印时候的多个标签的配置信息 | | action | number | 否 | 1:直接打印,2:预览,3:打印并预览。如果未指定,表示只打印。 | | appName | string | 否 | 客户 APP 名称 | | printCopies | number | 否 | 打印份数,默认为 1 份 | | autoPage | number | 否 | 1:表示自动分页,0 或者未指定表示常规方式打印 | | title | string | 否 | 打印页面的标题名称 | | topMessage | string | 否 | 预览页面顶部的提示信息 | | bottomMessage | string | 否 | 预览页面底部的提示信息 | | jobArguments | Array | 否 | 打印参数 |

printWdfx

| 属性 | 类型 | 必填 | 说明 | | ------------- | ------ | ---- | ------------------------------------------------------------- | | content | string | 是 | wdfx 字符串 | | action | number | 否 | 1:直接打印,2:预览,3:打印并预览。如果未指定,表示只打印。 | | appName | string | 否 | 客户 APP 名称 | | printCopies | number | 否 | 打印份数,默认为 1 份 | | autoPage | number | 否 | 1:表示自动分页,0 或者未指定表示常规方式打印 | | title | string | 否 | 打印页面的标题名称 | | topMessage | string | 否 | 预览页面顶部的提示信息 | | bottomMessage | string | 否 | 预览页面底部的提示信息 | | jobArguments | Array | 否 | 打印参数 |

print

| 属性 | 类型 | 必填 | 说明 | | ------------- | ------ | ---- | ------------------------------------------------------------- | | templateID | string | 否 | TemplateID 打印模式下的模板 ID | | userID | string | 否 | TemplateID 打印模式下的用户 ID | | content | string | 否 | wdfx 字符串 | | jobInfo | Object | 否 | json 打印模式下的打印任务信息 | | jobPage | Object | 否 | json 打印模式下的打印页面信息 | | jobPages | Array | 否 | json 打印模式下多页打印时候的多个标签的配置信息 | | action | number | 否 | 1:直接打印,2:预览,3:打印并预览。如果未指定,表示只打印。 | | appName | string | 否 | 客户 APP 名称 | | printCopies | number | 否 | 打印份数,默认为 1 份 | | autoPage | number | 否 | 1:表示自动分页,0 或者未指定表示常规方式打印 | | title | string | 否 | 打印页面的标题名称 | | topMessage | string | 否 | 预览页面顶部的提示信息 | | bottomMessage | string | 否 | 预览页面底部的提示信息 | | jobArguments | Array | 否 | 打印参数 |