小程序最新获取用户头像昵称

目录

一、前言

二、遇到的问题

三、效果页面

四、代码实现


记录:

一、前言

 昨天打开编辑器后,发现小程序用户的头像与昵称都给变默认了,就去网上搜了一下:

小程序用户头像昵称获取规则调整公告 | 微信开放社区   

我去,居然给改了,之前一直按照接口的方法来写的,还有很多页面要用到用户头像昵称信息。

没办法,只有去改了...... 

二、遇到的问题

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

变成填写这样了:直接用文档给的代码的话,开始用的很爽,但当我复制到开发者工具上后,发现了一些问题:

  •  原代码样式用的 WeUI,我没有用。

  • input 直接填写微信名时,获取不到昵称信息。

  • 获取的头像地址是临时的!

这样搞就有点麻烦了,最后用 form 来收集头像昵称信息,对于头像地址的临时性,存在缓存好像可以用,当然最好的办法就是直接将用户头像、昵称传的自己的服务器上。

三、效果页面

效果页面:

四、代码实现

 代码:

  • WXML
<view class="t1">
  <text>欢迎~~</text>
  <view class="t2">
    <text>点击完善头像、昵称信息</text>
  </view>
</view>


<form bindsubmit="login">

  <button class="avatar-wrapper"  plain="true"  open-type="chooseAvatar" name='avatarUrl' bind:chooseavatar="onChooseAvatar">
    <image class="avatar" src="{{avatarUrl}}"></image>
  </button>
  <view class="ttt">
    <text class="nichen">昵称:</text>
    <input type="nickname" name='nickName' class="weui-input" placeholder="请输入昵称" />
  </view>

  <button form-type="submit" class="sure">点击确认</button>

</form>


<view class="statement">
  <checkbox bindtap="select" value="cb" />
  <text bindtap="gotoBook">已阅:用户条款&&隐私策略</text>
</view>
  •  WXSS
 
/* 去掉button边框 */
.avatar-wrapper {
  border: none !important;
  margin-top: 40rpx;
}    

.avatar-wrapper {
  background-color: #ffffff;

}
.weui-input {
  color: #ffffff;
  margin-left: 60rpx;
  text-align: left;

}

.avatar {
  width: 100rpx;
  height: 100rpx;
  display: flex;
  margin: 0 auto;

}
.ttt {
  margin: 20rpx;

}

.nichen {
  float: left;
  color: white;
  font-weight: bold;
  margin-right: 40rpx;
}

.t1 {
  margin-left: 20rpx;
  margin-top: 450rpx;
  font-weight: bold;
  font-size: 42rpx;
  margin-bottom: 30rpx;
  color: white;
}
.t2 {
  margin-top: 20rpx;
}
.t2 text {
  opacity: 0.8;
  font-weight: lighter;
  color: white;
  font-size: 30rpx;
}

page {
  background-image: url('https://636c-cloud1-7g1a0u3je2bf6f8d-1314056523.tcb.qcloud.la/%E7%A7%BB%E9%80%9A%E5%85%A8%E6%99%AF%E5%9B%BE/pexels-photo-13717143.jpeg?sign=492505ce1f5432ed0164a8eaf41c656d&t=1668507676') ;
  background-size: cover;
}

.sure {
  margin-top: 60rpx;
  width: 70%;
}

.statement {
  color: #ffffff;
  text-align: center;
  margin-top: 600rpx;
  font-size: 26rpx;
  align-content: center;
}

.statement text:nth-child(2) {
  margin-left: 15rpx;
}
  • JSON
{
  "usingComponents": {},
  "navigationStyle": "custom",
  "enablePullDownRefresh": false
}
  • JS
const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    avatarUrl: defaultAvatarUrl,
    check: false,
  },

  // 选择头像 
  onChooseAvatar(e) {
    const {
      avatarUrl
    } = e.detail
    this.setData({
      avatarUrl,
    })
  },
  // 跳转到免责声明
  gotoBook() {
    wx.navigateTo({
      url: '/pages/agreementS/agreementS',
    })
  },
  // 勾选阅读 协议
  select() {
    this.setData({
      check: !this.data.check,
    })
    console.log(this.data.check)
  },
  // 登录   确认信息修改, 跳转到我的页面
  login(e) {
    if (this.data.check == false) {
      wx.showToast({
        title: '请勾选已阅读用户条款',
        icon: "none"
      })
      return;
    } else if (this.data.avatarUrl == defaultAvatarUrl) {
      wx.showToast({
        title: '请点击头像进行修改',
        icon: "none"
      })
      return;
    } else if (e.detail.value.nickName == null || e.detail.value.nickName == '') {
      wx.showToast({
        title: '请修改昵称',
        icon: "none"
      })
      return;
    }

    console.log('提交的数据:', e.detail.value.nickName)
    let avatarUrl = {
      avatarUrl: this.data.avatarUrl,
      nickName: e.detail.value.nickName
    }
    wx.setStorageSync('key', avatarUrl)

    wx.reLaunch({
      url: '/pages/my/my',
    })

  },

})

这里我是把用户的头像昵称信息给缓存下来的,直接src用头像地址会失效,但我缓存的过了一个小时都还能用,就没有传到服务器,主要是因为我其他页面都是直接用的缓存来展示用户的头像与昵称的,偷个懒咯。后面不行的话,我再来改改~~~

 拜拜~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抄代码抄错的小牛马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值