微信小程序获取用户openid(详解)
小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识快速建立小程序内的用户体系
然而因为小程序中的openid不可以直接使用需要用code(登录凭证)去换取openid
获取openid的思路
获取openid首先需要调用小程序的login方法获取小程序的登录凭证code,然后使用code向微信换取登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)
我这里是用一个点击事件来触发一个函数
wx.getUserInfo 会获取到你的一些信息 比如名字
info(){wx.getUserInfo({//成功后会返回success:(res)=>{console.log(res);}})},
打印结果
wx.login 可以获取到你的code值
wx.login({//成功放回success:(res)=>{console.log(res);let code=res.code}
})
打印结果
通过wx.request 来让code换取openid
这个地址可以在开发文档=>服务器=>登录中 找到
这段链接中有三处地方需要改动
(每个人的id都不一样所以你要自己去作修改 下面有修改处的位置)
wx.request({url: `https://api.weixin.qq.com/sns/jscode2session?appid=wx16ccbe7d04209a11&secret=1f9465bdebe244b5ad15635e8a655832&js_code=${code}&grant_type=authorization_code`,success:(res)=>{console.log(res);userInfo.openid=res.data.openid//获取到你的openidconsole.log(userInfo.openid);}})
第一个
登录 微信公众平台 =>开发管理=>开发设置=>开发者Id
第二个
在第一个的下面
当前微信开发者工具的appid一定要与填写链接的id保持一致
第三个是你获取的code值
把他拼接过去 注意要使用反引号
第四步还需要将小程序开发者工具中的不校验https合法域名给勾选上
然后打印你就会看到你的openid的值 如下
以下是全部代码(在全局获取,哪个组件需要直接调用)
var global = getApp()var openid =global.globalData.openwx.request({url: 'https://sad', //仅为示例,并非真实的接口地址data: {money:that.data.money1,//打款金额voucher:that.data.urll,//图片凭证ordernum:that.data.ordernum,//订单号openid:openid,//oppenid},
app.js中的onLaunch函数中wx.getUserInfo({//成功后会返回success:(res)=>{console.log(res);// 把你的用户信息存到一个变量中方便下面使用let userInfo= res.userInfo//获取openId(需要code来换取)这是用户的唯一标识符// 获取code值wx.login({//成功放回success:(res)=>{console.log(res);let code=res.code// 通过code换取openIdwx.request({url: `https://api.weixin.qq.com/sns/jscode2session?appid=wxad60b5e03e6281f5&secret=d0648ea0fda1203e18a6b0e631c722e4&js_code=${code}&grant_type=authorization_code`,success:(res)=>{console.log(res);userInfo.openid=res.data.openidthis.globalData.open = userInfo.openidconsole.log(this.globalData.open);}})}})}})
总结:
openid是用户的唯一标识,它可以快速的建立小程序内的用户体系
因为openid是一个敏感信息所有他不会直接给你,需要你用登录凭证(code)去换取openid
微信小程序获取用户openid(详解)相关推荐
- 微信小程序python解析获取用户手机号_微信小程序获取用户手机号详解
最近在做一款微信小程序,需要获取用户手机号,具体步骤如下: 流程图: 1.首先,客户端调用wx.login,回调数据了包含jscode,用于获取openid(用户唯一标识)和sessionkey(会话 ...
- 2023年最新微信小程序获取用户openid、头像昵称的填写能力和方法原生写法
大家好,下面是我身为小白分享给小白哈, 不懂就问相互学习共同进步! 亲测自用原生代码,感谢大神指点赐教鼓励勿喷: 只需9个一键复制粘贴步骤一气呵成: 先来本文最终主要实现效果: 获取微信小程序用户头像 ...
- php实现微信小程序获取用户openid,昵称和头像方法
最近做微信小程序,要做一个排行榜的功能,摸索了一天,终于找到获取用户openid,昵称和头像方法. 先上wxml: <button bindtap="getInfo"> ...
- java中用户头像是怎么弄的_微信小程序获取用户openid,头像昵称信息,后台java代码...
https://blog.csdn.net/qq_39851704/article/details/79025557 首先最近正在练习微信小程序刚刚写了一个获取用户openid的代码,貌似之前的小程序 ...
- 微信小程序 获取授权信息详解
1,判断用户有没有授权. 2,如果没有则显示弹框,由用户点击授权
- 微信小程序python解析获取用户手机号_微信小程序获取用户手机号
获取微信用户绑定的手机号,需先调用wx.login接口. 小程序获取code. 后台得到session_key,openid. 组件触发getPhoneNumber 因为需要用户主动触发才能发起获取手 ...
- 微信小程序获取用户手机号码,Java后台servlet解密(微信小程序调用微信支付也是大致的流程)
本篇记录说明 微信小程序获取用户手机号码,Java后台servlet解密(微信小程序调用微信支付也是大致的流程,详细内容可私信交流) (第一次写博客,写得不好的地方见谅,面向新手,大佬请无视,不喜勿喷 ...
- 微信小程序获取用户信息
微信小程序获取用户信息 微信小程序获取用户信息接口做了调整: 2021年4月28日24时后发布的小程序新版本,无法通过wx.getUserInfo与获取用户个人信息(头像.昵称.性别与地区),将直接获 ...
- 微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ
微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ 一.获取用户信息 1.首先我们需要了解什么是微信用户的OpenID 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密 ...
- 微信小程序-获取用户位置(经纬度+所在城市)
微信小程序-获取用户位置(经纬度+所在城市) 文章目录 微信小程序-获取用户位置(经纬度+所在城市) 一.目标 二.实现思路 三.实现步骤 3.1 用到的接口函数 3.2 具体步骤 3.2.1 创建界 ...
最新文章
- MySQL数据库高可用集群搭建-PXC集群部署
- ipa包中图片进行了Compress之后的主要处理和作用
- 【Paper】An Experiment Comparing Double Exponential Smoothing and Kalman Filter-Based Predict
- 栈、堆、静态存储区和程序的内存布局
- oracle一个表更新另一个表多列,oracle sql更新表中多列值,值是从其它表中查询(select)得出...
- matlibplot 一张图画多个曲线_一文读懂磁滞回曲线
- 如何使用jMeter发送两个逻辑上相关的HTTP请求
- 计算机术语设备透明性,计算机中术语透明性是什么意思?
- ssl2348-连接格点【图论,最小生成树,并查集】
- 【Python 必会技巧】使用 split() 方法对字符串进行切片
- 【Java】CMD编译Java源码遇到\ufeff问题的解决方法
- 实体与电商不是敌人 体验经济决定远方
- 投资公司的钱是自己的吗?
- 运行tuxedo自带例子simpapp,测试tuxedo安装
- Error generating final archive: Debug certificate expired on的解决办法
- 计算机组成原理—Cache和主存的映射模式
- C语言小游戏(flappy bird),附带源码及素材
- 百度网盘客户端(java)版本
- python 月初 月末
- react-contexify 右键菜单动态生成
热门文章
- python PIL Image 图片叠图、拼接,图片透明度调整 案例
- samba端口号修改_samba 端口号(samb端口号)
- GSON处理URL转码
- python解决乱码转成中文
- Flex 加载Base64编码的二进制字符串图片
- lol全队消息怎么发_英雄联盟如何发全部消息,LOL怎样发送消息给全部
- Redis cluster Hget hash field value异常分析案例--一个空格带来的惨案
- cmd命令快速切换电源模式-平衡模式和卓越模式
- ARM 电源管理 4种模式
- for循环练习题-编写程序,根据输入行数,输出金字塔图案