解决微信小程序中在其他页面无法使用app.js中获取的userInfo或openid的问题

2018-09-01 20:53:50 阅读 0评论 3

温馨提示:

最后更新时间2018-09-01 20:53:50,若内容或图片失效,请留言反馈!

问题
最近写小程序中,在app.js里获取用户的openid和userinfo,并存储为全局变量:
 
getUserInfo: function () {
    var that = this
    wx.getUserInfo({
        success: function (res) {
            console.log('用户信息', res.userInfo)
                that.globalData.userInfo = res.userInfo
            }
        })
    },
 
然而当在index中调用getApp().globalData.userOpenid时却返回为空值。
 
原因
因为wx.getUserInfo为异步获取的信息。
 
解决方式
将getuserInfo改为回调函数:
 
getUserInfo: function (cb) {
        var that = this
        if (this.globalData.userInfo) {
            typeof cb == "function" && cb(this.globalData.userInfo)
        } else {
            wx.getUserInfo({
                success: function (res) {
                    console.log('用户信息', res.userInfo)
                    that.globalData.userInfo = res.userInfo
                    typeof cb == "function" && cb(that.globalData.userInfo)
                }
            })
        }
    },
 
在其他需要使用userinfo的页面中通过getApp().getUserInfo(function(userinfo){console.log(userinfo);})这种方式调用。
 
或者在onload函数中:
 
    onLoad: function (options) {
        var that = this
        getApp().getUserOpenid(function (openid) {
            that.setData({
                userName: getApp().globalData.userInfo.nickName,
                userOpenid: openid
            })
            console.log('用户openid', that.data.userOpenid)
        })
 
    },
转载:https://blog.csdn.net/mayuko2012/article/details/78252870

 

文章版权声明:除非注明,否则均为林羽凡原创文章,转载或复制请以超链接形式并注明出处。
林羽凡

林羽凡V

林羽凡博客,是一个记录自己生活、互联网技术的原创独立博客 Linyufan.Com

4259 文章
16545 评论
20844977 浏览

了解一下?

  • 了解一下?

优质服务器推荐

  • 软云_RuanCloud

活跃朋友

最新留言

    欢迎加入:heo-出家人:
    邹江 • 时间 17小时前
    WC,凡哥也整上软云了:heo-出家人:
    邹江 • 时间 17小时前
    我能坚持每天5公里,就不错了!
    八字123 • 时间 23小时前
    你是在保密局工作吗,家里嘴这么严,才让你知道。????
    jeffer.z的博客 • 时间 1天前
    欢迎加入!!!
    老张博客 • 时间 2024年03月27日 08:58:30
    @ 林羽凡还好,还好。问题不大,下雨什么的也没什么感觉
    obaby • 时间 2024年03月26日 20:27:24
    摔提挺严重呀。祝早日康复!:heo-感动:
    粽叶加米 • 时间 2024年03月26日 11:47:30
    这一看就好痛,本好奇宝宝曾经让汽修厂的升降机烟断过脚趾头。单腿蹦哒了三个月。:heo-泪奔:
    obaby • 时间 2024年03月26日 10:47:39
    @ 林羽凡开玩笑的,不会跑,我被cc,还是他给我解决的,当然备份还是必须的。数据安全第一,用谁的服务器都得备份。
    jeffer.z的博客 • 时间 2024年03月26日 09:12:10
    我也是软云????,一夜之间都在用,这要是jun跑路了,他就在博客圈火了,明天我也写一篇我和他的事情,很有意思。
    jeffer.z的博客 • 时间 2024年03月25日 23:30:05
    这得好好休息一段时间了
    dujun • 时间 2024年03月25日 21:29:29
    也是蛮厉害的人,完骑车才骑十多公里。
    惭愧呀,我得慢慢努力啦。
    争取早日摆脱菜腿称号。:heo-笑哭:
    Net • 时间 2024年03月25日 17:17:13

再了解一下?

  • 林羽凡待办
取消
支付宝二维码
支付宝二维码
微信二维码