小白上路~微信小程序登录授权无法获取用户信息

1. button 标签和 open-type=“getUserInfo” 获取用户信息失败

天哪噜,必须好好记录一番由于没有看官方文档更新 api 而导致的 “BUG” !!!

一觉醒来,发现准备收尾的小程序无法获取到用户信息了???怎么回事,于是一顿焦虑 + 骚操作,各种找 BUG

这种用户信息,获取了个寂寞啊???
在这里插入图片描述
贴出原代码:

wxml:

<button bindgetuserinfo="handleGetuserInfo" open-type="getUserInfo">登录
</button>

js:

    handleGetuserInfo(e) {var that = thisconsole.log("handlegetuserinfo:", e)// 2 用于前端显示const {userInfo} = e.detail;wx.setStorageSync('userInfo', userInfo)//访问数据库that.login()},

2. 改用 button 标签 和 wx.getUserProfile() 成功获取用户信息

查看官方文档更新日志后
在这里插入图片描述
参照文档修改代码如下:
wxml:

    <button  bindtap="getUserProfile">登录</button>

js:

        // 新版获取用户信息getUserProfile(e) {var that = thiswx.getUserProfile({desc: '用于完善用户资料',success: (res) => {this.setData({// 此处左边的 userInfo 是js data 中定义的全局变量// res.userInfo 是调用接口返回的数据userInfo: res.userInfo})// 将得到的用户信息 userInfo 保存到缓存中wx.setStorageSync('userInfo', this.data.userInfo)// 输出检查看看console.log("getuserProfile:", res.userInfo)//调用自定义的 login() 方法访问数据库,将用户信息保存到数据库that.login()}})},// 登录login() {// 获取缓存中的用户信息const userInfo = wx.getStorageSync('userInfo');console.log("userInfo:", userInfo)// 如果缓存中有用户信息if (userInfo) {//  获取微信小程序登陆成功后的codewx.login({timeout: 500,success: (result) => {// 1 成功取得 codeconst {code} = result;console.log("code:", code)// 2 发送请求到后台 换取 openid// 这里 request() 是自己封装的 es6 的 promise 的方式,读者可以直接使用 wx.request() request({url: app.globalData.url + '/index.php/code',data: {code: code},method: 'get',}).then(res => {this.setData({openid: res.data.openid,})//将 openid 保存到缓存中wx.setStorage({key: 'openid',data: res.data.openid})// 将用户信息保存到数据库表中request({url: app.globalData.url + '/index.php/login',data: {u_nickName: userInfo.nickName,u_sex: userInfo.gender,u_imgUrl: userInfo.avatarUrl,u_openid: res.data.openid},method: "get"}).then(res => {console.log(res)if (res.data.msg == "success") {wx.showModal({content: '登录成功showCancel: false,})// 登录成功后刷新当前页面,以显示用户信息和用户数据this.onShow();}})})},})}},

成功获取用户信息:
在这里插入图片描述
要是大家发现一直没有问题的代码突然出现了意料之外的 BUG ,一波排除后,可以看看官方文档更新日志,说不定和我一样,发现是 api 的锅呢? Gook Luck !

By the way~~ 不知道是不是有人和我一样不知道可以这样查看日志:
在这里插入图片描述
若有不正确之处,请指正~ 谢谢

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/41087.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小程序登录授权获取用户信息

一 登录 时序图如下&#xff1a; wx.login() 获取js_code 示例代码&#xff1a; App({ onLaunch: function() { wx.login({ success: function(res) { if (res.code) { //TODO } else { console.log(获取用户登录态失败&#xff01; res.errMsg) } } }); } }) code 换取 sess…

微信小程序 wx.openSetting打开不显示,封装用户授权

测试功能的时候&#xff0c;想要设置用户相册的功能&#xff0c;打开突然什么也没有&#xff0c;要么就是显示“个人信息与权限使用记录”&#xff0c;就连打印出来的 console.log("授权",res.authSetting) 授权信息也是空的。 一、 wx.authorize() 去社区翻回答都在…

微信小程序中用户拒绝授权的处理方式

微信小程序中的权限介绍 大家如果接触过移动开发应该都知道&#xff0c;涉及到一些用户敏感信息的操作&#xff08;比如定位、访问本地文件等&#xff09;都是需要用户授权的&#xff0c;在Android开发中&#xff0c;我们需要提前将这些权限配置到项目中&#xff0c;Android 6…

微信小程序-同时获取麦克风、相机权限、获取多个权限

代码仓库&#xff1a;https://gitee.com/DerekAndroid/miniProgramAgen/tree/master/pages/authSetting 效果&#xff1a; wxml: <button bindtap"checkScopeCamera">申请获取相机权限</button> <button bindtap"checkScopeCamera">申…

微信小程序之获取用户位置权限(拒绝后提醒)

微信小程序获取用户当前位置有三个方式&#xff1a; 1. wx.getLocation&#xff08;多与wx.openLocation一起用&#xff09;   获取当前的精度、纬度、速度。不需要授权。当type设置为gcj02 返回可用于wx.openLocation的坐标2. wx.chooseLocation   需要授权&#xff0c;打…

微信小程序之位置信息权限获取和设置界面权限显示

小程序提交审核和发布后&#xff0c;多种机型使用起来发现了一个问题&#xff0c;在小程序设置中没有显示具体的权限信息。如下图所示 当考虑到用户使用小程序时&#xff0c;若缺少对应权限&#xff0c;按照官方案例讲的方式是进行自动导航跳转“设置”页面&#xff0c;让用户手…

微信小程序+权限操作

微信小程序权限操作 在小程序端查询数据(只能查询到用户在小程序中创建的数据&#xff0c;导入的数据是查不到的&#xff1b;要想查到导入的数据需要把数据表中的权限改为所有*用户可读 *) wx.getSetting(Object object) 获取用户的当前设置。返回值中只会出现小程序已经向用户…

【微信小程序】用户授权及getUserProfile接口使用

小程序登录、用户信息相关接口调整说明 为&#xfeff;优化用户的使用体验&#xff0c;平台将进行以下调整&#xff1a; 1&#xff0c;2021年2月23日起&#xff0c;若小程序已在微信开放平台进行绑定&#xff0c;则通过wx.login接口获取的登录凭证可直接换取unionID 2&#xff…

微信小程序授权 获取用户信息

小程序在18年4月25日做了一次更新,不再支持直接弹出授权信息框 具体代码请看这里: >> 获取用户信息(用户信息、获取unionId、openId)请移步到这里 用户打开小程序时&#xff0c;直接弹框获取用户信息授权&#xff0c;可能会立马懵圈&#xff1a; 你是谁&#xff1…

微信小程序之获取用户位置权限

微信小程序获取用户当前位置有三个方式&#xff1a; 1. wx.getLocation 注意&#xff1a; 先要在app.json里配置permission&#xff1a; 不然就会出现以下提示&#xff08;本地测试环境&#xff09;&#xff1a; 配置如下&#xff1a; "permission": {"scope…

发布微信小程序获取收集用户信息权限

前言 在发布微信小程序的时候我们经常会遇到审核不通过的情况&#xff0c;其中一种特别让我头疼就是说小程序收集、使用和储存用户信息。不给予通过。 但是他们的接口又不能提供这个功能&#xff0c;并且老是改动&#xff0c;真的特别的麻烦加无语。有时候审核偷一下懒&#xf…

微信小程序授权登录wx.getUserProfile获取不到昵称及头像解决方案

半年前做的个小程序&#xff0c;更新了二个文字&#xff0c;重新上传审核通过&#xff0c;悲剧了&#xff0c;新用户的昵称全部变为微信用户&#xff0c;头像全部变为默认头像&#xff0c;查了半天代码没找到原因&#xff0c;相当头大&#xff0c;搜了一下文档&#xff0c;尴尬…

小程序中的权限设计

日常我们开发小程序的时候,经常需要考虑权限如何设计,比如在我的页面,管理员可以看到一些菜单,而普通用户可以看到另外一些菜单。那如何设计这种带权限的功能呢?本文就以低代码工具为例,看看低代码中是如何设计小程序的权限的。 1 权限表设计 在通用的RBAC模型中,角色…

chatgpt赋能python:Python画出物体的运动轨迹

Python画出物体的运动轨迹 Python是一种很流行的编程语言&#xff0c;主要用于数据处理、科学计算以及图形绘制。在这篇文章中&#xff0c;我们将探讨如何使用Python画出物体的运动轨迹。 介绍 物体的运动轨迹通常是我们需要关注的问题。当我们在研究物理、机械、运动学、航…

chatgpt赋能python:Python画三维轨迹图:一个引人注目的可视化工具

Python画三维轨迹图&#xff1a;一个引人注目的可视化工具 Python是一种十分适合数据分析及科学计算的编程语言&#xff0c;它的可视化功能非常强大&#xff0c;其中最为出色的一点就是画三维轨迹图。这种图表的本质是一种描绘物体运动轨迹的可视化效果&#xff0c;它可以直观…

英文面试常见问题及回答汇总

今天给大家奉上英文面试常见问题及回答的合集&#xff0c;英语面试主要就是学习如何用英语回答面试常见问题&#xff0c;英文面试常见问题说来说去其实重要的就那么几个&#xff0c;所以今天分享的英文面试常见问题及回答大家只要知道其套路&#xff0c;然后灵活运用就行了。 常…

我的性格类型—— INFP(哲学家型人格 )

测试日期&#xff1a;2019/6/9 基本描述 INFP (Introverted Feeling with Intuition)代表人物&#xff1a;卢梭 语录&#xff1a;虽然我的心既傲慢又温柔&#xff0c;我的性格柔弱&#xff0c;然而&#xff0c;我是不可战胜的。 才储分析&#xff1a;您的性格类型倾向为“…

什么是MBTI,16种人格类型详解

MBTI是Myers-Briggs Type Indicator的缩写&#xff0c;是一种经典的人格类型测评工具&#xff0c;通过对个体心理偏好的测试和分析。 MBTI人格理论认为&#xff0c;人类的人格特征可以从四个角度进行分析&#xff1a;认知功能、信息获取、决策方式和生活方式。每个角度都有两个…

什么是i人,mbti中的i型人格是怎么样的

i人是MBTI总的I型人格&#xff0c;也就是内向型人格&#xff08;Introversion&#xff09;&#xff0c;在MBTI中是其中一个维度。以下是i人的一些常见特征和倾向&#xff1a; 1、内向和独处&#xff1a;I型人格更倾向于独自思考和独处。他们通常从独立的思考和内省中获取精力和…

MBTI性格测试中的 INTP 型人格

摘要&#xff1a;熟悉心理学的朋友&#xff0c;对mbti都不会陌生。而intp&#xff0c;可以说是一种牌玩得好就是天才&#xff0c;玩得不好境遇会十分惨&#xff0c;两极分化很严重的类型。今天我们来讲讲intp型人格都有哪些特征吧。 先来看看intp类型的人一般的倾向性。 MBTI性…