小程序生成二维码报错:40169:invalid length for scene, or the data is not json string

小程序生成二维码报错:40169:invalid length for scene, or the data is not json string

获取二维码接口文档:获取不限制的小程序码 | 微信开放文档 (qq.com)

报错分析:

  data是json字符串,这个问题可以排除

  scene的长度有问题

 

 从小程序接口文档看我的传参确实有问题,scene长度大于32

怎么办呢?

正常解决方法是长转短

  长转短的方案是:

    将二维码参数跟一个不会重复的不大于32位的随机数绑定,请求微信接口时携带这个随机数

    后续进入小程序需要调用后台接口,通过唯一的随机数获取参数

    

    随机数和参数可以保存到数据库 也可以放到缓存中 如果有失效限制 推荐放置到缓存  如果没有失效限制推荐放置到数据库

    随机数建议用时间戳加随机数方案 这个基本可以保证不会重复

    随机数还可以考虑用数据库自增主键(数据落库后可返回主键 Options(useGenerateKeys = true,keyColumn="id"))

  

    

posted @ 2023-02-17 16:19  少年,动起来  阅读(1555)  评论(0)    收藏  举报