小程序获取微信头像与昵称

通过 button 组件 open-type 的值设置为 chooseAvatar,当用户选择需要使用的头像之后,可以通过 bindchooseavatar 事件回调获取到头像信息的临时路径。选择使用微信头像或者从相册选择以及拍照返回的都是临时路径(注意临时路径不能作为真正的路径存在数据库用户信息中)

需要将 input 组件 type 的值设置为 nickname,当用户在此input进行输入时,键盘上方会展示微信昵称。

从基础库2.24.4版本起,在onBlur 事件触发时,微信将异步对用户输入的内容进行安全监测,若未通过安全监测,微信将清空用户输入的内容,建议开发者通过 form 中form-type 为submit 的button 组件收集用户输入的内容。

 官方文档:头像昵称填写 | 微信开放文档

将onChooseAvatar返回的临时链接通过wx.uploadFile()上传到自己的服务器,这个时候要注意:服务器返回的地址最好定义一个新的字段赋值,我自己尝试的赋给表单接收的变量,这个变量用在页面上,正式版渲染不出来

that.setData({
     cover:data.data,   // 页面可以渲染出来
     'form.cover': data.data,  // 页面渲染不出来
});
 

小程序发布时如果选择了收集用户隐私,那么小程序后台->设置->服务内容声明->隐私服务协议。 隐私协议里边要提现用于******,收集用户的昵称,头像等

 

 

 

 

<button open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar"></button>

onChooseAvatar(e) {
  const {avatarUrl} = e.detail
  console.log("avatarUrl", avatarUrl)
  let that = this
  that.upload_file('上传文件接口',avatarUrl);
},

upload_file: function (url, filePath) {
    var that = this;
    wx.uploadFile({
      url: url, //后台处理接口
      filePath: filePath,
      name: 'file',
      header: {
        'content-type': 'multipart/form-data',
        'Authorization': 'Bearer ' + wx.getStorageSync("authorization"),
      }, // 设置请求的 header
      success: function (res) {
        console.log(res);
        var data = JSON.parse(res.data);
        that.setData({
          cover:data.data,
          'form.cover': data.data,
        });
        wx.showToast({
          title: '上传成功',
          icon: 'success',
          duration: 2000
        })
      },
      fail: function (res) {
        console.log('res========>',res);
      }
    })

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值