生成带logo的二维码
描述
依赖于qrcode
安装模块
yarn add @showzhou/logo_qrcode
或者
npm i @showzhou/logo_qrcode
使用
- 导入
import {
createQrCodeAndLogo, createSmartQrcodeAndLogo,
readQRCode,createQrCode
} from '@showzhou/logo_qrcode';
- 生成logo二维码
/**
* 不验证二维码是否可扫
* data: 存入数据
* url: logo的连接
**/
createSmartQrcodeAndLogo({
data:JSON.stringify({
name:'showzhou',
age:20,
address:{
country:'China',
city:'Heilongjiang',
detailed:'No. 99-1, Shimao Avenue, Songbei District, Harbin City, Heilongjiang Province'
}
}),
url:''
});
或者
/**
* 验证二维码是否可扫
* data: 存入数据
* url: logo的连接
**/
createQrCodeAndLogo({
data:JSON.stringify({
name:'showzhou',
age:20,
address:{
country:'China',
city:'Heilongjiang',
detailed:'No. 99-1, Shimao Avenue, Songbei District, Harbin City, Heilongjiang Province'
}
}),
url:''
});
- 读取二维码
// data:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAE...
readQRCode({
data
});
- 创建不带logo的二维码
/**
* data: 存入数据
**/
createQrCode({
data:JSON.stringify({
name:'showzhou',
age:20,
address:{
country:'China',
city:'Heilongjiang',
detailed:'No. 99-1, Shimao Avenue, Songbei District, Harbin City, Heilongjiang Province'
}
})
});
- 返回图片base64数据
/**
* url: https://...
**/
imgToBase64(url);
// return `data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAE...`
- 指定二维码图片大小
/**
* data: 原始数据; 默认:200x200
* width: 宽
* height: 高
*/
createQrcodeSizeControl({
data:JSON.stringify({name:'压根哈哈哈哈哈'}),
width:600,
height:600
})
// return `data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAE...`
- 降低图片质量()
/**
* data?: 传入base64图片数据
* url?: https://...
* num: 降低的质量(0-100)
*/
updateImageQuality({
url:'https://...',
num:20
})
// return `data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAE...`
- 生成带logo的二维码图片压缩包(zip)
/**
* dataArray: 需要生成图片的数组
* url: logo连接
*/
createQrCodeByZip({
dataArray:[
{
fileName:'文件1',
data:"这是我二维码内容1,AAAAAAAAAAAAAA"
},
{
fileName: '文件2',
data: "这是我二维码内容2,BBBBBBBBBBBBB"
},
{
fileName: '文件3',
data: "这是我二维码内容3,CCCCCCCCCCCCCC"
},
{
fileName: '文件4',
data: "这是我二维码内容4,DDDDDDDDDDDDDD"
},
],
url:''
});
// return `data:application/zip;base64,UEsDBAoAAAAAAFUNeVIAAAAAAAA......`
// 直接将返回值写入浏览器url输入框即可下载