更新记录
1.0.3(2025-07-07)
修改云端文件路径bug
1.0.2(2025-07-07)
修改云端提示二进制文件问题
1.0.1(2025-07-07)
修改说明文档
查看更多平台兼容性
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
二维码生成服务 API 文档
🚨 重要提示
请您先试用再购买!
在正式购买前,请务必点击页面上的 "导入插件并试用" 按钮进行充分测试。
本插件由开发者利用业余时间开发维护,可能存在以下情况:
- 功能兼容性:请确认插件完全满足您的项目需求
- 问题响应:Bug修复可能无法做到即时响应
- 支持限制:优先处理已确认购买的正式用户问题
强烈建议:在试用环境中全面测试后,确认功能满足需求再进行购买!
感谢您的理解与支持 🙏
兼容性说明
本云对象服务全面兼容以下平台和框架:
平台/框架 | 支持情况 | 特别说明 |
---|---|---|
UniApp | ✅ 完全兼容 | 支持所有UniApp版本 |
UniApp-X | ✅ 完全兼容 | 支持新一代跨平台框架 |
微信小程序 | ✅ 完全兼容 | 支持最新版本API |
QQ小程序 | ✅ 完全兼容 | 已通过官方测试 |
支付宝小程序 | ✅ 完全兼容 | 支持最新版本 |
百度小程序 | ✅ 完全兼容 | 已适配百度环境 |
字节跳动小程序 | ✅ 完全兼容 | 支持抖音/头条小程序 |
快应用 | ✅ 完全兼容 | 支持华为/小米等快应用 |
H5 | ✅ 完全兼容 | 支持所有现代浏览器 |
App | ✅ 完全兼容 | 同时支持Android和iOS |
Vue | ✅ 完全兼容 | 支持Vue 2.x和3.x |
NVue | ✅ 完全兼容 | 高性能原生渲染支持 |
Web | ✅ 完全兼容 | 支持PC和移动端浏览器 |
方法列表
1. 生成自定义二维码
方法名
generateQRCode(params)
请求参数
参数名 | 类型 | 必填 | 默认值 | 说明与限制 |
---|---|---|---|---|
content |
string | 是 | - | 二维码内容(最大5KB,约5000字符) |
size |
number | 否 | 200 | 二维码尺寸(1-2000像素) |
margin |
number | 否 | 4 | 二维码边距(0-20像素) |
scale |
number | 否 | 10 | 二维码缩放比例(1-50倍) |
errorCorrectionLevel |
string | 否 | "M" | 纠错等级(L/M/Q/H,不区分大小写) |
backgroundColor |
string | 否 | "#FFFFFF" | 背景色(HEX格式#RRGGBB或RGB格式rgb(r,g,b)) |
foregroundColor |
string | 否 | "#000000" | 二维码颜色(格式同上) |
transparent |
boolean | 否 | false | 背景色是否透明(true时忽略backgroundColor) |
backgroundImage |
string | 否 | - | 背景图(URL或Base64,≤5MB) |
backgroundImageSize |
number | 否 | 二维码尺寸 | 背景图尺寸(≤二维码尺寸,自动等比缩放) |
backgroundPosition |
string | 否 | "50,50" | 背景图位置(格式"x%,y%",0-100,自动边界检查) |
logo |
string | 否 | - | Logo(URL或Base64,≤5MB) |
logoSize |
number | 否 | 二维码20% | Logo尺寸(≤二维码35%,自动等比缩放) |
logoPosition |
string | 否 | "50,50" | Logo位置(格式"x%,y%",0-100,自动边界检查) |
quality |
number | 否 | 100 | 图片质量(1-100,值越高越清晰) 仅当传递了backgroundImage或logo参数时生效 |
uploadToCloud |
boolean | 否 | false | 是否上传到云存储(false返回Base64) |
format |
string | 否 | 'png' | 输出格式:'png', 'base64', 'pdf', 'svg', 'eps'(大小写不敏感) |
返回结果
{
code: Number, // 200=成功
message: String, // 结果描述
data: {
// uploadToCloud=true 时返回
url?: String, // 云存储访问URL
fileID?: String, // 云存储文件ID
// uploadToCloud=false 时返回
base64?: String, // Base64图片数据
// 通用返回
size: Number, // 文件大小(字节)
timestamp: Number, // 生成时间戳
format: String // "cloud"或"base64"
}
}
2. 参数预校验
方法名
validateQRCodeParams(params)
请求参数
同 generateQRCode
的参数(只需验证部分参数)
返回结果
{
code: Number, // 200=验证通过
message: String, // 错误详情(多个错误用逗号分隔)
data: Boolean // 是否验证通过
}
关键特性说明
1. 背景图透明度关键说明
- 重要提示:当使用
backgroundImage
参数设置背景图时,必须同时设置transparent=true
- 原因:如果未设置透明背景,二维码的背景色将完全覆盖背景图,导致背景图不可见
- 正确用法示例:
// 背景图+透明背景 await qrCloud.generateQRCode({ content: "重要二维码", backgroundImage: "https://example.com/bg.jpg", transparent: true // 必须设置为true });
2. 尺寸智能处理
-
背景图尺寸处理:
- 当backgroundImageSize > 二维码尺寸时:自动等比缩放到二维码尺寸
- 当backgroundImageSize = 二维码尺寸时:backgroundPosition参数无效(完全覆盖)
- 当backgroundImageSize < 二维码尺寸时:按backgroundPosition定位
-
Logo尺寸处理:
- Logo最大不超过二维码35%(超限自动等比缩放)
- Logo默认大小为二维码的20%
- 即使设置了大于35%的尺寸,系统也会自动调整为最大35%
3. 格式支持与限制
- 支持格式:'png', 'base64', 'pdf', 'svg', 'eps'
- EPS格式限制:
- 仅支持以下参数:size, content, margin, transparent, errorCorrectionLevel
- PDF格式限制:
- 仅支持以下参数:size, content, margin, errorCorrectionLevel
4. 云存储与质量参数
- 云存储路径:
- 当设置
uploadToCloud=true
时,二维码将上传到UniCloud云存储 - 系统会自动创建名为
qrcode-gsz
的文件夹 - 所有生成的二维码都将存储在此文件夹下
- 当设置
- 质量参数:
quality
参数仅在传递了backgroundImage
或logo
参数时生效- 如果未传递上述参数,则忽略
quality
参数,默认使用最高质量(100)
5. 边界与容错处理
-
自动边界修正:
- 所有位置参数超出0-100范围时自动修正
- 如"110,50"修正为"100,50"
- 如"-10,50"修正为"0,50"
-
容错机制:
- 图片下载失败自动重试3次
- 图片大小超过5MB自动拒绝
- 二维码内容超过5KB自动拒绝
错误码说明
错误码 | 说明 |
---|---|
400 | 参数格式错误 |
601 | 颜色格式错误 |
602 | 内容超限(>5KB) |
603 | 二维码生成失败 |
604 | 图像处理失败 |
605 | 云存储上传失败 |
606 | 无效图片格式 |
607 | 位置参数错误 |
608 | 尺寸参数错误 |
609 | 透明度参数错误 |
610 | 纠错等级错误 |
611 | 无效格式参数 |
612 | 背景图需要透明背景 |