dingtalk-qr-code 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ import qr from "./qr";
3
+ export function generate(ctx, text, params) {
4
+ const {
5
+ logo,
6
+ ecc = 2,
7
+ size = 512,
8
+ shape = "square",
9
+ background = "#FFFFFF"
10
+ } = params || {};
11
+ ctx.canvas.width = size;
12
+ ctx.canvas.height = size;
13
+ ctx.save();
14
+ ctx.fillStyle = background;
15
+ ctx.fillRect(0, 0, size, size);
16
+ ctx.restore();
17
+ qr.draw(text, ctx, size, Number(ecc), {
18
+ imageUrl: logo,
19
+ shape,
20
+ background
21
+ });
22
+ }
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "dingtalk-qr-code",
3
+ "version": "1.0.0",
4
+ "main": "dist/index.js",
5
+ "scripts": {
6
+ "test": "bun run ./test/basic.ts",
7
+ "clean": "rimraf dist types",
8
+ "build": "npm run clean && esbuild ./src/index.ts --outfile=./dist/index.js && tsc"
9
+ },
10
+ "types": "./types",
11
+ "files": [
12
+ "types",
13
+ "dist"
14
+ ],
15
+ "author": "Aiello Chan<aiello.chan@gmail.com>",
16
+ "license": "MIT",
17
+ "description": "Generate DingTalk style qr code, for node.js/web worker/dom",
18
+ "devDependencies": {
19
+ "@napi-rs/canvas": "^0.1.53",
20
+ "@types/node": "^20.14.2",
21
+ "esbuild": "^0.21.5",
22
+ "rimraf": "^5.0.7",
23
+ "typescript": "^5.4.5"
24
+ }
25
+ }
@@ -0,0 +1,37 @@
1
+ /// <reference types="node" />
2
+ /**
3
+ * 在给定的 ctx 中绘制二维码
4
+ * @param ctx
5
+ * @param text
6
+ * @param params
7
+ */
8
+ export declare function generate(
9
+ /**
10
+ * canvas 的绘制上下文
11
+ */
12
+ ctx: CanvasRenderingContext2D,
13
+ /**
14
+ * 二维码的内容,通常为一个 url
15
+ */
16
+ text: string, params: {
17
+ /**
18
+ * 二维码中间显示的图像
19
+ */
20
+ logo?: HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame | Buffer;
21
+ /**
22
+ * 二维码的背景色,默认为 #FFFFFF
23
+ */
24
+ background?: string;
25
+ /**
26
+ * 二维码的尺寸,默认为 512,也就是 512 * 512
27
+ */
28
+ size?: number;
29
+ /**
30
+ * 二维码的形状,默认为 square
31
+ */
32
+ shape?: "square" | "circle";
33
+ /**
34
+ * 纠错等级,默认为 2
35
+ */
36
+ ecc?: number;
37
+ }): void;