说明:

近期在修复项目bug进行版本更新的时候之前还好好的授权登录,结果现在就:

控制台显示:
丫丫的运气真好通告栏上写的4月13号后才…今天才4月2号雅

废话不多说,进入正题

官方提示公告:
#### 重要提示

先展示新版授权源码:

/*** 微信授权登录* */
function wxLogin2(pid) {// uni.showLoading({//  title: "正在登陆中!!!"// });let promis = new Promise(resolve => {// 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认// 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗wx.getUserProfile({desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写success: (res) => {resolve(res);},fail: err => {uni.showToast({title: '微信登录授权失败',icon: 'none'});}})}).then(res => {return new Promise(resolve => {uni.login({provider: 'weixin',success: res2 => {res2.info = res;resolve(res2);},complete() {uni.hideLoading();}});})}).then(res => {// console.log(res);const uInfo = res.info.userInfo;return new Promise(resolve => {uni.request({method: "POST",url: COMMONURL + LOGINURL,data: {js_code: res.code,nickname: uInfo.nickName,avatar: uInfo.avatarUrl,gender: uInfo.gender,country: uInfo.country,province: uInfo.province,city: uInfo.city,language: uInfo.language,pid: pid ? pid : null},success: (ress) => {if (ress.data.code === 200) {// 登陆成功uni.setStorageSync('userInfos', ress.data.data);Vue.prototype.$User = ress.data.data;uni.showToast({title: "授权成功!!",icon: "none",success() {// console.log("授权成功!!");resolve("1");}})} else {// 登陆失败,清除授权信息uni.showToast({title: ress.msg,icon: 'none',success() {resolve("0");}});}},complete(ress) {uni.hideLoading();}})})})return promis;
}

老版本授权源码:

/*** 微信授权登录* */
function logins(pid) {uni.showLoading({title: "正在登陆中!!!"});let promis = new Promise((resolve, reject) => {uni.login({provider: 'weixin',success: res2 => {resolve(res2);},fail: () => {uni.showToast({title: '微信登录授权失败',icon: 'none'});return;},complete() {uni.hideLoading();}});}).then(res => {return new Promise(resolve => {uni.getUserInfo({provider: 'weixin',success: info => {//这里请求接口// console.log(info);let authorizeInfos = info.userInfo;authorizeInfos.jscode = res.code;resolve(authorizeInfos);},fail: () => {uni.showToast({title: '微信登录授权失败',icon: 'none'});return;},complete() {uni.hideLoading();}});})}).then(res => {return new Promise(resolve => {uni.request({method: "POST",url: COMMONURL + LOGINURL,data: {js_code: res.jscode,nickname: res.nickName,avatar: res.avatarUrl,gender: res.gender,country: res.country,province: res.province,city: res.city,language: res.language,pid: pid ? pid : null},success: (ress) => {if (ress.data.code === 200) {// 登陆成功uni.setStorageSync('userInfos', ress.data.data);Vue.prototype.$User = ress.data.data;uni.showToast({title: "授权成功!!",icon: "none",success() {// console.log("授权成功!!");resolve("1");}})} else {// 登陆失败,清除授权信息uni.showToast({title: ress.msg,icon: 'none',success() {resolve("0");}});}},complete(ress) {uni.hideLoading();}})})});return promis;
}

总结:在新版中需要使用wx.getUserProfile()拉取授权获取用户的一些基本信息,拉取之后就可以通过login方法进行登录不用像之前那样先去login之后再获取信息

为什么又要wx官方又要这样更改呢?

解释:
之前登录用户点击拒绝授权之后在短时间内不能重新弹出提示,只能通过跳转到设置里面让用户自己打开授权(ps反话:wx觉得这样用户体验极好【有利于小程序获取新用户 】)所以就换了一种新的方式(用户每次点击之后就弹出确认框)

微信授权 昵称显示微信用户、无头像相关推荐

  1. springboot对接第三方微信授权(以及获取用户的头像和昵称等等)

    大家好,我是小铁,铁铁最近太忙了.一直再不停的敲啊敲. 今天来点第三方的干货(微信授权) 底下的这张图是微信授权的流程图. 1.流程图 2.发送请求 讲一下:微信授权分为两种,一种是静默授权,另一种是 ...

  2. uniapp微信小程序新版本获取用户的头像和昵称,手机号

    新版本微信小程序通过getUserInfo获取到用户的头像是灰色,昵称显示为微信用户,这是微信版本更新了,现在需要用getUserProfile来获取用户的头像和昵称,并且只能页面产生点击事件(例如 ...

  3. SpringBoot2.0(九):实现微信授权登录并且获取用户信息

    第一步:配置域名 由于我是本地测试,需要一个域名映射工具,改工具使用非常简单,如果自己有域名可以使用自己的域名(自己的域名必须备案)如果没有可以在第一个输入框里面输入自己的域名前缀!微信授权登录端口必 ...

  4. Java微信授权小程序获取用户手机号信息

    注意:目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体).需谨慎使用,若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限. 官网地址如下: https: ...

  5. Android:微信授权登录与微信分享全解析

    前言 在移动互联网浪潮中,联网APP已经把单机拍死在沙滩上,很多公司都希望自家应用能够有一套帐号系统,可是许多用户却并不一定买账:我凭啥注册你家应用的帐号?微博,微信,QQ几乎成了每个人手机中的必装应 ...

  6. 【H5微信授权】简单实现H5页面微信授权功能,微信开发者工具报错 系统错误,错误码-1,undefined解决办法【详细】

    前言 最近写到了H5公众号,需要微信授权的功能. 这里记录一下授权的流程和踩了个坑 图片 授权代码执行后会跳转到授权的地方,没有授权的会有确认授权,授权过得会这样,直接自动登录,然后再跳转到中转页 授 ...

  7. thinkphp 微信授权登录 以及微信实现分享

    <?php namespace app\wechat\controller; use think\Controller; use think\Request; /** * 微信授权登录类 * U ...

  8. 微信授权登录及存储用户信息(fastadmin开发项目)

    最近做了一个微信投票系统,这是第一次开发微信项目,所以特此记录一下 微信投票系统,最优先想到的就是授权登录,以及获取用户信息 1.首先需要申请微信公众号(此次使用的是服务号) 2.在微信公众平台基本配 ...

  9. 通过微信授权接口,获取用户微信账户信息

    微信官方最近已经回收了前端通过getUserInfo接口获取微信信息的功能,现在推荐的办法是使用后端解密获取,具体办法如下: 第一步:通过jscode2session获取openid $appid = ...

  10. 微信授权地理位置php,微信公众号第三方授权获取用户的的地理位置--坑

    首先注册公众号,配置好 URL js URl ,这个就不多介绍了 第一步,直接 在菜单里 同意授权,获取code 这是第一个坑 ,记住,一定要用  urlEncode 对你的 重定向 URL  进行处 ...

最新文章

  1. software RAID0+cryptsetup磁盘加密
  2. 【NLP】Attention Model(注意力模型)学习总结
  3. Nand Flash基础知识与坏块管理机制的研究
  4. C++map容器应用举例
  5. 她偏爱雏菊一样的淡黄色_为什么开源项目(非常)偏爱新用户,以及您可以采取什么措施...
  6. 散列表(二):冲突处理的方法之链地址法的实现
  7. ardupilot在Linux上设置SITL(FlightGear)
  8. rt3070网卡 linux驱动,Linux下的WIFI驱动RT3070的编译移植
  9. 贪吃蛇小游戏(C语言实现简易版)
  10. 论文笔记:SRF(stereo radiance fileds)
  11. Python API+Postman+jmeter
  12. python向excel写数据_Python向excel中写入数据的方法 方法简单
  13. ADP论文关键要点总结
  14. xunsearch使用流程
  15. 【听】特斯拉传,科学超人传奇
  16. [附源码]计算机毕业设计JAVA校园超市进销存管理系统
  17. SLAM中相机位姿求解(李群李代数)
  18. 电子签约B2B供应链,又一个行业发展新动态!
  19. UE4数字孪生 OD线开发浅析
  20. SSH协议及SSH工具

热门文章

  1. 图片识别word c#
  2. Domain Adaptive简介
  3. 如何生成EAN13流水号条形码
  4. 计算机测色配色应用,计算机测配色方法及注意事项
  5. 袁萌记忆中的华罗庚先生
  6. 字节跳动、腾讯、阿里的社交战,浑水中依然没有赢家
  7. (4)数仓建设-数据仓库命名规则
  8. 【VOLTE】【SRVCC】【1】 VOLTE SRVCC(SRVCC TO 3GPP)
  9. 密码学——变色龙哈希
  10. 计算机图形学——反走样技术