获取个人微信信息
微信 获取 信息 个人
2023-09-27 14:26:05 时间
上一篇教程中写道,开发工具会生成一个默认的程序框架,其中程序的主流程代码包含在app.js中。默认实现中,该部分功能比较简单,不过对于学研究小程序开发还是比较有价值的。
由于代码行数不多,下面一次性贴出来后进行讲解
//app.js
App({
onLaunch: function () {
//调用API从本地缓存中获取数据
var logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs', logs)
},
getUserInfo:function(cb){
var that = this
if(this.globalData.userInfo){
typeof cb == "function" && cb(this.globalData.userInfo)
}else{
//调用登录接口
wx.login({
success: function () {
wx.getUserInfo({
success: function (res) {
that.globalData.userInfo = res.userInfo
typeof cb == "function" && cb(that.globalData.userInfo)
}
})
}
})
}
},
globalData:{
userInfo:null
}
})
代码中定义了一个App对象,该对象包含onLaunch
, getUserInfo
两个方法和globalData
成员变量 其中onLaunch
方法会在程序启动时由框架来进行调用。在该方法中,程序通过微信提供的本地存储接口获取了一个logs
变量,第一次获取时会返回空,这时将变量初始化为空数组。之后在数组头部添加一个格式化的时间字符串,之后将数组变量存储在本地。
微信小程序框架提供了一系列api来帮助我们进行本地数据存储,上面的代码中使用到了wx.getStorageSync
和wx.setStorageSync
两个api,更多相关api可以参考这里
getUserInfo
方法很容易理解,会执行获取用户信息的功能。不过该方法不同于onLaunch
,它不是框架预设的函数,因此不会自动触发调用。该方法是在index.js的onload
方法中调用的(关于index.js部分会在后续教程中讲解)。该方法需要调用者传递一个名为cb的参数,首先判断是否获取过用户信息,如果获取过并且cb是函数的话,就会调用cb
函数并将globalData
成员变量传递进去,否则将调用wx.login
接口来获取用户信息。
对js不熟悉或者很少接触脚本语言的同学可能会对上述代码的语法产生困惑,这几行代码涉及到了函数回调,匿名函数,闭包等概念,我后续会针对这部分单独写一篇教程。
代码最后定义了 globalData
成员变量,该成员包含userInfo
变量,用来保存用户信息。
相关文章
- 微信扫码支付(3):获取验签秘钥
- 微信公众号开发C#系列-8、自定义菜单及菜单响应事件的处理
- 微信快速开发框架(八)-- V2.3--增加语音识别及网页获取用户信息,代码已更新至Github
- java获取点击微信自定义菜单的用户openid
- Java批量解析微信dat文件,微信图片
- 微信 OAuth2 网页授权获取用户信息
- 微信小程序出现sitemap的黄色警告, 将被索引
- 微信小程序菜谱+后台管理系统
- 微信小程序居家养老+后台管理系统
- 【云计算的1024种玩法】使用阿里云+微擎打造微信公众号管理系统
- ***微信公众平台开发: 获取用户基本信息+OAuth2.0网页授权
- 微信小程序,联系客服
- 微信小程序获取位置
- java实现微信支付宝等多个支付平台合一的二维码支付(maven+spring springmvc mybatis框架)
- 微信小程序 --- e.currentTarget.dataset.id 获取不到值
- python获取的信息列表微信公共平台和用户头像
- 微信开发值得推荐的开源项目
- 使用Aliplayer在微信中播放视频的正确姿势
- 微信小程序——获取用户的运动步数
- Android10 分享微信提示获取资源失败
- 微信小程序----高德地图开发应用(获取key)
- 微信小程序开发之真机测试 地图定位 map API 无法获取当前位置的问题
- 微信小程序 location API
- 微信授权、登录、注册逻辑