获取微信头像和昵称

微信小程序获取用户头像昵称接口经过了调整,具体可参考小程序用户头像昵称获取规则调整公告 | 微信开放社区

接下来要讲到获取头像昵称的新规则头像昵称填写 | 微信开放文档

获取用户头像

WXML

首先,在wxml页面上添加一个button组件,设置open-type属性为chooseAvatar,再添加一个触发事件bindchooseavatar,代码如下:

  <button open-type="chooseAvatar" bindchooseavatar="bindchooseavatar">
    <image src="{{avatarUrl}}"></image>
  </button>

JS

  获取头像本地地址之后需要通过wx.uploadFile上传到服务器获取头像网络地址,最后调用本地接口将获取的地址传到本地服务器中

onChooseAvatar(e) {
		console.log(e)
    let that = this
    const {
      avatarUrl
    } = e.detail
    that.setData({
      avatar: avatarUrl
    })
    const formData = {
      user_id:app.SalesBosData.userInfoId,
      pic_file:avatarUrl
    }
    wx.uploadFile({
      url: 'https://xxxxxxxxx/api/common/upload_sell_cabinet_user_pic',
      filePath: e.detail.avatarUrl,      //小程序的本地路径
      formData:formData,              
      name: 'pic_file',
      header: {
        "Authorization":app.SalesBosData.userInfo.token,
        "Content-Type": "multipart/form-data",
      },
      success: function (data) {
        var aa = JSON.parse(data.data)
        if (aa.code == 0) {
          wx.hideLoading()
          app.SalesBosData.userInfo.wxAvatar=aa.data.pic_url
          // that.setData({
          //   avatar: app.SalesBosData.userInfo.wxAvatar
          // })
          wx.showToast({
            title: '上传成功',
            icon: 'none',
            duration: 2000
          })
        var res=wx.SalesBoxRequestAsync({
          url: '/api/sell/user/upd_info/',
          method: 'post',
          data: {
            user_info_id:app.SalesBosData.userInfo.userInfoId,
            wx_avatar:aa.data.pic_url,
            wx_name:app.SalesBosData.userInfo.wxName
          }
        })
        } else {
          wx.showToast({
            title: aa.msg,
            icon: "none"
          })
        }
      },

      fail: function (data) {
        console.log(data);
        wx.hideLoading()
      }

    })
    
  },

获取用户昵称:

建议使用表单form来收集用户输入的昵称

 <input wx:if="{{isshow==true}}" type="nickname" class="weui-input" placeholder="请输入昵称"  bindinput='Niche' model:value="{{userNick}}"/>

js部分:

Niche (e) {
    this.setData({
      userNick:e.detail.value
    })
  },
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值