当前位置:   article > 正文

uniapp微信小程序最新登录获取头像、昵称_uniapp获取微信用户头像信息

uniapp获取微信用户头像信息

由于微信官方wx.getUserProfile 接口的回收,以后不能通过wx.getUserProfile来返回用户信息,只能自己手动获取用户头像和昵称的信息。

 针对此问题有以下解决方法:

在点击登录时用一个弹窗设置头像和昵称,如图:

 使用button设置open-type="chooseAvatar"来获取头像,至于button更多的效果,可以去uniapp官网或者微信微信开放文档去详查,当你点击button按钮时会弹出选择框让你选择自己头像或者自己设置头像,如图:

当你选择头像后就会触发在button上面的回调,在这里面你可以拿到你本地的图片地址,然后使用图片上传接口传到服务器上面去,如图:

 到这里头像就设置成功了,如图:

 接下来就是设置昵称。这里我们使用官方自带input输入框里的type="nickname"属性来进行微信昵称的一个获取与设置,如图:

 当我们鼠标点击输入框时就会自动获取自己的微信昵称,如图:

 如果不想使用微信昵称也可以自己设置,通过input的blur事件来获取到自己输入的昵称,如图

最后点击确认,发送请求,把数据传给后端,如图:

 html代码:

  1. <!-- 设置头像和昵称 -->
  2. <u-popup :show="showtx" mode="center" @close="showtx=false" round="10rpx">
  3. <view class="w100 fx-box">
  4. <view class="f-32 color-01 fw-700 flex-c-c">
  5. 设置头像和昵称
  6. </view>
  7. <view class="m-t-40">
  8. <view class="flex w00">
  9. <view class="flex-al-c w100 f-28">
  10. <view class="w30 ">设置头像</view>
  11. <view class="w70">
  12. <button open-type="chooseAvatar" @chooseavatar='onChooseAvatar' class="f-24 wh-106 color-01 m-t-10 "
  13. style="padding: 0;margin: 0;">
  14. <image class="wh-106" :src="url" mode=""></image>
  15. </button>
  16. </view>
  17. </view>
  18. </view>
  19. <view class="flex-c-c flex-column m-t-40">
  20. <view class="flex-al-c w100 f-28">
  21. <view class="w30 ">设置昵称</view>
  22. <input class="w70" type="nickname" @blur="blurname" v-model="username" placeholder="请输入昵称">
  23. </view>
  24. </button>
  25. </view>
  26. </view>
  27. <view class="flex-c-c" @click='conserved'>
  28. <view style="background: #0081f5;width: 300rpx;color: #fff;" class="padd-12 bor-r-10 flex-c-c m-t-40">设置</view>
  29. </view>
  30. </view>
  31. </u-popup>

 js代码:

  1. // 更换头像
  2. async onChooseAvatar(e) {
  3. console.log(e);
  4. uni.showToast({
  5. title: '成功',
  6. duration: 1000
  7. })
  8. let a = uni.uploadFile({
  9. url: 'https://',
  10. filePath: e.detail.avatarUrl,
  11. name: 'file',
  12. formData: {
  13. user: 'test'
  14. },
  15. success: (res) => {
  16. this.url = JSON.parse(res.data).data.url
  17. console.log(this.url)
  18. }
  19. })
  20. },
  21. // 获取昵称
  22. blurname(e) {
  23. console.log(e);
  24. this.username = e.detail.value
  25. },
  26. // 修改头像和昵称
  27. async conserved() {
  28. const that = this
  29. //发送请求
  30. const { code } = await this.$api.updateUserInfo({
  31. avatarUrl: this.url,
  32. nickName: this.username,
  33. })
  34. if (code == 200) {
  35. app.prompt('设置成功')
  36. this.showtx = false
  37. this.username = ''
  38. this.url = ''
  39. setTimeout(function () {
  40. that.isShow = true
  41. }, 500)
  42. }
  43. },

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/743498
推荐阅读