This commit is contained in:
2025-08-21 11:23:54 +08:00
commit abf7f3c799
530 changed files with 60239 additions and 0 deletions

71
common/qrutil.js Normal file
View 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)
}
}