您现在的位置是: 首页 > 文案大全 文案大全
微信小程序 获取头像_微信小程序获取头像昵称调低基础库
tamoadmin 2024-09-24 人已围观
简介1.微信授权四个头像满了怎么删title:利用微信小程序扫码授权date:2022-05-1311:09:09cover:技术微信小程序扫码授权背景想要使用微信扫码登录自己的网址,通过授权快速获取用户的昵称,头像功能由于没有企业认证账号,故只能通过微信小程序实现,体验地址源码原理利用微信小程序的动态创建场景码接口(创建短token的信息存储在服务端,而不需要大量信息存储在二维码里,实现授权流程客户
1.微信授权四个头像满了怎么删
title:利用微信小程序扫码授权date:2022-05-1311:09:09cover:技术微信小程序扫码授权背景
想要使用微信扫码登录自己的网址,通过授权快速获取用户的昵称,头像功能由于没有企业认证账号,故只能通过微信小程序实现,
体验地址源码
原理
利用微信小程序的动态创建场景码接口(创建短token的信息存储在服务端,而不需要大量信息存储在二维码里,实现授权
流程客户端在请求,服务生成token,注册到认证服务
前端根据token,获取带场景值的二维码,并轮训该token状态
使用微信扫码,根据token获取应用信息并展示,在小程序授权登录,获取openid,nickname,avatorImg等信息
确认允许登录后,发送confirm请求,发送userInfo值
网络获取到该token对应的用户信息
流程图核心接口接口传参返回值说明getToken-token获取tokengetImgByTokentoken的arrayBuffer获取小程序码getInfoByTokentokenuserInfo获取用户信息statustoken-1|0|1-1表示为扫码,0表示已扫码未授权,1表示已经授权confirmnickName、openid,头像等-小程序的允许授权时确认的接口踩坑点scene长度为最大32字符,利用nodejs的uuid.v4生成的值超过32位解决方案
uuid.v4().replace(/-/g,"").toUpperCase();生成二维码时,如果没有指定page字段可能会在页面里获取不到场景值(scene)解决方案指定page:"pages/index/index"
getwxacodeunlimit接口成功直接返回buffer错误返回的是json,在axios中需要根据response的contentType来判断成功还是失败解决方案
router.get("/getImgByToken",async(req,res)=>{const{access_token,expires_in}=awaitwechat.getAccessToken();constua=req.headers["user-agent"];consttoken=req.query.token;constenv=req.query.env;//env区分release发行版本trial体验版develop开发版//{url:"",method:"post",params:{access_token:access_token,},responseType:"arraybuffer",data:{scene:token,env_version:env||"trial",check_path:false,page:"pages/index/index",},}).then((response)=>{constisSuccess=response.headers["content-type"].includes("image");if(!isSuccess){console.log(response.data.toString("utf-8"));}else{res.type("png").send(response.data);}});});无论是wx.getUserProfile还是wx.getUserInfo无法静默获取userInfo,都需要授权弹窗登录,不过可以缓存信息解决方案扫码进入之后onLoad就弹窗,并且存储场景值,允许拒绝授权之后再次
开发的时候场景值每次提交代码生成预览版本比较麻烦解决方案在微信小程序开发工具里面添加条件编译,通过二维码编辑
原文: style="font-size: 18px;font-weight: bold;border-left: 4px solid #a10d00;margin: 10px 0px 15px 0px;padding: 10px 0 10px 20px;background: #f1dada;">微信授权四个头像满了怎么删在微信开放平台官方公告中:
2021年4月28日24时后发布的小程序新版本,无法通过wx.getUserInfo与<button open-type="getUserInfo"/>获取用户个人信息(头像、昵称、性别与地区),将直接获取匿名数据(包括userInfo与encryptedData中的用户个人信息),获取加密后的openID与unionID数据的能力不做调整。此前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。
新增getUserProfile接口(基础库2.10.4版本开始支持),可获取用户头像、昵称、性别及地区信息,开发者每次通过该接口获取用户个人信息均需用户确认。具体接口文档: 《getUserProfile接口文档》
在微信开发者工具词库版本2.10.4之后getUserInfo获取的将是微信的拟名信息。
使用uniapp官方提供的uni.getUserProfile(OBJECT)接口
但是uni.getUserProfile是为了支持新版微信小程序获取个人信息的接口,如官方描述一样,该接口只支持打包为微信小程序并且微信基础词库为2.10.4以上时获取个人信息
参考: 微信授权四个头像满了的删除方法如下:
1、进入微信小程序的授权微信头像、昵称页面,任意找到一个没有登录过的小程序进入授权登录页面,但不要直接授权登录。
2、进入获取昵称头像页后,选择并长按头像,点击弹出的删除,申请页中可添加3个自定义的头像昵称。当头像添加满额时,页面中会提醒数量已达上限,无法新增。
3、头像删除成功,页面中显示使用其他头像和昵称,即可添加新的头像昵称等。