小程序获取oppenid

  • 获取openid的作用
  • 怎么获取openid
  • 总结

获取openid的作用

在开发微信小程序的时候,需要唯一标识每一个用户,利用wx的原生wx.login()来说,只能获取用户的基本属性,假如根据用户名作为标识,下一次微信改个名字就无法获得了,所以这时就需要oppenid来发挥作用了。
oppenid是根据wx.login()获取用户的code值,再由code值去请求远程的用户认证的接口,即可返回openid。这个openid为每个小程序绑定用户的唯一凭证

怎么获取openid

App({globalData: {userInfo: null},onLaunch() {// 展示本地存储能力const logs = wx.getStorageSync('logs') || []logs.unshift(Date.now())wx.setStorageSync('logs', logs)var that =thisvar app = getApp()// 登录wx.getSetting({success: res => {if (res.authSetting['scope.userInfo']) {// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框wx.getUserInfo({success: res => {// 可以将 res 发送给后台解码出 unionIdthat.globalData.userInfo = res.userInfoconsole.log(this.globalData.userInfo )// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回// 所以此处加入 callback 以防止这种情况if (this.userInfoReadyCallback) {this.userInfoReadyCallback(res)}}})}}})wx.login({success: res => {this.getUserInfoId(res)}})},getUserInfoId(res) {wx.request({     url:'https://api.weixin.qq.com/sns/jscode2session',        data:{          appid: "",  //你的小程序的APPIDsecret: "",  //你的小程序的APPSecret       js_code: res.code,          //通过wx.login接口获得的登录凭证grant_type: 'authorization_code'},     //看官方文档   method:'GET',        header:{'content-type':'application/json'},        success: (res) => {         console.log(res.data.openid)wx.setStorageSync('openid', res.data.openid)  //存入本地缓存,key为openid               console.log("返回成功"+wx.getStorageSync('openid'))this.globalData.user_id = wx.getStorageSync('openid')//   wx.request({//    url: '根据openid去请求你的服务后台就行拉',//    complete: (res) => {//    },//    data: {//      user_name:that.globalData.user_id//    },//    fail: (res) => {//      console.log("登陆失败")//    },//    method: "GET",//    success: (result) => {//      that.globalData.user_status=result.data//      console.log(that.globalData.user_status)//    },//  })}              })},})

总结

https://api.weixin.qq.com/sns/jscode2session接口就是根据code请求openid,可以根据代码看出,需要加上appid和secret,这些上微信开发官网就可以查询到。其中代码还添加了将这些返回的数据存储到微信的缓存里,达到每次可以调用的方便性。
可以添加到你的登录界面或者直接放入app.js中

小程序获取oppenid相关推荐

  1. 小程序获取oppenid时返回40125或者40029

    40125:根本原因是因为appid和AppSecret不配对,需要打开微信公众平台重置AppSecret 40029:根本原因是因为发送的参数appid和小程序配置文件project.config. ...

  2. 获取this_小程序获取微信运动步数并集成echarts报表显示

    需求 现在运动计步非常的火,大家常用的计步工具一般有keep.咕咚.微信运动和其他移动设备等,本文是基于微信小程序获取用户的微信运动数据并可视化呈现出来. 先看一下最终实现效果: 微信运动规则 在开发 ...

  3. 微信小程序获取openid和session_key并且把openid存入数据库

    微信小程序开发交流qq群   581478349 微信小程序获取openid和session_key并且把openid存入数据库.已经调用openid的demo 前后端代码都有,后端php实现 在其它 ...

  4. 小程序 获取用户信息

    小程序获取用户信息 1.先判断是否授权 wx.getSetting({ success: (data) => { console.log(data); if (data.authSetting[ ...

  5. android获取小程序音频时长,最新微信小程序获取音频时长与实时获取播放进度...

    #微信小程序获取音频时长与实时获取播放进度 在小程序官方文档中 audio 注意:1.6.0 版本开始,该组件不再维护.建议使用能力更强的 wx.createInnerAudioContext 接口 ...

  6. 小程序获取form_id 与 小程序获取openid

    小程序获取form_id **介绍:**小程序的 from_id 要在用户发生操作的时候才能产生,所以我们可以用以下方法来做 直接上代码 wxml <form bindsubmit=" ...

  7. python--微信小程序获取手机号码报错

    微信小程序获取手机号码报错,其中python文档中有一段需要引用 'Crypto'的库 在windows环境下可能会出现安装失败等原因,可以安装PyCryptodome来替代 转载于:https:// ...

  8. 微信小程序获取用户手机号--官方示例

    微信小程序获取用户手机号–官方示例 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNu ...

  9. 小程序获取设备信息以及实现短信验证码登录

    1.微信小程序 获取设备信息 API实例详解 https://www.jb51.net/article/93994.htm 2.微信小程序发送短信验证码完整实例 https://blog.csdn.n ...

  10. 微信小程序 获取用户信息并保存登录状态

    微信小程序 获取用户信息并保存登录状态:http://www.360doc.com/content/18/0124/11/9200790_724662071.shtml 转载于:https://www ...

最新文章

  1. mysql主从数据丢失_故障分析 | 记一次 MySQL 主从双写导致的数据丢失问题
  2. 这些东西,你知道吗?是否忘记了
  3. 动态加载和静态加载及其编译步骤
  4. 【转】Web API项目中使用Area对业务进行分类管理
  5. 改变世界的十位算法大师
  6. 这一次,让你彻底明白接口及抽象类
  7. 贵州小学计算机编程比赛,2019年贵阳市中小学电脑制作活动成功举办
  8. android开发用什么字体,移动端web app和页面开发使用什么字体?微软雅黑?
  9. 单片机关于protues中数码管的显示
  10. 中标麒麟系统成功安装英伟达显卡驱动程序记
  11. 你摸透英语的16种时态了嘛
  12. oracle中alter用法,Oraclealter用法
  13. 数据库系统概论-数据库恢复技术
  14. Rss Feed是什么
  15. 看《西游记》谈团队管理(超博好领导系列)
  16. 8cm等于多少像素_1寸照片尺寸是多少,对应的像素是多少
  17. Android客户端连接服务器- OKHttp的简单实用方法
  18. iOS获取局域网的IP
  19. google.com 打不开,但是mail.google.com无法打开,请问怎么解决?
  20. [UNR #6]稳健型选手

热门文章

  1. 字符型变量ch的值为英文字母 的c语言表达式
  2. 计算机中桌面中不显示U盘图标,电脑桌面右下角不能显示u盘图标解决方法
  3. 10年涨7倍!纵观南京房价变迁史,看哭多少买房人!
  4. 软件测试面试题整理(二)之测试用例集
  5. Vue3.0快速上手-重要知识点罗列-系列二
  6. word中批量插入图片
  7. ps学习——基本工具
  8. 多渔:赚钱,就是专注和刻意练习!
  9. 蓝桥杯 ALGO-45算法训练 调和数列问题
  10. ros文件服务器,ros设置_服务器应用_Linux公社-Linux系统门户网站