生成二维码的场景值最多32位,但是_id都是32位的,再加长参数名称和等于号就超过了,怎么办呢?
超过什么?
别用_id作为scene呗,自己编一个。
重新md5一次。搞成16位或者8位。
可以通过下面的方案解决 scene 参数长度受限的问题:
1. 小程序端把业务所需的参数通过接口 A (一般为生成小程序码的接口)上报给小程序后端,小程序后端生成一个小于等于 32 位的 ID 来获取上报的参数,然后把这个 ID 填入生成小程序码接口的 scene 参数中。
2. 小程序后端新增一个接口 B 用于小程序端通过解析小程序码获取的 scene 参数获取原来小程序端上报的参数。
新增个集合scenes ,记录
_id为数字类型,param为参数
_id param
1 {a:1,b:2}
…