专栏首页OSChina1 小程序开发 - 获取用户登录信息

1 小程序开发 - 获取用户登录信息

// pages/index/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    msg: "小小小施爷",
    userInfo: null,
    isShow: true
  },

  handlerParent(){
    console.log("父节点");
  },
  handlerChild(){
    console.log("子节点");
  },

  /**
  * 回调获取用户信息的函数
  */
 onGotUserInfo: function (data) {
     console.log("当前用户点击了",data);
     console.log(data.detail.userInfo);
     if (data.detail.userInfo){
           //当前用户点击的是允许
          this.setUserInfo();
     }
 },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
       console.log("onload 监听页面加载");
       
       this.setUserInfo();
  },

 /**
 * 设置用户信息
 */
  setUserInfo(){
       //判断用户是否已经授权了
       wx.getSetting({
            success: (data) => {
                 console.log(data);
                 if (data.authSetting['scope.userInfo']) {
                      //用户已经授权
                      this.setData({
                           isShow: false
                      });
                 } else {
                      //用户没有授权
                      this.setData({
                           isShow: true
                      })
                 }
            }
       });

       //获取登陆用户的信息
       wx.getUserInfo({
            success: (data) => {
                 console.log(data);
                 this.setData({
                      userInfo: data.userInfo
                 });
            },
            fail: (data) => {
                 console.log("获取用户信息失败" + data);
            }
       });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
       console.log("onReady 页面初次渲染完成");
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
       console.log("onShow 页面显示");
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
       console.log("onHide 页面隐藏");
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
       console.log("onUnload 页面卸载");
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
       console.log("onPullDownRefresh 监听用户下拉动作");
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
       console.log("onReachBottom 事件的处理函数");
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
       console.log("onShareAppMessage 点击右上角分享");
  }
})
<!--pages/index/index.wxml-->
<view class='indexContainer'>
  <image class='avatar' src='{{userInfo.avatarUrl}}'></image>
  <text class='userName'>hello {{userInfo.nickName}}</text>
  <view class='goStudy' catchtap='handlerParent'>
    <text catchtap='handlerChild'>open App</text>
  </view>
  <button style='display: {{isShow?"block":"none"}}' open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo">获取用户信息</button>
</view>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Tomcat优化配置

    启动tomcat,访问配置: http://localhost:8080/manager/status

    用户5927264
  • Consul

    官网地址: https://www.consul.io/intro/index.html

    用户5927264
  • shiro的验证码

    用户5927264
  • ES6新特性

    由于ES6在一些低版本的浏览器上无法运行,需转成ES5之前的版本兼容,以下有几种方案可以自动转换

    jinghong
  • 深入小程序系列之一:小程序核心原理及模拟

    小程序是一种新的移动应用程序格式,是一种依赖 Web 技术,但也集成了原生应用程序功能的混合解决方案。

    凡泰极客
  • Kmeans算法的Python实现

    用户2183996
  • NYOJ----蛇形填数

    蛇形填数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述在n*n方陈里填入1,2,...,n*n,要求填成蛇形。例如n=4时方陈为...

    Gxjun
  • 产品需求文档:C端生鲜电商APP

    (1)在居民生活品质意识加强及物流产业发展日渐成熟的推动下,中国冷链物流市场规模不断扩大,2019年冷链物流市场规模已达3780亿元,并预计在2020年达到48...

    物流IT圈
  • 快速学习-以太坊交易的 value 和 data

    cwl_java
  • 微信小程序导航参数中含有问号

    和三一样,还可以使用 encodeURIComponent 和 decodeURIComponent 这就是小程序中导航的参数含有?的解决方案,如果还有其他好...

    韦弦zhy

扫码关注云+社区

领取腾讯云代金券