uniapp 小程序用户信息接口被收回暂行解决方法

https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01?page=4

在这里插入图片描述
官方文档说了 接口将被收回,新发布小程序的接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”

代码如下:

<view class="container" v-if="!userShow">
			<image src="@/static/images/index/logo.png" mode=""></image>
			<view class="title">xx社区</view>
			<button class="login_btn" type="Primary" open-type="chooseAvatar" @chooseavatar="mpGetUserInfo">授权进入xx社区</button>
		</view>
		<view class="container" v-else>
			<image :src="userInfo.avatarUrl" mode=""></image>
			<input @blur="inputBlur"  class="title"  type="nickname" placeholder="请输入昵称"/>
			<button class="login_btn" type="Primary" open-type="getPhoneNumber"
				@getphonenumber="getPhoneNumber">微信用户一键登录</button>
		</view>

主要是这两个地方:
一、
获取用户头像回调 open-type=“chooseAvatar”
获取用户头像,可以从@chooseavatar回调中获取到头像信息 微信小程序2.21.2版本+

<button class="login_btn" type="Primary" open-type="chooseAvatar" @chooseavatar="mpGetUserInfo">授权进入xx社区</button>

二、
昵称变为输入触发获取
nickname 昵称输入键盘

<input @blur="inputBlur"  class="title"  type="nickname" placeholder="请输入昵称"/>

三、
获取用户头像

mpGetUserInfo(e) {
				var that = this;
				if(!that.pitchType) {
					uni.showToast({
						title: '请阅读并勾选底部协议',
						icon: 'none'
					})
					return
				}
				console.log(e, '用户信息result')
				that.userInfo = e.detail  // 新规则只能获取头像,昵称需要另外获取
				that.userShow = true
				that.$store.commit('setUserInfo', that.userInfo) // vuex更新数据
			},

在这里插入图片描述
在这里插入图片描述

四、
获取用户昵称

			inputBlur(e) {
				let userInfo = this.$store.state.UserInfo
				userInfo.nickName = e.target.value
				this.$store.commit('setUserInfo', userInfo)
			},

这里有个注意地方:微信开发者工具不显示value, 真机是正常显示的!

微信开发者工具:
在这里插入图片描述
真机调试:
在这里插入图片描述
在这里插入图片描述

最终效果
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值