前言由于项目原架构使用的是Vue2、Element-UI开发的前端,现在想集成Flowable工作流引擎,但公司采购的源码采用的是Vue3、TypeScript、Element-Plus,所以只能改造成Vue2,然后再使用我的问题主键使用的是雪花算法,长度有19位,前端接收到的id值会被四舍五入,导致数据无法正常被操作这里分享两组值,分别是数据库存储的id和前端接收到的id值数据库id值:1724983175923302401前端id值:1724983175923302401数据库id值:1724983439078129665前端id值:1724983439078129700从以上结果可以看出,数据被四舍五入了问题分析Number精度是16位(雪花ID是19位的),所以JS的Number数据类型导致的精度丢失。解决方案主要解决思路,还是把Long类型转换为String再传输,以下给出几种解决方案,主要针对不同应用场景方案一(单个注解)此方案适用于项目中有及个别字段需要处理,可以采用此种方案,如果项目中id全是雪花算法,此方案不推荐12@JsonSerialize(using= ToStringSerializer.class)privateLong id;方案二(全局配置)Long类型的对象将会使用自定义的LongToStringSerializer进行序列化,将Long类型转换为
...
继续阅读
(52)