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

我们来看看微信的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. 深度长文 | 从FM推演各深度CTR预估模型(附开源代码)
  2. C# 监控统计 程序执行 时间
  3. python利用jieba(textRank、TFIDF)提取关键字
  4. html代码范例_最佳HTML范例和HTML5范例
  5. 苹果又遭集体诉讼,网友拍手:干得漂亮......
  6. mac android通知中心,有什么软件可以把安卓通知栏变成苹果通知栏
  7. php处理管道文件流
  8. 拓端tecdat|R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病
  9. c语言图书管理系统课设报告总结,c语言图书管理系统课设报告.docx
  10. android pickerview 多行,Android-PickerView系列之介绍与使用篇(一)
  11. 基于收发一体超声波探头的超声波测距方案(附源代码和原理图)
  12. 手把手教学linux上扩容和缩减swap分区。
  13. zotero配合坚果云和papership进行文献管理
  14. lua 5.3.5 TValue::tt_和GCObject::tt之间的爱恨纠葛
  15. react native关于FlatList的随手记
  16. 【大汇总】HTML属性及含义
  17. 有多少人等着看百度区块链的笑话?
  18. 【冰爪游戏】MC教程 —— PCL启动器
  19. 2022 ICPC 亚洲区域赛(杭州)赛后总结
  20. XSS跨站脚本攻击漏洞

热门文章

  1. MySQL5.7修改密码问题解决方案
  2. 【论文笔记】Question Answering over Freebase with Multi-Column Convolutional Neural Networks
  3. nagios监控华为5700交换机
  4. 鸿蒙小游戏-俄罗斯方块
  5. ChatGPT教程之 01 什么是ChatGPT革命性的对话生成新工具
  6. 【ROM制作工具】如何精简ROM?快速精简ROM详细教程!
  7. 正则表达式re.S与re.M的区别
  8. TSP问题——GA(遗传算法)解法(附源代码)
  9. Spring系列第20篇:@Conditional通过条件来控制bean的注册
  10. Uniapp中使用Echarts