微信小程序如何获取openid及用户信息


Posted in Javascript onJanuary 26, 2018

微信小程序获取openid及用户信息的方法

1. 获取openid

1.1 获取code

调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid) 及本次登录的会话密钥(session_key)。用户数据的加解密通讯需要依赖会话密钥完成。

wx.login({
 //获取code
 success: function(res) {
   code = res.code //返回code
 }
})

1.2 获取openid

拿到上一步获取的code,结合小程序 appid 和 secret 请求接口https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code 换取openid,与 openid 一同被返回的,还包括 session_key,其中 session_key 是对用户数据进行加密签名的密钥。为了自身应用安全,session_key 不应该在网络上传输。

wx.request({
 url: 'https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code='+ code +'&grant_type=authorization_code',
 data: {},
 header: {
   'content-type': 'application/json'
 },
 success: function(res) {
  openid = res.data.openid //返回openid
 }
})

2. 获取用户信息

2.1 在app.js中创建该全局方法

//app.js
getUserInfo:function(cb){
 var that = this
 if(this.globalData.personInfo){
  typeof cb == "function" && cb(this.globalData.personInfo)
 }else{
  //调用登录接口
  wx.login({
   success: function () {
    wx.getUserInfo({
     success: function (res) {
      that.globalData.personInfo = res.userInfo
      typeof cb == "function" && cb(that.globalData.personInfo)
     }
    })
   }
  })
 }
}

2.2 实例化全局方法获取用户信息

var that = this;
//调用应用实例的方法获取全局数据
app.getUserInfo(function (personInfo) {
 //更新数据
 that.setData({
  personInfo: personInfo
 })
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript while语句和do while语句的区别分析
Dec 08 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
Mar 26 Javascript
jQueryMobile之Helloworld与页面切换的方法
Feb 04 Javascript
javascript事件冒泡和事件捕获详解
May 26 Javascript
分享JavaScript与Java中MD5使用两个例子
Dec 23 Javascript
分享jQuery插件的学习笔记
Jan 14 Javascript
详解js中的apply与call的用法
Jul 30 Javascript
Js自定义多选框效果的实例代码
Jul 05 Javascript
Vue仿手机qq的实例代码(demo)
Sep 08 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
Apr 01 Javascript
Vuepress 搭建带评论功能的静态博客的实现
Feb 17 Javascript
小程序云开发教程如何使用云函数实现点赞功能
May 18 Javascript
微信小程序如何获取用户手机号
Jan 26 #Javascript
Vue header组件开发详解
Jan 26 #Javascript
Vue shopCart 组件开发详解
Jan 26 #Javascript
jquery写出PC端轮播图实例
Jan 26 #jQuery
深入理解vue中slot与slot-scope的具体使用
Jan 26 #Javascript
从零开始最小实现react服务器渲染详解
Jan 26 #Javascript
微信小程序模版渲染详解
Jan 26 #Javascript
You might like
使用php+xslt在windows平台上
2006/10/09 PHP
php函数间的参数传递(值传递/引用传递)
2013/09/23 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
JavaScript 原型继承之构造函数继承
2011/08/26 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
javascript事件函数中获得事件源的两种不错方法
2014/03/17 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
微信小程序开发教程-手势解锁实例
2017/01/06 Javascript
js 作用域和变量详解
2017/02/16 Javascript
利用n工具轻松管理Node.js的版本
2017/04/21 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
Vue实现Header渐隐渐现效果的实例代码
2020/11/05 Javascript
python和C语言混合编程实例
2014/06/04 Python
详解在Python和IPython中使用Docker
2015/04/28 Python
python入门教程 python入门神图一张
2018/03/05 Python
基于python 凸包问题的解决
2020/04/16 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
HTML5 Canvas锯齿图代码实例
2014/04/10 HTML / CSS
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
全球领先的在线cosplay服装商店:RoleCosplay
2020/01/18 全球购物
中英双版中文教师求职信
2013/10/27 职场文书
通信工程专业毕业生推荐信
2013/12/25 职场文书
红领巾广播站广播稿
2014/02/01 职场文书
初中同学聚会邀请函
2014/02/03 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
购房委托书范本
2014/09/18 职场文书
廉洁自律承诺书2016
2016/03/25 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
MySQL中存储时间的最佳实践指南
2021/07/01 MySQL