微信小程序app.js中获取用户信息以及为golbalData赋值的坑
代码如下:
//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赋值的坑相关推荐
- 微信小程序app.js中的全局变量globalData改变,如何通知其它页面界面显示改变,小程序中如何在其他页面中监听到globalData中值的变化
微信小程序app.js中的全局变量globalData改变,如何通知其它页面界面显示改变,小程序中如何在其他页面中监听到globalData中值的变化 在小程序中,我们一般在app.js的onLaun ...
- 微信小程序学习9:获取用户信息进行登录操作 wx.getUserProfile
微信小程序学习9:获取用户信息进行登录操作wx.getUserProfile 2021年4月份左右微信对获取用户的API进行了更改.使用wx.getUserInfo只能获取用户的匿名信息. 要获取用户 ...
- 微信小程序 app.js中onLaunch中方法执行完毕后再执行index首页数据请求
实际开发中遇到在app.js中onlaunch中方法未执行完毕的情况下,先进入首页执行index方法的问题.如果在onlaunch中写了自动登录的方法,会存在首页加载时显示未登录的情况(此时onlau ...
- 微信小程序一个按钮同时获取用户信息和手机号码
<view class="login" bindtap='getuserInfo'><button open-type="getPhoneNumber& ...
- 微信小程序app.js给全局变量globalData赋值
微信小程序app.js 中,从数据库读取登录数据后,想把登录信息变为全局遍历,这里为globalData赋值和其他的页面赋值不同. 需要先定义 that=this 之后用that.globalDat ...
- 微信小程序App.js应用
微信小程序App.js应用 文章目录 微信小程序App.js应用 1.App.js内容 2.判断用户以什么方式进入小程序 3.获取用户信息 4.设置全局变量 1.App.js内容 App.js写逻辑内 ...
- 微信小程序使用百度api获取天气信息 —— 微信小程序教程系列(16)
之前已经介绍过,如何使用百度地图api来获取地理位置信息 微信小程序的百度地图获取地理位置 -- 微信小程序教程系列(15) 下面介绍使用百度api来获取天气信息. 1> 第一步:先到百度开放平 ...
- 小程序:版本更新后获取用户信息变更
小程序:版本更新后获取用户信息变更 更新后,以前获取用户信息,是通过wx.getUserInfo,然后就会弹出授权窗口,现在必须通过button ,才能实现: <button open-type ...
- 微信小程序自定义组件中获取app实例的值,生命周期与页面的生命周期执行先后顺序
调试基本库:2.12.2 最近在接触微信小程序开发 有这么一个需求,自定义组件需要给页面传一个app实例的参数, 总结: 1.自定义组件中data 不能直接获取app.globalData 2.通过自 ...
最新文章
- 如何启用计算机上的无线网络连接,告诉大家win10无线网络连接如何打开
- spring之java配置(springboot推荐的配置方式)
- Boost::context模块fiber的无限循环测试程序
- 不同服务器数据库表连接查询修改,如何连接多个数据库,mysql中的服务器和查询两个表中的对方?...
- 好文推荐系列--------(3)GruntJS 在线重载 提升生产率至新境界
- vue解构赋值_前端开发es6知识 模块化、解构赋值、字符串模板
- 报表用法 获取rdlc报表的控件
- axure轮播图怎么设置循环轮播_Axure教程:广告图片自动轮播+点击切换
- php5 Trace如何配置,配置参考 · ThinkPHP5.0完全开发手册 · 看云
- Linux chmod命令 修改文件权限被禁止(not permitted)的解决办法
- Fortran 95 流程控制、循环
- Super Enhancer(超级增强子)分析——ROSE包(v1.3.1)的安装及使用详解
- (三)进程各种id:pid、pgid、sid、全局pid、局部pid
- python5.2、输出格式控制 - 摄氏-华氏温度换算
- Node.js十年,你大爷还是你大爷
- OpenCV入门(C++/Python)-使用OpenCV裁剪图像(四)
- Jhipster生成前端为Vue的项目引入Element-UI
- DEVc++迷你世界0.10.0
- 华为手机开源内核代码
- Android AndroidManifest 文件详解