微信小程序获取用户头像昵称接口经过了调整,具体可参考小程序用户头像昵称获取规则调整公告 | 微信开放社区,
接下来要讲到获取头像昵称的新规则头像昵称填写 | 微信开放文档
获取用户头像
WXML
首先,在wxml页面上添加一个button
组件,设置open-type
属性为chooseAvatar
,再添加一个触发事件bindchooseavatar
,代码如下:
<button open-type="chooseAvatar" bindchooseavatar="bindchooseavatar">
<image src="{{avatarUrl}}"></image>
</button>
JS
获取头像本地地址之后需要通过wx.uploadFile上传到服务器获取头像网络地址,最后调用本地接口将获取的地址传到本地服务器中
onChooseAvatar(e) {
console.log(e)
let that = this
const {
avatarUrl
} = e.detail
that.setData({
avatar: avatarUrl
})
const formData = {
user_id:app.SalesBosData.userInfoId,
pic_file:avatarUrl
}
wx.uploadFile({
url: 'https://xxxxxxxxx/api/common/upload_sell_cabinet_user_pic',
filePath: e.detail.avatarUrl, //小程序的本地路径
formData:formData,
name: 'pic_file',
header: {
"Authorization":app.SalesBosData.userInfo.token,
"Content-Type": "multipart/form-data",
},
success: function (data) {
var aa = JSON.parse(data.data)
if (aa.code == 0) {
wx.hideLoading()
app.SalesBosData.userInfo.wxAvatar=aa.data.pic_url
// that.setData({
// avatar: app.SalesBosData.userInfo.wxAvatar
// })
wx.showToast({
title: '上传成功',
icon: 'none',
duration: 2000
})
var res=wx.SalesBoxRequestAsync({
url: '/api/sell/user/upd_info/',
method: 'post',
data: {
user_info_id:app.SalesBosData.userInfo.userInfoId,
wx_avatar:aa.data.pic_url,
wx_name:app.SalesBosData.userInfo.wxName
}
})
} else {
wx.showToast({
title: aa.msg,
icon: "none"
})
}
},
fail: function (data) {
console.log(data);
wx.hideLoading()
}
})
},
获取用户昵称:
建议使用表单form
来收集用户输入的昵称。
<input wx:if="{{isshow==true}}" type="nickname" class="weui-input" placeholder="请输入昵称" bindinput='Niche' model:value="{{userNick}}"/>
js部分:
Niche (e) {
this.setData({
userNick:e.detail.value
})
},