小程序生成二维码分享,真机没问题,但正式版头像却出不来
微信有一部分从第三方引入的用户头像是 https://thirdwx.qlogo.cn或https://wx.qlogo.cn 开头的路径
canvas画头像需要先wx.getImageInfo获取下来,这个时候就可能会出现问题,那就是合法域名
这个时候只能去微信公众平台去添加合法域名
具体:开发=》开发管理=》开发设置=》服务器域名 添加 https://wx.qlogo.cn
但是头像地址头可能是两种(MMP)
这个两种是通用的,应该是有ng转发配置,就是说他们可以互相调换
比如 https://wx.qlogo.cn/mmopen/vi_32/F6Cr8ib2GJtuFBSK64paqm6s11gz2AnpCcf6H5a7L3NsH6QgoiaEYGicIVglVxyYl5WaY6ceicxTIgcojydvfgyAZw/132
与 https://thirdwx.qlogo.cn/mmopen/vi_32/F6Cr8ib2GJtuFBSK64paqm6s11gz2AnpCcf6H5a7L3NsH6QgoiaEYGicIVglVxyYl5WaY6ceicxTIgcojydvfgyAZw/132
是相同的一张,只是域名不同
我们后台服务器域名添加的为https://wx.qlogo.cn 那就可以进行替换
wx.getImageInfo({
// src: userInfo.headImgUrl, // 头像
src: userInfo.headImgUrl.replace('https://thirdwx.qlogo.cn', 'https://wx.qlogo.cn'),
success: function (res) {
resolve(res);
},
fail: function (err) {
resolve(err)
},
})
解决思路,后台配置合法域名,通过 replace 方法将头像路径中的 https://thirdwx.qlogo.cn 替换成 https://wx.qlogo.cn ,头像还是原来的头像,但是可以下载成本地图片再也不会报错了,canvas 可以画头像了
啦啦啦 嘟嘟嘟 ~~~