uni-app获取用户头像下载失败

2022-08-17 14:11:23 浏览数 (1)

一.在我们使用uni-app的时候,经常会用到获取头像的这个方法。

代码语言:javascript复制
 uni.getUserInfo({
	provider: 'weixin',
	success: function(result) {				
		let userinfo= result.userInfo
		console.log(userinfo)
	}
});

二.微信小程序下载头像方法

代码语言:javascript复制
				uni.downloadFile({
					url: userInfo.avatarUrl,
					success: function(res) {
						uni.hideLoading();
						self.avatarPath = res.tempFilePath;
					},
					fail: function(e) {
						console.log(e);
						uni.hideLoading();
						uni.showModal({
							title: '图片加载超时',
							content: "网络异常,请稍后重试",
							success(res) {
								if (res.confirm) {
									self.downloadAvatarAndPaintAll(imageUrl);
								} else if (res.cancel) {
									console.log('用户点击取消');
								}
							}
						})
					}
				})
三.在下载的时候,会遇到一个问题,下载失败,刚开始我以为是因为获取头像的接口有问题,但是我发现在微信开发者工具里,不报错只有在发布正式版或者测试版的时候,获取头像失败,于是我想到了一个问题应该是微信小程序设置不能透过这个域名,大概会出现以下几个问题
①刚开始获取的微信的头像的路径是https://thirdwx.qlogo.cn,这个不是微信官方域名,所以我们要替换为https://wx.qlogo.cn

例如:

代码语言:javascript复制
userInfo.avatarUrl = result.detail.avatarUrl.replace("132", "0").replace('https://thirdwx.qlogo.cn', 'https://wx.qlogo.cn');
②其次,要配置微信小程序的下载路径域名地址。

进入微信小程序管理后台,选择“开发管理——》开发设置“在开发设置下的服务器域名中设置downloadFile合法域名

设置为合法域名后,重新发布小程序就可以了

0 人点赞