查看二维码API

二维码生成API实战:Base64图片、尺寸与Logo配置

📅 2026-08-20✍️ 轻语API开放平台⏱️ 阅读约 7 分钟

营销链接、活动报名、产品溯源和桌牌物料都需要快速生成二维码。轻语接口 POST /data/api/fetchQRCodeData 返回PNG Base64,前端可直接展示,后端可解码保存。

一、参数怎么选

参数是否必填说明
apikey身份凭证,建议只在服务端使用
text网址、链接或文本内容
size二维码像素尺寸,例如300
logoUrl二维码中心Logo图片地址
logoSizeLogo像素尺寸,建议小于size/8

二、生成并在浏览器展示

const response = await fetch('https://5555api.com/data/api/fetchQRCodeData', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    apikey: process.env.QINGYU_API_KEY,
    text: 'https://5555api.com',
    size: 300,
    logoUrl: 'https://example.com/logo.png',
    logoSize: 32
  })
});
const result = await response.json();
if (result.code !== 200) throw new Error(result.msg || '二维码生成失败');
preview.src = 'data:image/png;base64,' + result.data.qrcode;

三、后端保存PNG文件

import base64
import requests

result = requests.post(
    'https://5555api.com/data/api/fetchQRCodeData',
    json={'apikey': 'YOUR_APIKEY', 'text': 'https://5555api.com', 'size': 300}
).json()
if result['code'] != 200:
    raise RuntimeError(result.get('msg', '生成失败'))
with open('qrcode.png', 'wb') as output:
    output.write(base64.b64decode(result['data']['qrcode']))

四、保证二维码可扫描

  1. 长文本先转短链,减少模块密度。
  2. Logo保持适中,四周留白,不遮挡定位点。
  3. 印刷物料先用目标距离和光照测试扫码。
  4. 对相同内容和参数做缓存,批量任务使用队列控制频率。

五、应用场景

活动报名、产品溯源、电子票务和门店物料都可以使用同一套生成逻辑。完整字段和限制请查看二维码生成API文档;如果想先手工验证内容,可使用在线工具中心中的相关工具。

常见问题

二维码生成API返回什么格式?

接口返回PNG图片的Base64字符串,浏览器可以拼接data:image/png;base64,前缀后放入img标签,后端可以Base64解码为PNG文件。

Logo应该设置多大?

logoSize建议小于二维码size的八分之一。Logo过大可能遮挡定位点或数据模块,导致扫码失败。

批量生成二维码如何限流?

接口单次生成一个二维码,频率限制为100次/分钟。批量任务应使用队列控制并发,并缓存已经生成过的内容。

结语

二维码API接入的关键是把Base64结果正确转换成PNG,并在Logo、尺寸和批量限流之间取得平衡。把密钥和生成记录放到服务端,前端只负责预览和下载,整体链路会更安全。