更新记录

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参数仅在传递了backgroundImagelogo参数时生效
    • 如果未传递上述参数,则忽略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 背景图需要透明背景

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

当设置uploadToCloud=true时,二维码将上传到UniCloud云存储 系统会自动创建名为qrcode-gsz的文件夹 所有生成的二维码都将存储在此文件夹下

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问