收藏
回答

小程序二维码

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug 小程序码 工具 8.0.1 2.15.0
uni.request({
				    // url: `https://test.china-tmj.com/api/getWechatCode`, //测试地址
				    url: `https://api.china-tmj.com/api/getWechatCode`, //正式地址
				    method: 'POST',
					data:{pid:id},
					responseType: 'arraybuffer',
					header:{
						'content-type':'application/json;charset=utf-8'
					},
				    success: (res) => {
						console.log(res)
						console.log(res.data);
						let base64 = wx.arrayBufferToBase64(res.data);
						console.log(base64)
						// base64 = 'data:image/jpeg;base64,' + base64
						base64 = 'data:image/PNG;base64,' + base64
						base64 = this.fn(base64)
						console.log(base64)
						this.qrImg = base64
				    }
				});
g各位大佬大家好,我在使用小程序码功能时,测试地址是可以获取到二维码,正式地址获取不到 ,两个地址都返回的是二进制数据  我一样的代码给转换为了base64格式
回答关注问题邀请回答
收藏

2 个回答

  • 默
    2021-03-03

    你让后端把这个接口部署到正式环境看下

    2021-03-03
    有用
    回复 6
    • 余思
      余思
      2021-03-03
      已经部署了
      2021-03-03
      回复
    • 默
      2021-03-03回复余思
      那正式环境返回的是啥? 报错了? 截图发下
      2021-03-03
      回复
    • 余思
      余思
      2021-03-03回复
      这是正式环境接口返回的,buffer数据在data中
      2021-03-03
      回复
    • 余思
      余思
      2021-03-03回复余思
      调用接口返回的是二进制数据
      2021-03-03
      回复
    • 默
      2021-03-03回复余思
      这不是可以返回吗 也就是说你转成base64的时候报错了? 是不是二进制数据有问题啊
      你让后端把他返回的这个二进制自己转成图片看出的来不
      2021-03-03
      回复
    查看更多(1)
  • 大兵
    大兵
    2021-03-03

    你这调的是自己服务器的地址吧,这个问题得问我们的开发人员

    2021-03-03
    有用
    回复 5
    • 余思
      余思
      2021-03-03
      后台已经调了微信的接口,返回了图片的buffer,我拿到图片的buffer通过微信内置的api转换成了base64  在测试地址下成功显示,线上地址又不显示了
      2021-03-03
      回复
    • 大兵
      大兵
      2021-03-03回复余思
      线上环境和测试环境后端代码有什么不一样的么?
      2021-03-03
      回复
    • 余思
      余思
      2021-03-03回复大兵
      线上和测试的代码一样的
      2021-03-03
      回复
    • 大兵
      大兵
      2021-03-03回复余思
      排除法,你让后端自己保存一下二维码图片。看能不能保存成功
      2021-03-03
      回复
    • 余思
      余思
      2021-03-03
      谢谢大佬,我试试
      2021-03-03
      回复
登录 后发表内容
问题标签