gxd-vue-library
Version:
依赖与element Ui插件库,聚福宝福利PC端插件库
52 lines (41 loc) • 1.28 kB
JavaScript
;
import qrCode from 'qrcode'
/**
* @description 获取二维码base64图片
* @param options {{text: string}}
* @param options.text {String} 生产二维码文本数据
* @param options.width {Number} 生成图片资源大小 默认:300
* @param options.quality {Number} 生成图片资源质量 0~1 默认: 0.9
* @param options.color {Object} 生成图片文件样式
* @param options.color.dark {Object} 生成二维码颜色图片内容颜色
* @param options.color.light {Object} 生成二维码颜色图片空内容区域颜色
*/
export default function (options) {
if(!options.text) {
console.warn(`options.text=${options.text},文本不能为空`)
}
let color = {
dark: '#c60', //二维码颜色
light: '#f8f8f8', //二维码空区域颜色
};
let opt = {
errorCorrectionLevel: 'H',
type: 'image/png',
width: 400,
scale: 1,
margin: 3,
quality: 0.9,
};
options = Object.assign({}, opt, options);
if(!options['color']) options['color'] = color;
return new Promise((resolve, reject)=>{
qrCode.toDataURL(options.text, options)
.then(url => {
resolve(url)
})
.catch(err => {
reject('生成文件失败');
console.error(err)
})
})
}