由于后端返回的数据量较大,后端使用gzip压缩数据,前端对接口返回的压缩数据进行解压。如图所示,我们使用pako来处理压缩数据。安装npminstallpako以使用//importpakoimportpakofrom'pako'//b64Data-->传入加密数据用于解密函数unzip(b64Data){letstrData=atob(b64Data)//将二进制字符串转换为字符数字数组constcharData=strData.split('').map(function(x){returnx.charCodeAt(0)})//将数字数组转换为字节数组constbinData=newUint8Array(charData)////unzipconstdata=pako.inflate(binData)//将压缩后的byteArray转换回ascii字符串:strData=String.fromCharCode.apply(null,newUint16Array(data))returnstrData}//加密函数zip(str){if(typeofstr!=='string'){str=JSON.stringify(str)}constbinaryString=pako.gzip(str,{to:'string'})returnbtoa(binaryString)}export{unzip,zip}示例导入以上pako.js文件import{zip,unzip}from'@/utils/pako'constdata={name:'lyc',age:'18',sex:'male'}constcompress=zip(JSON.stringify(数据))console.log(压缩)//输出://H4sIAAAAAAAAA6tWykvMTVWyUsqpTFbSUUpMB7ENLYDM4tQKIDM3MSdVqRYAlcYjMyYAAAA=constunCompress=JSON.parse(unzip(compress))console.log(unCompress)//输出://{name:'lyc',age:'18','sex:}'male
