跳至正文

微信小程序 userInfo 全局/本地存储

1. 在app.js 中存储

1.1 接口

// 往本地存储,防止小程序关闭,重写登录
wx.setStorageSync('userInfo', info);
// 从本地获取值
wx.getStorageSync('userInfo')
// 从清空本地值
wx.removeStorageSync('userInfo')

1.2案例

 /**
   * 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
   */
  onLaunch: function () {
    let that = this    
    // 页面刷新的时候取值
    var userInfo= wx.getStorageSync('userInfo')
    if (userInfo) {
      that.globalData.userInfo= userInfo
    }
  },
  //存储信息的仓库
  globalData: {
    userInfo: null
  },
  // 存储用户信息的函数
  initUserInfo: function (local, data) {
 
    var info = {
      nickName: local.nickName,
      avatarUrl: local.avatarUrl,
      phone: data.phone,
      token: data.token
    }
    // 在往本地仓库中设值
    that.globalData.userInfo= info
    // 往本地存储,防止小程序关闭,重新登录
    wx.setStorageSync('userInfo', info);
  },

2. 在页面中使用

2.1 接口

// 在page外面
const app = getApp();
 
data: {
    userInfo: null
  },
  
/**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.setData({
      userInfo: app.globalData.userInfo
    })
  },