init
This commit is contained in:
71
common/qrutil.js
Normal file
71
common/qrutil.js
Normal file
@@ -0,0 +1,71 @@
|
||||
/**
|
||||
* 二维码生成工具类
|
||||
*/
|
||||
export default {
|
||||
/**
|
||||
* 生成二维码
|
||||
* @param {Object} options 配置参数
|
||||
* @param {String} options.text 要生成二维码的文本内容
|
||||
* @param {Number} options.size 二维码尺寸,默认200
|
||||
* @param {String} options.color 二维码颜色,默认#000000
|
||||
* @param {String} options.bgColor 背景颜色,默认#FFFFFF
|
||||
* @param {String} options.canvasId canvas标识,默认qrcodeCanvas
|
||||
* @param {Function} options.success 成功回调
|
||||
*/
|
||||
createQRCode(options = {}) {
|
||||
// 默认配置
|
||||
const defaults = {
|
||||
text: '',
|
||||
size: 200,
|
||||
color: '#000000',
|
||||
bgColor: '#FFFFFF',
|
||||
canvasId: 'qrcodeCanvas',
|
||||
success: () => {}
|
||||
}
|
||||
|
||||
// 合并配置
|
||||
const config = { ...defaults, ...options }
|
||||
|
||||
if (!config.text) {
|
||||
console.error('请传入要生成二维码的文本内容')
|
||||
return
|
||||
}
|
||||
|
||||
// 引入uQRCode
|
||||
const uQRCode = require('@/components/u-qrcode/u-qrcode.js')
|
||||
|
||||
// 生成二维码
|
||||
uQRCode.make({
|
||||
canvasId: config.canvasId,
|
||||
componentInstance: this,
|
||||
text: config.text,
|
||||
size: config.size,
|
||||
margin: 10,
|
||||
foreground: config.color,
|
||||
background: config.bgColor,
|
||||
success: (res) => {
|
||||
config.success(res)
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('二维码生成失败:', err)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 将二维码转换为图片路径
|
||||
* @param {String} canvasId canvas标识
|
||||
* @param {Function} success 成功回调
|
||||
*/
|
||||
canvasToImage(canvasId = 'qrcodeCanvas', success) {
|
||||
uni.canvasToTempFilePath({
|
||||
canvasId: canvasId,
|
||||
success: (res) => {
|
||||
success && success(res.tempFilePath)
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('canvas转换为图片失败:', err)
|
||||
}
|
||||
}, this)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user