小程序手机短信验证码登录时图形验证码无法与后台匹配?解题思路或许一开始就错了,解决方法比你想象的简单
有不少人做手机短信验证码登录时直接使用image标签,因此导致图片获取时无法携带cookies导致与后台匹配不上
其实正确的做法是使用wx.downloadFile
https://developers.weixin.qq.com/miniprogram/dev/api/network/download/wx.downloadFile.html
page.wxml
<image src="{{imgcodesrc}}" catchtap="refreshimgcode"></image>
page.js
let downloadTask = wx.downloadFile({
url: 'https://example.com/audio/123', //仅为示例,并非真实的资源
header: {
"Cookie": "JSESSIONID=E1EFA5DD6AA959744BD9DBE4251F9482; route=d7e9fefb767702cae4910be506adcb82;"
},
success (res) {
// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
if (res.statusCode === 200) {
page.setData({
imgcodesrc: res.tempFilePath //下载图片验证码后更新image标签的地址
}
)
}
}
})
downloadTask.onHeadersReceived(header=>{
if(header.cookies){
//自己把cookies存起来
}
})