微信小程序uni.request 返回值存在精度丢失问题

今天我司返回任务列表的时候当我取ID字段存在了精度丢失问题,微信小程序是有问题的,然后我用postman调用这个接口又没出现,这就是微信小程序新规影响了。

这是因为后端返回的数据类似是long类型导致精度丢失了,如果后端返回string类型就没有这个问题,但是总会出现后端不好解决,那这个时候就需要我们全能的前端去兼容下呐。

问题:1

从network面板中返回的参数就已经看到精度就丢失了

下面这个是我处理过后的ID就是正确的

解决方案

步骤一:按照下面这个第三库

javascript 复制代码
import JSONbig from 'json-bigint'

使用:

javascript 复制代码
this.$request({url: '/rest/rider/deliveryOrder/listDeliveryOrderCalendar',
data: { startTime: this.getDateRange(time).start, endTime: this.getDateRange(time).end },
method: 'GET'}).then((res) => {

// 对返回的res直接使用JSONbig.parse处理下即可
const result = JSONbig.parse(res)
if (result.code == 200 && result?.data && result.data.length > 0) {
this.tasks = result.data.map((order, index) => {
return {...this.formatOrderTimes(order),...order,
// 此时的id是BigNumber类型我们直接调用toString()方法即可拼接成一个完整的ID
id: order.id.toString()}});}})
相关推荐
WangHappy1 天前
不写 Canvas 也能搞定!小程序图片导出的 WebView 通信方案
前端·微信小程序
小时前端1 天前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
icebreaker2 天前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序
icebreaker2 天前
重走 Vue 长征路 Weapp-vite:编译链路与 Wevu 运行时原理拆解
前端·vue.js·微信小程序
大米饭消灭者5 天前
Taro是怎么实现一码多端的【底层原理】
微信小程序·taro
FliPPeDround6 天前
Vitest Environment UniApp:让 uni-app E2E 测试变得前所未有的简单
微信小程序·e2e·前端工程化
FliPPeDround6 天前
微信小程序自动化的 AI 新时代:wechat-devtools-mcp 智能方案
微信小程序·ai编程·mcp
吴声子夜歌6 天前
小程序——布局示例
小程序
码云数智-大飞6 天前
如何创建自己的小程序,码云数智与有赞平台对比
微信小程序
luffy54596 天前
微信小程序页面使用类似filter函数的wxs语法
微信小程序·小程序