你们知道吗,有个坑我差点栽进去。后端给得订单号是个19位的长整型,雪花算法生成的那种。前端拿到之后一切正常,列表显示得好好的,结果一点"编辑",把ID回传后端,直接报找不到记录。
我排查了半天,最后发现是JS的锅。JS里数字都是双精度浮点,安全整数上限才2的53次方减1,也就16位左右。19位的ID一过JSON.parse,末尾几位就被四舍五入了,两个不同订单在前端眼里长得一模一样。真的假的
我听说隔壁组也中过招,还是生产环境,排查了一整晚。我私下怀疑是当初谁图省事直接用了Number类型,没转字符串。所以现在但凡长ID,我们一律让后端吐字符串。你们组里有没有人也踩过这个?