解决小程序开发生成B类小程序码scene参数长度受限的问题

小程序码的分类

小程序官方文档中关于小程序码的分类有2类:

  1. A类:这类小程序码的scene参数长度不受限,但小程序码总数最多10万个,超过这个数就不能继续生成,
  2. B类:这类小程序码的生成数目不受限制,但scene参数的最大长度为32位,超过长度会报错
    在这里插入图片描述
    当我们需要生成大量的小程序码,不希望数目受限,同时在scene参数中需要传递的参数较多,这个时候就需要通过一种新的方式来解决这个问题。

解决办法

我们可以通过一个中间桥梁来解决这个问题,首先通过uuid.uuid4().hex函数生成一个32位的随机码,作为scene参数的值,后端将这个32位随机码及原本需要传递的参数一起存储在一个参数表中(32位的随机码的碰撞几率是很小很小的,可以实现一一对应),再进行二维码的生成,在获取到二维码后,小程序进行路由解析,可以通过option.scene可以获取到scene参数,将参数传递给后端,后端再将相应参数返回,这样就解决了scene参数过长的问题。

代码实现

有需要的话,可以评论文章或关注,可以私信给你;

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
在PHP中生成小程序码带参数,可以使用微信开放平台提供的接口来实现。具体步骤如下: 1. 首先,你需要获取到小程序的access_token。可以通过发送HTTP请求到微信开放平台的接口来获取,具体的请求地址为:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=YOUR_APPID&secret=YOUR_APPSECRET。其中,YOUR_APPID和YOUR_APPSECRET分别为你的小程序的AppID和AppSecret。 2. 使用上一步获取到的access_token,发送HTTP POST请求到微信开放平台的接口,生成小程序码。请求地址为:https://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN,其中,ACCESS_TOKEN为上一步获取到的access_token。 3. 在请求中,需要传递一个JSON数据,包含生成小程序码所需的参数,例如: ```php $postData = array( 'path' => 'pages/index/index', // 小程序页面路径 'width' => 430, // 小程序码的宽度 'scene' => 'param1=value1&param2=value2', // 自定义参数,可用于后续业务处理 // 其他参数... ); ``` 4. 将JSON数据转换为字符串,并发送POST请求到微信开放平台的接口,获取小程序码的二进制数据。 5. 将获取到的二进制数据保存为图片文件,例如: ```php $file = fopen('qrcode.jpg', 'w'); fwrite($file, $response); // 将二进制数据写入文件 fclose($file); ``` 以上是使用PHP生成小程序码带参数的基本步骤,具体实现代码可以根据你的需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值