关于wx.getImageInfo发线上,无法正常工作的问题
公众号后台,需要再开发配置中设置图片来源的地址,request合法域名、downloadFile合法域名。阿里云的oss会带特殊的结尾参数,需要去掉。另外,如果接口给的是http图片地址,需要换成https。因为授权域名配置的都是https。
// 底图地址格式化
let pictureUrl = self.data.resource.urls.length > 0 && self.data.resource.urls[0].pictureUrl ? self.data.resource.urls[0].pictureUrl.split('?')[0] : ''
// 后台配置的授权地址是https格式的,不替换,导致发版后无法正常工作
pictureUrl = pictureUrl.replace("http://", "https://");
const imagesSize = self.data.imagesSizes.find(x=>x.pictureUrl == pictureUrl)
if(imagesSize){
self.handle(relativeX, relativeY, imagesSize.aspectRatio, viewRect)
}else{
// 获取图片原始的长宽比
wx.getImageInfo({
src: pictureUrl,
success: function (imgRes) {
// 获取图片的长宽比,并临时存储
const aspectRatio = imgRes.width / imgRes.height
const imagesSizes = [...self.data.imagesSizes, {
pictureUrl,
aspectRatio
}]
self.setData({imagesSizes})
self.handle(relativeX, relativeY, aspectRatio, viewRect)
},
fail: function(info){
console.log(info)
}
});
}