有一次在項目里碰到雪花算法生成id,然后返回到前端。雪花算法會生成一個64位的二進制數據,為一個Long型。(轉換成字符串后長度最多19)
我們后台返回的是Json的字符串,在axios內部會自動調用 JSON.parse()方法把json字符串轉為JS數據,就會出現進度損失。如果不進行轉換,依然當做字符串來使用,就不會有問題了
當然這是json字符串只有orderId的時候。
有時候,還有其他屬性。
這個時候,我們的改造一下字符串。
ly.http.post("/order/order/list",this.pageInfo,{ transformResponse: [ function(data){ var newResponseString = data.replace(/\"orderId\":(\d+)/g,'"orderId": "$1"'); var resultObj = JSON.parse(newResponseString); return resultObj; } ] }).then(({data})=>{ this.totalPage= data.totalPage; this.total= data.total; this.orders=data.items; })