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

我们来看看微信的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

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

  1. 小程序获取不到用户头像和昵称返回微信用户问题解决,即小程序授权获取用户头像规则调整的最新解决方案

    最近好多同学在学习石头哥小程序课程的时候,遇到了下面这样的问题,在小程序授权获取用户头像和昵称时,获取到的是下面这样的. 到底是什么原因导致的呢,去小程序官方文档一看,又是官方改规则了. 点进去一看, ...

  2. 微信小程序——按钮登录获取用户头像昵称、不需要获取权限就能显示头像和昵称、获取手机号(云端)

    1.登录获取用户头像昵称 代码 app.js App({globalData: {userInfo: null},onLaunch() {} }) . . . index.js const app = ...

  3. 【小程序】新版uniapp登录流程以及获取头像和昵称

    众所周知,小程序新版登录无法拿到头像和昵称! 这篇文章讲解如何获取到微信用户昵称和头像 成品效果 步骤一,点击登录,获取token 步骤二,登录按钮隐藏,展示上传按钮 步骤三,点击上传按钮 步骤四上传 ...

  4. 小程序登录及用户信息和手机号的获取

    登录流程 小程序通过 wx.login 获取 code(用户登录凭证,有效期五分钟,使用一次后实效) 服务端拿到 code,调用 code2Session,获取用户的 openid (用户在当前应用的 ...

  5. 小程序 wepy 用户取消授权以及取消获取地理位置后的处理方法

    在wepy里使用进行小程序页面授权,里面包含了用户点击取消的重新授权方案: //auth.js /* * @Author: Porco_Mar * @Date: 2018-04-11 15:49:55 ...

  6. 小程序获取openid和unionid服务号获取unionid服务号消息推送

    网上很多资料但是都太杂太乱很多是复制过来复制过去,微信官方给的文档也很坑很多地方没说清,自己整理了一下. 首先:要获取unionid服务号和小程序都要绑定到微信开放平台,并且都要认证,认证需要一定费用 ...

  7. 小程序UnionID是什么?以及UnionID获取途径

    小程序UnionID是什么? 如果开发者拥有多个移动应用.网站应用.和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用.网站应用和公众帐 ...

  8. 微信小程序中如何发送客服消息给用户

    微信小程序是一种快速开发和发布应用程序的平台,可以为用户提供各种服务和功能.而与用户进行沟通和交互是实现这些目标的重要步骤之一.因此,在本文中,我们将介绍如何在微信小程序中使用客服消息来与用户进行联系 ...

  9. 微信小程序注册/登陆,若依后台获取token

    微信小程序注册/登陆,若依后台获取token 后端接口: @ApiOperation(value = "小程序登入", httpMethod = "POST") ...

最新文章

  1. R语言Kolmogorov-Smirnov假设检验(正态性检验):检验数据的正态性
  2. SAP SD基础知识之文本确定(Text Determination)
  3. [html] 如何去除标签<i>默认斜体?
  4. spring整合web
  5. 内推!美团2021届应届生补招与2022届实习生招聘同步开启
  6. 安装与设置Visual SVN
  7. 设计模式之责任链模式(Chain of Responsibility )
  8. 市场营销案例分析PPT模板-朴尔PPT
  9. 了解mysql脏页落盘过程
  10. Reactjs项目构建
  11. 做项目遇到的一些CSS问题
  12. 跟随《西西里的美丽传说》 慢游锡拉库萨
  13. git fatal: The remote end hung up unexpectedly 错误
  14. 亚马逊创建X509证书的几种方式
  15. 睿联技术在创业板过会:收入依赖摄像机单机,计划募资11亿元
  16. FTP客户端设计与实现
  17. 用Intellij IDEA 创建第一个Spring MVC项目
  18. 写Android的快两年了,终于碰到视频相关(视频压缩)的技术
  19. labview中java联合编程_LabVIEW编程还可以这么简单?五大总结助你事半功倍!
  20. process lasso 优化原理

热门文章

  1. 连接重置Connection reset异常
  2. FPGA学习-Verilog例化说明
  3. 数学分析笔记-有限覆盖定理
  4. NOIp 2020 微信步数 题解
  5. 聊一聊异构系统间数据一致性
  6. diybox路由器设置教程_tp link无线路由器设置图文教程
  7. centos浏览器可以上外网但是ping不通
  8. 完蛋!win 11 ,可能要凉?
  9. 【高德地图进阶】--- 带图片的点(1)
  10. 新马華人的姓名大多用方言拼音,所以显得很混乱