微信小程序头像保存方法,适合评论类保存,防止头像链接失效方法(已解决)
之前做的项目需要保存用户头像,需要解决的问题有以下
1.如果使用open-data里的数据则只能用于给当前用户展示自己的头像,无法用于评论区给全部用户显示头像
2.如果每次进入小程序使用wx.getUserInfo()获取头像后再更新数据,如果你的评论内容多了,评论里保存的头像链接每次都更新将会拖慢运行速度,而且操作起来非常麻烦
3.评论里的用户头像需要不会过期可以一直显示,即使用户换了头像也仍然有效
4.如果不获取微信头像,用户进入小程序还需要提交一个图片做完头像非常繁琐
我的解决办法是在用户第一进入小程序的时候使用wx.getUserInfo()获取用户头像数据,然后将用户头像的url转换为图片格式保存在服务器,再将服务器的图片url保存再用户数据里,这样即使用户换了头像图片链接也不会失效,再提供更换头像功能就解决了。下面上代码
getUserInfo(e){var that =thisthis.setData({getinfo: false})wx.getSetting({success:function(res){if(res.authSetting['scope.userInfo']){wx.getUserInfo({success:function(res2){var avatarUrl = res2.userInfo.avatarUrlwx.getImageInfo({src: avatarUrl,success:function(res3){var filePath = res3.pathvar cloudPath = 'avatar/' + new Date().getTime() + that.data.openid + res3.path.match(/\.[^.]+?$/)[0]wx.cloud.uploadFile({cloudPath,filePath,complete: res4 => {db.collection('user').doc(that.data.openid).update({data:{avatarUrl:res4.fileID}}).then(res=>{wx.redirectTo({url: '../login/login',})})} })}})}})}}})},
这里的代码写的很不好,有回调地狱,但是当时的确为了解决这个问题想了很久,就很急着实现了,但是大概的方法就是这样,我使用的是微信小程序云开发。我在用户第一次进入小程序的时候弹出一个授权框,如果授权了就获得头像,如果没有拒绝了就无法打开个人页面,如果打开个人页面会弹出授权框,拒绝就返回首页,接受就能浏览。
如果还有什么好的解决方法希望大家在评论区告诉我,如果这个思路可以解决你的问题不妨给我点个赞吧!
微信小程序头像保存方法,适合评论类保存,防止头像链接失效方法(已解决)相关推荐
- 微信小程序云开发数据库update函数更新不了数据的问题(已解决)
最近在做一个毕业项目的小程序,数据库是微信小程序自带的,在更新数据时发现一只更新不了,查了好久说是权限问题叫我使用云函数,我也是用了但是没有用.update函数调用成功单返回的却是0行记录被更新.但我 ...
- 微信小程序-仿朋友圈点赞评论操作面板
目录 微信小程序-仿朋友圈点赞评论操作面板 一.效果 二.实现 1.wxml实现 2.js实现 3.wxss实现 三.记录 1.dataset使用 微信小程序-仿朋友圈点赞评论操作面板 一.效果 二. ...
- linux带头像通讯录软件,这款微信小程序,拯救空白了很久的通讯录头像!
原标题:这款微信小程序,拯救空白了很久的通讯录头像! 一直以来,智能手机用户都被一个不大不小的问题困惑着--无论 iOS 还是 Android 平台,手机通讯录早已经支持了自定义好友头像的功能.然而由 ...
- 微信小程序利用云开发实现评论功能
微信小程序利用云开发实现评论功能 如果喜欢可以给我一个关注. 一.微信小程序,评论功能的实现. 首先我们先布局,一个文章或者是商品,底下是评论, <!-- 商品详情 --> <vie ...
- 微信小程序APP(商超营销类)经验总结
项目介绍 这是一款主打门店营销的小程序.包括首页.门店.营销.个人设置.登录.数据统计展示.营销设置等. 本来要独立完成整个项目,包括前后端一套的,有些意外因素,项目临时收尾(说明:只完成了前端的部分 ...
- 基于微信小程序的相关管理系统设计与实现开题报告的思路及方法
今天主要谈一下计算机科学相关专业同学的选题的思路及方法. 毕业设计选题选没选好就像各位走出校园踏进社会的一道坎,跨过这道坎是很关键的,而有些同学却犯了难,把本应该简单的问题复杂化了.为什么这样讲呢?之 ...
- EAUML日拱一卒-微信小程序实战:位置闹铃 (17)-保存和取出设定信息
设定了监控点之后,小程序会取得最新位置,判断各个监控点的到达,离开情况并播放提示音.很多情况下,用户会希望这些信息可以保存起来以便将来使用. 这就是今天的主题:在小程序中保存设定信息. API 位置闹 ...
- 微信小程序第四篇:生成图片并保存到手机相册
系列文章传送门: 微信小程序第一篇:自定义组件详解 微信小程序第二篇:七种主流通信方法详解 微信小程序第三篇:获取页面节点信息 目录 一.封装分享组件 二.定义用户授权方法 三.调用流程 首先我们看一 ...
- 【微信小程序】实现手写电子签名并保存为图片功能
需求概述: 微信小程序的一个功能,类似于画板,用于电子签名,要求有一键清空画板和保存功能. 实现思路: 微信开发文档中的Canvas组件 微信画布API中的 wx.createCanvasContex ...
最新文章
- 使用WinPcap和libpcap类库读写pcap文件(001)开发环境配置
- MySQL优化篇:锁机制
- matlab索引程序,Matlab索引到逻辑索引
- thinkphp学习笔记7—多层MVC
- 线程知识-ThreadLocal使用详解
- [SlickEdit] SlickEdit支持目录别名FTP控件更新
- 用户界面的一些好的设计理念
- excel去除html格式化,带有标签的HTML文本,用于在Excel单元格中格式化文本
- 使用httpclient发送get请求
- 10参数_荣耀V40屏幕参数:10亿色视网膜级超感屏
- 相机姿态估计(五)--DLS
- Vue之.sync 修饰符详解
- Python走心的42个代码例子
- 不良事件总结怎么写_年度不良事件总结
- 第六次作业——潘芊睿
- 企业网站用什么服务器操作系统?
- 详解TP-Link路由器设置(图解)
- mmorpg小地图系统制作
- Linux——详解共享内存shared memory
- 《从零开始:机器学习的数学原理和算法实践》chap1