@tarojs/plugin-mini-ci
Version:
Taro 小程序端构建后支持CI(持续集成)的插件
52 lines • 1.71 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateQrcodeImageFile = exports.printQrcode2Terminal = exports.readQrcodeImageContent = void 0;
const Jimp = require("jimp");
const jsqr_1 = require("jsqr");
const QRCode = require("qrcode");
/**
* 读取出二维码图片中的文本内容
* @param imagePath 图片路径
*/
async function readQrcodeImageContent(imagePath) {
return new Promise((resolve, reject) => {
Jimp.read(imagePath, function (err, image) {
if (err) {
reject(err);
return;
}
// @ts-ignore
const scanData = (0, jsqr_1.default)(image.bitmap.data, image.bitmap.width, image.bitmap.height);
if (scanData) {
resolve(scanData.data);
}
else {
reject(new Error('扫描器 jsqr 未能识别出二维码内容'));
}
});
});
}
exports.readQrcodeImageContent = readQrcodeImageContent;
/**
* 将文本内容转换成二维码输出在控制台上
* @param content
*/
async function printQrcode2Terminal(content) {
const terminalStr = await QRCode.toString(content, { type: 'terminal', small: true });
// eslint-disable-next-line no-console
console.log(terminalStr);
}
exports.printQrcode2Terminal = printQrcode2Terminal;
/**
* 生成二维码图片到指定目录
* @param content
* @param path
*/
async function generateQrcodeImageFile(path, content) {
await QRCode.toFile(path, content, {
errorCorrectionLevel: 'L',
type: 'png'
});
}
exports.generateQrcodeImageFile = generateQrcodeImageFile;
//# sourceMappingURL=qrcode.js.map