在做一个信息采集的项目,用户点击右边按钮,上传身份证照片,后台把照片识别的身份证上面的个人信息,返回到接口里面,前端根据接口的数据进行展示
其实,之前也用vant写了一个信息采集的移动端项目,上传身份照片后,接口返回的值是正常的,但是在微信小程序里面,不知怎么的,接口返回的数据却是unicode
格式的数据,这前端没法展示,没辙了选择了百度大法,结果花了两个小时,找到的几篇文章的方法都试了试,还是不行,要哭了,然后去问了乾哥和辉神(两位都是前端大佬,给大佬端茶!!)
下面是代码截图
代码如下:
//上传身份证正面照片
positiveUpload() {
// console.log("上传正面")
var _this = this;
var mykey = wx.getStorageSync('access_token');
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success(res) {
// console.log(res)
// tempFilePath可以作为img标签的src属性显示图片
// _this.setData({
// positive: res.tempFilePaths[0]
// })
// 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
wx.uploadFile({
url: app.serverUrl + '/user/uploadEducation', //
filePath: res.tempFilePaths[0],
name: 'file',
method: 'post',
// dataType: 'json',
formData: {
model:"front",
pid:wx.getStorageSync('pid'),
},
header: {
'content-type': 'application/json',
'Authorization': mykey
},
success(res) {
console.log(res);
let returnData=unescape(res.data.replace(/\\u/g, '%u'));//将unicode转为字符串
console.log(returnData)
returnData=JSON.parse(returnData);//字符串转为对象
console.log(returnData);
if (returnData.data.data.姓名 != undefined) {
console.log('更新成功')
wx.showToast({
title: returnData.msg,
})
} else {
wx.showToast({
title: returnData.msg,
})
}
},
});
}
})
},