代码如下:

//app.js

App({

globalData: {

urlPath: "http://www.baidu.com//",    //此处貌似必须填写搜索引擎的网址,我尝试了百度,360,搜狗都可以,腾讯搜搜不行

userInfo: null,

openid: null,

},

onLaunch: function () {

// 展示本地存储能力

var logs = wx.getStorageSync('logs') || []

logs.unshift(Date.now())

wx.setStorageSync('logs', logs)

// 登录

wx.login({

//获取code

success: res => {

var code = res.code; //返回code

var appId = '你的小程序id';

var secret = '你的小程序密钥';

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': 'json'

},

success: res => {

var openid = res.data.openid //返回openid

console.log('openid为' + openid);

this.globalData.openid = openid

}

})

}

})

// 获取用户信息

wx.getSetting({

success: res => {

if (res.authSetting['scope.userInfo']) {

// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框

wx.getUserInfo({

success: res => {

// 可以将 res 发送给后台解码出 unionId

this.globalData.userInfo = res.userInfo

console.log(res);

// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回

// 所以此处加入 callback 以防止这种情况

if (this.userInfoReadyCallback) {

this.userInfoReadyCallback(res)

}

}

})

}

}

})

},

})

反复比对代码好多次都没啥问题,可是下面的this.globalData.userInfo就可以执行上面的this.globalData.openid就报错说golbalData未定义,原因如下:

success方法那里必须用success: res => {}的格式,我之前上面的用的是success:function(e){}格式就不行

微信小程序app.js中获取用户信息以及为golbalData赋值的坑相关推荐

  1. 微信小程序app.js中的全局变量globalData改变,如何通知其它页面界面显示改变,小程序中如何在其他页面中监听到globalData中值的变化

    微信小程序app.js中的全局变量globalData改变,如何通知其它页面界面显示改变,小程序中如何在其他页面中监听到globalData中值的变化 在小程序中,我们一般在app.js的onLaun ...

  2. 微信小程序学习9:获取用户信息进行登录操作 wx.getUserProfile

    微信小程序学习9:获取用户信息进行登录操作wx.getUserProfile 2021年4月份左右微信对获取用户的API进行了更改.使用wx.getUserInfo只能获取用户的匿名信息. 要获取用户 ...

  3. 微信小程序 app.js中onLaunch中方法执行完毕后再执行index首页数据请求

    实际开发中遇到在app.js中onlaunch中方法未执行完毕的情况下,先进入首页执行index方法的问题.如果在onlaunch中写了自动登录的方法,会存在首页加载时显示未登录的情况(此时onlau ...

  4. 微信小程序一个按钮同时获取用户信息和手机号码

    <view class="login" bindtap='getuserInfo'><button open-type="getPhoneNumber& ...

  5. 微信小程序app.js给全局变量globalData赋值

    微信小程序app.js 中,从数据库读取登录数据后,想把登录信息变为全局遍历,这里为globalData赋值和其他的页面赋值不同. 需要先定义 that=this  之后用that.globalDat ...

  6. 微信小程序App.js应用

    微信小程序App.js应用 文章目录 微信小程序App.js应用 1.App.js内容 2.判断用户以什么方式进入小程序 3.获取用户信息 4.设置全局变量 1.App.js内容 App.js写逻辑内 ...

  7. 微信小程序使用百度api获取天气信息 —— 微信小程序教程系列(16)

    之前已经介绍过,如何使用百度地图api来获取地理位置信息 微信小程序的百度地图获取地理位置 -- 微信小程序教程系列(15) 下面介绍使用百度api来获取天气信息. 1> 第一步:先到百度开放平 ...

  8. 小程序:版本更新后获取用户信息变更

    小程序:版本更新后获取用户信息变更 更新后,以前获取用户信息,是通过wx.getUserInfo,然后就会弹出授权窗口,现在必须通过button ,才能实现: <button open-type ...

  9. 微信小程序自定义组件中获取app实例的值,生命周期与页面的生命周期执行先后顺序

    调试基本库:2.12.2 最近在接触微信小程序开发 有这么一个需求,自定义组件需要给页面传一个app实例的参数, 总结: 1.自定义组件中data 不能直接获取app.globalData 2.通过自 ...

最新文章

  1. 如何启用计算机上的无线网络连接,告诉大家win10无线网络连接如何打开
  2. spring之java配置(springboot推荐的配置方式)
  3. Boost::context模块fiber的无限循环测试程序
  4. 不同服务器数据库表连接查询修改,如何连接多个数据库,mysql中的服务器和查询两个表中的对方?...
  5. 好文推荐系列--------(3)GruntJS 在线重载 提升生产率至新境界
  6. vue解构赋值_前端开发es6知识 模块化、解构赋值、字符串模板
  7. 报表用法 获取rdlc报表的控件
  8. axure轮播图怎么设置循环轮播_Axure教程:广告图片自动轮播+点击切换
  9. php5 Trace如何配置,配置参考 · ThinkPHP5.0完全开发手册 · 看云
  10. Linux chmod命令 修改文件权限被禁止(not permitted)的解决办法
  11. Fortran 95 流程控制、循环
  12. Super Enhancer(超级增强子)分析——ROSE包(v1.3.1)的安装及使用详解
  13. (三)进程各种id:pid、pgid、sid、全局pid、局部pid
  14. python5.2、输出格式控制 - 摄氏-华氏温度换算
  15. Node.js十年,你大爷还是你大爷
  16. OpenCV入门(C++/Python)-使用OpenCV裁剪图像(四)
  17. Jhipster生成前端为Vue的项目引入Element-UI
  18. DEVc++迷你世界0.10.0
  19. 华为手机开源内核代码
  20. Android AndroidManifest 文件详解

热门文章

  1. 强化学习的学习之路(五十一)2021-02-20 Retrace
  2. python绘制圣诞树、烟花、爱心及节日倒计时
  3. 小说cmsPTCMS安装
  4. W3C_School 在线教程chm 版制作教程
  5. 记录第一个程序:hellow,world!
  6. 2021年9月华南师范大学全国计算机等级考试指南
  7. buff系统 游戏中_游戏中的技能如何而来? 为ARPG设计一个好用的BUFF系统
  8. 加密文件如何解密?忘记密码怎么办?
  9. 微信for windows设置Crtl+Z撤回快捷键
  10. fbd 文件的研究笔记