uniapp onChooseAvatar,uniapp微信头像昵称填写,uniapp chooseAvatar,does not have a method “onChooseAvatar“

开放能力 /用户信息 /获取头像昵称

头像昵称填写

从基础库 2.21.2 开始支持

当小程序需要让用户完善个人资料时,可以通过微信提供的头像昵称填写能力快速完善。

使用方法

头像选择

需要将 button 组件 open-type 的值设置为 chooseAvatar,当用户选择需要使用的头像之后,可以通过 bindchooseavatar 事件回调获取到获取到头像信息的临时路径。

代码示例

在开发者工具中预览效果

<button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
  <image class="avatar" src="{{avatarUrl}}"></image>
</button> 
<input type="nickname" class="weui-input" placeholder="请输入昵称"/>

把上面的修改为

 

		<button class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
			<image class="avatar" :src="avatarUrl"></image>
		</button>
		<input type="nickname" class="weui-input" placeholder="请输入昵称" />

		data() {
			return {
				avatarUrl: 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0',
			}
		},
		methods: {
			onChooseAvatar(e) {
				this.avatarUrl = e.detail.avatarUrl

			},
		}

头像在微信开发工具有效果,昵称在真机才有效果。

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
Uniapp微信小程序中,用户可以通过微信授权登录来获取用户的头像昵称信息。具体实现步骤如下: 1. 在小程序中添加一个按钮,用于触发微信授权登录功能。 ```html <view @tap="login"> 微信登录 </view> ``` 2. 在login方法中,调用微信登录接口,获取用户的微信授权登录信息。 ```javascript methods: { login() { uni.login({ provider: 'weixin', success: res => { console.log(res.code) // 获取用户登录凭证code // 调用接口获取用户头像昵称信息 this.getUserInfo(res.code) } }) }, getUserInfo(code) { uni.request({ url: 'https://your-api-url.com/getUserInfo', method: 'POST', data: { code: code }, success: res => { console.log(res.data) // 获取用户头像昵称信息 // 将用户头像昵称信息显示在页面上 this.avatar = res.data.avatar this.nickname = res.data.nickname } }) } } ``` 3. 在服务器端接收用户登录凭证code,并调用微信接口获取用户的头像昵称信息。 ```javascript const request = require('request') const APPID = 'your-appid' const SECRET = 'your-secret' exports.getUserInfo = async (event, context) => { const code = event.code const url = `https://api.weixin.qq.com/sns/jscode2session?appid=${APPID}&secret=${SECRET}&js_code=${code}&grant_type=authorization_code` const res = await new Promise((resolve, reject) => { request(url, (error, response, body) => { if (!error && response.statusCode == 200) { resolve(body) } else { reject(error) } }) }) const openid = JSON.parse(res).openid const access_token = JSON.parse(res).access_token const user_info_url = `https://api.weixin.qq.com/sns/userinfo?access_token=${access_token}&openid=${openid}&lang=zh_CN` const user_info_res = await new Promise((resolve, reject) => { request(user_info_url, (error, response, body) => { if (!error && response.statusCode == 200) { resolve(body) } else { reject(error) } }) }) const user_info = JSON.parse(user_info_res) return { avatar: user_info.headimgurl, nickname: user_info.nickname } } ``` 4. 将获取到的用户头像昵称信息显示在页面上。 ```html <view> <image :src="avatar"></image> <text>{{nickname}}</text> </view> ``` 需要注意的是,微信登录需要在微信开放平台注册并获取到APPID和SECRET等参数,同时需要在小程序后台配置好登录授权域名。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值