Lei Zhang

Lei Zhang

2023,初为人父。

名称接口名称过期数量
获取小程序码getQRCode
永久有效
100,000
获取不限制的小程序码getUnlimitedQRCode
永久有效
N/A
获取小程序二维码createQRCode
永久有效
100,000
URL LinkgenerateUrlLink
最长30天,可配置
500,000/天
URL SchemegenerateScheme
最长30天,可配置
500,000/天
Short Link(短期)generateShortLink
30天
1,000,000/天
Short Link(长期)generateShortLink
永久有效
100,000

获取小程序码

getQRCode

由于每个小程序只能生成10w 次,此接口在开发中几乎很少使用。

该接口方便的地方在于,整个 path 参数可以支持最大1024字节长度,例如:

{
  "path": "pages/index/index?foo=bar&foo=bar&..."
}

获取不限制的小程序码

getUnlimitedQRCode

此接口经常用于各种推广场景生成小程序太阳码,例如:推广海报。

相比于getQRCode,你不能直接传递完成的 path,需要传入 pagescene 来替代,例如:

{
  "page": "pages/index/index",
  "scene": "XXXXX"
}
  • page 不能携带参数
  • scene 最大 32 个可见字符,只支持数字,大小写英文以及部分特殊字符:!#$&'()*+,/:;=?@-._~

最佳实践

在实际的小程序开发中,例如:商品详情页,会使用自定义图片、商详数据、太阳码合成推广海报,

将推广海报转发给微信好友后,微信用户通过识别海报中的太阳码进入商品详情。

  1. 由于请求商品详情数据的入参可能有许多个键值对,因此需要让服务端的同事将这些键值对转换成 scene
const payload = {
  productId: 1,
  shareUserId: 1,
  skuId: 1,
  // etc...
}

const { scene } = await encodeSceneApi(payload)
  1. 再通过 pathscene 换取太阳码:
const wxacode = await commonQrcodeApi({
  path: 'product/pages/index',
  scene,
})

大部分情况,12 两步都会被整合成一个接口让前端调用。

  1. 识别太阳码进入页面,通过 scene 换取对应的参数:
async onLoad(options) {
  const { scene } = options

  const payload = await decodeSceneApi(scene) // <-- { productId, shareUserId, skuId }

  const sourceData = await getProductDetailApi(payload)
}

获取小程序二维码

createQRCode

由于每个小程序只能生成10w 次,此接口在开发中几乎很少使用。

对于二维码来讲,有很多方法可以直接生成,实际场景中使用更多的是替换为配置扫普通链接二维码打开小程序

扫普通链接二维码打开小程序缺点也有一些,例如:

  • 需要将校验文件放到根路径下(类似配置 webview 合法域名);
  • 规则至多配置 100 条;
  • 每月至多发布 100 次;

generateUrlLink

该接口适合不想自己实现短链接转长链接,直接使用微信的短链接

通过此接口会得到一个短链接,例如:

https://wxaurl.cn/*TICKET* 或 https://wxmpurl.cn/*TICKET*

最常见的场景是将该短链接拼接在短信中,让用户在短信中直接打开小程序,例如:

  • 点击营促销推广短信,进入促销活动详情;
  • 点击订单状态变化短信,进度订单详情;
  • 等等...

URL Scheme

generateScheme

该接口适合自己已实现短链接转长链接

通过此接口会得到一个协议链接,例如:

weixin://dl/business/?t= *TICKET*

常见的使用场景同 URL Link,将链接放到短信中,但是由于 Android 点击无法打开小程序,因此需要使用 H5 做跳转。

location.href = 'weixin://dl/business/?t= *TICKET*'

generateShortLink

通过此接口会得到一个类似口令的文本,例如:

#小程序://小程序示例/示例页面/9pZvnVw3KMCQpVp

就和淘宝口令类似,将 Short Link 在微信中发送给好友或者朋友圈,其他用户点击即可直接打开小程序对应的落地页。

编辑此页
最后更新于1 天之前
icon©2023