uniapp 微信小程序头像昵称修改

 一、规则修改

由于小程序规则的修改,原本uniapp官网自带的uni.getUserProfile的方法已经被收回了,使用不了,具体公告链接如下:小程序用户头像昵称获取规则调整公告 | 微信开放社区 (qq.com)icon-default.png?t=N7T8https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01

规则公告

 修改为了头像昵称填写能力,官网如下:小程序用户头像昵称获取规则调整公告 | 微信开放社区 (qq.com)icon-default.png?t=N7T8https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01

二、uniapp写法

 根据uniapp的写法,可参考一下样式及代码,这里我区分为了avataruserInfo.avatar,userInfo.avatar为后端数据获取拿到的用户信息,而avatar则是我更改头像后进行了一个本地存储,点击了确定之后才将更新后的头像传给后端并更新userInfo的数据,昵称则是同理,昵称用的是value进行初始化显示,而填写或者获取到的数据我都存在了本地的nickname字段中,点击确定后才进行更新。

样式

 

<view class="content">
	<view class="titletxt">修改头像、昵称</view>
	<view class="lbox1">
		<text>头像</text>
		<button class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="onChooseAvatar" slot="right">
			<image class="avatar" :src="avatar?avatar:userInfo.avatar"></image>
		</button>
	</view>
	<view class="lbox1">
		<text>昵称</text>
		<input type="nickname" class="weui-input" :value="userInfo.nickname" @blur="userNameInput"
						placeholder="请输入昵称" />
	</view>
	<view class="btnbox">
		<view class="nobtn">取消</view>
		<view class="surebtn">确定</view>
	</view>
</view>
onChooseAvatar(e) {
	this.avatar = e.detail.avatarUrl;
},
//获取昵称输入内容
userNameInput(e) {
	this.nickname = e.detail.value
},

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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等参数,同时需要在小程序后台配置好登录授权域名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值