记录--微信小程序获取用户信息的最新方法记录
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

微信小程序获取用户信息的几种方式
以下三种方式都无法获取到用户的openID
1. 开放组件获取用户信息<open-data></open-data>该功能已无效
- 该组件的type属性根据不同的属性值可以展示用户不同的信息
- 该方式不需要授权,因为该方式值能获取到当前登录用户自己的基础信息
- 但是该方法获取的用户信息只能展示,不可以通过js方法获取到
- 组件功能调整 开发者在未获取用户明示同意的情况下通过 组件 在小程序中展示用户个人信息,用户容易误以为自己的个人信息在未授权的情况下,被小程序获取。平台计划从2022年2月21日24时起回收通过展示个人信息的能力,若小程序需收集用户昵称头像等信息,可以通过 头像昵称填写功能 功能进行收集。具体回收方式为:
头像展示 灰色头像
用户昵称展示“微信用户”
用户性别、地区、语言展示为为空(“”)
<open-data type="userAvatarUrl">用户头像</open-data>
<open-data type="userNickName">用户昵称</open-data>
<open-data type="userCountry">用户国家</open-data>
<open-data type="userCity">用户城市</open-data>
2. wx.getUserInfo({})方法
- 该api只有已经授权过的用户才会被获取到信息,没有授权过的话调用是没用用的
wx.getUserInfo({
success: (res)=>{
console.log(res)
}
})
3. 配置open-type属性
- 该方法可以弹出授权框,授权后可使用上面第二种方法获取用户信息
使用bindgetuserinfo属性绑定事件,该事件出发后有一个event参数,
<button open-type="getUserInfo"
bindgetuserinfo="onGetuserinfo">
获取用户信息
</button> onGetuserinfo(event){ //
console.log(event)
},
想要获取到用户的openID有两种方法
1. 传统的小程序开发
1. 调用wx.login方法成功后获取到code
2. 使用wx.request发起网络请求将code传递给后端服务器
3. 后端会使用code换取到openid和session_key后再返回给前端
onLoad: function(options) {
wx.login({
success: function(res) {
if (res.code) { //如果调用wx.login后获取到code
//发起网络请求
wx.request({
url: '后端接口',
data: {
code: res.code
},
success: function(res) {
const self = this
if (逻辑成功) {
//获取到用户凭证 存儲 3rd_session
var json = JSON.parse(res.data.Data)
wx.setStorage({
key: "third_Session",
data: json.third_Session
})
getUserInfo()
} else {
}
},
fail: function(res) {
}
})
}
},
fail: function(res) {
}
})
}
2. 小程序云开发
创建微信小程序云开发项目后,云函数中会自带一个login云函数,该云函数中已经有获取用户openid的方法,调用该云函数后会返回当前小程序的appid和openid
wx.cloud.callFunction({
name: 'login'
}).then((res)=>{
console.log(res)
})
https://www.niwoxuexi.com/blog/wechat/article/1938
如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

记录--微信小程序获取用户信息的最新方法记录的更多相关文章
- 微信小程序 获取用户信息并保存登录状态
微信小程序 获取用户信息并保存登录状态:http://www.360doc.com/content/18/0124/11/9200790_724662071.shtml
- Laravel wxxcx 微信小程序获取用户信息
wxxcx 是Laravel5微信小程序登录获取用户信息扩展 部署 12345678 # 安装$ composer require iwanli/wxxcx# 注册服务# 在 /config/app. ...
- 微信小程序获取用户信息,解密encryptedData 包括敏感数据在内的完整用户信息的加密数据
package com.iups.wx.wxservice; import java.io.UnsupportedEncodingException; import java.security.Alg ...
- 微信小程序 获取用户信息 encryptData解密 C#版本
最近学习小程序开发,需要对encryptData解密,获取用户信息,官方源码没有C#版本,网上的资料比较杂,有的使用还有问题,下面贴一下自己亲试可以使用的一个源码 1.code 换取 session_ ...
- 微信小程序获取用户信息“授权失败”场景的处理
很多的时候我们在处理小程序功能的时候需要用户获取用户信息,但是呢为了信息安全,用户不授权导致授权失败场景:但是小程序第二次不在启动授权信息弹层,为了用户体验,可以用以下方式处理: function i ...
- 微信小程序-获取用户信息(getUserInfo)
当小程序抹杀掉这个接口的时候,多少人心凉了.. 作为一个初级web前端开发,我是更加懵逼,小程序员跑路了... 当时以及现在用的办法就是: 1.增加一个登陆或授权页 2.上线以后自动获取 3.增加一个 ...
- 微信小程序 获取用户信息授权
login.wxml界面 获取用户授权可以用微信提供的接口 wx.authorize, 但是获取用户信息的授权用这个接口不会弹出授权窗口 <button class="submit-b ...
- [转]wx.getUserInfo(OBJECT) 微信小程序 获取用户信息
本文转自:http://mp.weixin.qq.com/debug/wxadoc/dev/api/open.html wx.getUserInfo(OBJECT) 获取用户信息,withCreden ...
- 微信小程序 - 获取用户信息的几种方式
1. 老接口(上线使用-测试用button先获取用户信息) // 登录 wx.login({ success: res => { // 发送 res.code 到后台换取 openId, ses ...
- 微信小程序获取用户信息
App({ appData: { userInfo:{ user_portraitUrl: "", user_nick: "", user_gender: 0, ...
随机推荐
- NC19995 [HAOI2015]树上操作
题目链接 题目 题目描述 有一棵点数为 N 的树,以点 1 为根,且树点有边权. 然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子 ...
- NC19975 [HAOI2008]移动玩具
题目链接 题目 题目描述 在一个4*4的方框内摆放了若干个相同的玩具,某人想将这些玩具重新摆放成为他心中理想的状态,规定移动时只能将玩具向上下左右四个方向移动,并且移动的位置不能有玩具,请你用最少的移 ...
- 【XInput】游戏手柄模拟鼠标动作
老周一般很少玩游戏,在某宝上买了一堆散件,计划在过年期间自己做个机械臂耍耍.头脑中划过一道紫蓝色的闪电,想起用游戏手柄来控制机械臂.机械臂是由树莓派(大草莓)负责控制,然后客户端通过 Socket U ...
- 【Android】使用 Broadcast 实现进程间通讯
1 Broastcast 简介 Broadcast(广播)是 Android 中一种广泛运用的在应用程序之间传输信息的机制.使用 Broadcast 能够很方便得实现进程间通讯,一端通过 send ...
- Oracle数据库报ORA-01078和LRM-00109错误解决方法
创建实例后,进入sqlplus启动报错: sqlplus / as sysdba; SQL*Plus: Release 11.1.0.6.0 - Production on Wed A ...
- BUU PWN RIP1 RET2CODE WRITEUP
1.下载附件后,运行是一个输入程序,IDA分析main函数,gets可溢出. F5伪代码如下: int __cdecl main(int argc, const char **argv, const ...
- 《系列一》-- 2、XmlBeanFactory 的类图介绍.md
阅读之前要注意的东西:本文就是主打流水账式的源码阅读,主导的是一个参考,主要内容需要看官自己去源码中验证.全系列文章基于 spring 源码 5.x 版本. Spring源码阅读系列--全局目录.md ...
- [Android 逆向]旅行青蛙破解
1. 旅行青蛙V1.0,4 apk 安装到手机,可以运行 2. jadx 打开apk 存在这两个dll ,说明是 unity开发的 3. 导出Assembly-CSharp.dll, 使用DnSpy ...
- Python全栈面试题及知识点总结
Python全栈面试题 Python全栈阶段总结:https://github.com/HkwJsxl/PythonFullStack/tree/master/Notes Python基础 基础 逻辑 ...
- 【算法day1】复杂度和简单排序算法(1)
复杂度和简单排序算法 时间复杂度 以一个排序(选择排序)操作举例 假设我有一个数组,我要找出其中的最小值放到0的位置上 那么 第一次我会遍历数组中N个数(在0位置处),找出最小的数交换到0位置[看了( ...