生成带参数的临时二维码时,需要指定场景值ID(scene_id), 由于项目中需要通过场景值来详细记录二维码的来源,故想对这个场景值id做出一个统一的生成机制。
微信文档中的表述如下:
scene_id:场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1–100000)。
然后团队中的人就以为这里的32位非0整型,是指长度为32位的数字就可以了。 结果当我们指定scene_id为 12345678901234567890123456789012 时, 我们扫描二维码,微信推送回来的EventKey 则总是:4294967295.
很纳闷,研究了很久。后来突然想 “32位非0整型” 这句话到底是什么意思呢?
其实是指 二进制的位数是32位,而不是10进制的位数。~~~