当前位置: 首页 > news >正文

小程序获取用户头像大图 小程序获取用户头像模糊的问题 小程序自定义转发头像模糊 小程序自定义转发分享大图...

  在开发小程序的时候,大家肯定有做过自定义转发分享图片的。我们现在做了一个名片小程序,需要做的一个功能就是,用户在转发分享自己的名片,在微信里显示的小程序缩略图,我们使用的是用户的微信头像,但是发现一个问题,就是缩略图一直很模糊。转发出去以后就跟打了马赛克一样。为什么会这样?能获取更大的图片吗? 能否获取到用户的头像大图呢?

 我们来看看微信的API接口文档是怎么说的。

 下面这个是微信官方的代码,使用这个来获取用户的头像的 

Page({
  data: {
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },
  onLoad: function() {
    // 查看是否授权
    wx.getSetting({
      success: function(res){
        if (res.authSetting['scope.userInfo']) {
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称
          wx.getUserInfo({
            success: function(res) {
              console.log(res.userInfo)
            }
          })
        }
      }
    })
  },
  bindGetUserInfo: function(e) {
    console.log(e.detail.userInfo)
  }


获取到了以后,头像默认是132*132,这张图片用来做自定义转发分享图片,分享出去以后图片就明显变模糊了。所以我们就要调整代码了。

 

userInfo参数说明:

avatarUrl String 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表132*132正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。

   这段话要仔细看,没仔细看,还真不知道微信官方说的是什么意思。尤其是他说0代表132*132,这套路太深了。

  由于没找到微信的demo头像,又为了不侵犯别人的肖像,那么就只能牺牲下自己的色相了,好吧就用我的头像了,看到没有,这张图片点击以后,图片模糊,如果作为分享图,分享出去一定也是模糊的。顾客一定臭骂你一顿,game over了 

  见证奇迹的时刻来了,怎么获取用户的大图呢?最后这个尾数132,你直接替换为0就可以了,仔细看好了

https://wx.qlogo.cn/mmopen/vi_32/wibq8B2t2y4Hx6d60nhskKWv4Vuhk2YWou2xFQArWbuoS3tdwF1jAaicwtLjiasSLEtOsibfuE6ickevcpepgqYh1lw/132

 

如下,这个地址的最后尾数132被替换为0,就自动获取大图了。

https://wx.qlogo.cn/mmopen/vi_32/wibq8B2t2y4Hx6d60nhskKWv4Vuhk2YWou2xFQArWbuoS3tdwF1jAaicwtLjiasSLEtOsibfuE6ickevcpepgqYh1lw/0

 然后将这个图片放入到下面代码里,做小程序的自定义转发分享缩略图即可。

Page({
  onShareAppMessage: function (res) {
    if (res.from === 'button') {
      // 来自页面内转发按钮
      console.log(res.target)
    }
    return {
      title: '自定义转发标题',
      path: '/page/xinweiyun/com/user?id=888',
    imageUrl:'这里输入头像的地址就可以了'
} } })

  注意的是,在用户获取授权的时候,如果不是有特殊需要,直接使用132的头像大小是足够的,你需要高清大图的时候,再将132换为0即可

  好了,今天就给大家分享到这里了。我,秋峰,phper、java后端开发,目前自创业,做项目系统开发,后端加小程序前端结合,  今天就给大家分享到这里,希望对大家有所帮助。欢迎交流  大家相互学习 共同提高 我的 微信号:qiufeng2999

 

转载于:https://www.cnblogs.com/xinweiyun/p/9361095.html

相关文章:

  • mysql---表操作之创建表
  • redux-form V.7.4.2学习笔记(六)表单同步校验技术
  • 如何使用Helm更新使用ConfigMap的应用程序
  • 浅谈LVS
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • python开发 *进程数据隔离.守护进程,进程同步工具 * 180725
  • 磁条卡,IC卡,ID卡,信用卡芯片卡,信用卡磁条卡 等等的区别
  • AI时代,APP运营是否会被淘汰
  • 初到湾区
  • android进程防杀套路【转】
  • 老K漫谈区块链的共识(1)——免信任的共识机制
  • 【Oracle】在win10上安装Oracle客户端报错:[INS-13001]环境不满足最低要求
  • Python、Linux与我的缘分
  • NSString 字符串
  • md5sum
  • “大数据应用场景”之隔壁老王(连载四)
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • Angular 4.x 动态创建组件
  • es6(二):字符串的扩展
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • JS学习笔记——闭包
  • Laravel Mix运行时关于es2015报错解决方案
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • PHP变量
  • Promise面试题2实现异步串行执行
  • SAP云平台里Global Account和Sub Account的关系
  • Terraform入门 - 1. 安装Terraform
  • Transformer-XL: Unleashing the Potential of Attention Models
  • v-if和v-for连用出现的问题
  • 从PHP迁移至Golang - 基础篇
  • 开发基于以太坊智能合约的DApp
  • 老板让我十分钟上手nx-admin
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 我与Jetbrains的这些年
  • 项目实战-Api的解决方案
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 再次简单明了总结flex布局,一看就懂...
  • 自制字幕遮挡器
  • 移动端高清、多屏适配方案
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #大学#套接字
  • (16)Reactor的测试——响应式Spring的道法术器
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (solr系列:一)使用tomcat部署solr服务
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十八)SpringBoot之发送QQ邮件
  • (转)visual stdio 书签功能介绍
  • (转)为C# Windows服务添加安装程序