当前位置:   article > 正文

微信小程序头像修改功能实现详解(新版)_微信小程序选择头像

微信小程序选择头像

引言

在小程序开发中,允许用户自定义头像和昵称是一项常见的需求。当小程序需要让用户完善个人资料时,可以通过微信提供的头像修改能力快速完善。本文将通过一个完整的示例,展示如何在小程序中实现这一功能,包括选择头像、上传到服务器以及更新用户信息。

前提条件

  • 微信开发者工具最新版
  • 服务器接口,用于接收上传的头像
  • 用户信息,包括access_token等

头像选择效果图

步骤一:页面布局

首先,在小程序的页面中添加一个按钮,用于触发头像选择。

  1. <button style="border:0;" class="mine-right" plain open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
  2. <image :src="avatarUrl" class="headimg"></image>
  3. </button>

这里的open-type="chooseAvatar"允许用户选择头像,@chooseavatar是触发选择头像后的事件处理函数。

步骤二:初始化数据

在页面的data函数中初始化必要的数据。

  1. data() {
  2. return {
  3. serverUrl: this.SERVE_URL, // 服务器地址
  4. avatarUrl: null, // 用户头像链接
  5. };
  6. },

步骤三:页面显示时获取用户信息

onShow生命周期函数中,获取并设置用户信息。

  1. onShow: function() {
  2. this.userInfo = this.loginInfo; // 获取登录信息
  3. this.getUser(); // 获取用户信息
  4. // 判断用户是否有头像,如果没有则设置默认头像
  5. if(this.userInfo?.avatar == undefined || this.userInfo.avatar == '') {
  6. this.avatarUrl = 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg';
  7. } else {
  8. this.avatarUrl = this.userInfo.avatar;
  9. }
  10. },

步骤四:处理头像选择事件

当用户选择头像后,需要上传到服务器并更新用户信息。

  1. onChooseAvatar(e) {
  2. const { avatarUrl } = e.detail; // 获取用户选择的头像URL
  3. uni.uploadFile({
  4. url: `${this.serverUrl}/blade-resource/oss/endpoint/put-file`, // 上传接口地址
  5. filePath: avatarUrl, // 用户选择的头像文件路径
  6. name: 'file',
  7. formData: {},
  8. header: {
  9. 'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0',
  10. "Blade-Auth": "bearer " + this.userInfo.access_token,
  11. 'content-type':'multipart/form-data'
  12. },
  13. success: (uploadFileRes) => {
  14. const data = JSON.parse(uploadFileRes.data);
  15. const { link } = data.data; // 服务器返回的头像链接
  16. this.avatarUrl = link; // 更新本地头像链接
  17. this.userInfo.avatar = this.avatarUrl; // 更新用户信息中的头像链接
  18. // 更新用户信息到服务器
  19. updateInfo({id: this.userInfo.user_id, avatar: this.avatarUrl}).then((res) => {
  20. console.log(res, '更改头像');
  21. });
  22. }
  23. });
  24. },

总结

通过上述步骤,我们实现了小程序中用户头像修改功能。这不仅提升了用户体验,也使得小程序更加个性化。在实现过程中,请注意处理好用户数据的安全性和隐私保护。

希望这篇指南对你有所帮助。如果你有任何问题或需要进一步的帮助,请随时联系我们。祝你在小程序开发的道路上越走越远!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/790342
推荐阅读
相关标签
  

闽ICP备14008679号