小程序手机短信验证码登录时图形验证码无法与后台匹配?解题思路或许一开始就错了,解决方法比你想象的简单
发布于 3 年前 作者 tao10 3388 次浏览 来自 分享

有不少人做手机短信验证码登录时直接使用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存起来
  }
})

回到顶部