接口返回int类型id超过15位数字,js数字精度丢失问题

1,281 阅读1分钟

今天在调试接口时发现后台传给我的id和后台数据库记录的id不一致,最后找到的问题是后台返回的数据超过了15位导致的精度丢失。

解决方案

在axios.js中处理,安装json-bigint,首先导入json-bigint,并且配置

const JSONbigStringTmp = require('json-bigint');
const JSONbigString = JSONbigStringTmp({ "storeAsString": true });

然后在aixos响应拦截中把接口返回的数据做处理

const res.data=JSONbigString.parse(res.request.responseText)

然后就能解决这个问题。