首页 > 编程语言 >unicloud持久化小程序获取的临时微信头像url路径(教程)

unicloud持久化小程序获取的临时微信头像url路径(教程)

时间:2024-06-15 13:29:21浏览次数:28  
标签:头像 url 微信 路径 化小 unicloud 获取 progressEvent

自 2022 年 10 月 25 日后,用户头像昵称获取规则作了调整:getUserInfo 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。

如业务需获取用户头像昵称,可以使用「头像昵称填写能力

头像选择

需要将 button 组件 open-type 的值设置为 chooseAvatar,当用户选择需要使用的头像之后,可以通过 bindchooseavatar 事件回调获取到头像信息的临时路径。

<button class="avatarBtn" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">

	 onChooseAvatar(e) {
           // 选中的微信头像或者相册图片的临时url路径
	       console.log(e.detail.avatarUrl);
     }

 这里获取到的url地址是微信返回的一个临时的url路径,不能直接交给服务器存到数据库里面,因为这个url会过期,本次获取了能展示出来,但是清理缓存再次重新登录,获取用户数据的时候就会报错,打印出来的临时url地址无法正常访问~所以一开始选中头像的时候我们可以把微信返回的头像的临时url路径上传到unicloud云存储空间,代码如下:

详细文档请进这里边看:概述 | uniCloud (dcloud.net.cn) 


      uniCloud.uploadFile({
        filePath: filePath,
        cloudPath: 'a.jpg',
        onUploadProgress: function(progressEvent) {
          console.log(progressEvent);
          var percentCompleted = Math.round(
            (progressEvent.loaded * 100) / progressEvent.total
          );
        },
        success: function(res) {
          //这里返回的fileID就是上传到云存储空间之后返回的上传的头像文件路径
          console.log(res.fileID)
}
})

fileID中的url路径直接存到云数据库里面作为用户表的头像图片url路径

这样重复登录的时候就可以正常渲染头像啦!

标签:头像,url,微信,路径,化小,unicloud,获取,progressEvent
From: https://blog.csdn.net/qq_48539582/article/details/139666891

相关文章