您好,小程序模板欢迎您。
小程序模板
当前位置 : 首页> 小程序教程> 微信小程序开发之——用户登录-检查用户是否已经登录

微信小程序开发之——用户登录-检查用户是否已经登录

一 概述

  • 小程序登录成功后,将服务器中返回的token保存在数据缓存中

  • 下次启动小程序时,判断数据缓存中是否存在token

  • 如果存在token,直接取出token即可,不在执行登录操作

  • token过期,需要重新执行登录

二 服务器端(index.js)——checklogin

//检测token是否有效
app.get('/checklogin',(req,res)=>{
    var session=db.session[req.query.token];
    console.log('checklogin:'+session);
    //将用户是否登录的布尔值返回给客户端
    res.json({is_login:session!==undefined});

 } )

说明:根据token取出的session是否为undefined

  • 如果是undefined,说明token已经过期

  • 如果不是undefined,说明token有效

三 小程序端

3.1 代码(app.js)

App({
  onLaunch() {
    this.checkLogin(res => {
      console.log('is_login:', res.is_login)
      if (!res.is_login) {
        this.login()
      }
    })
  },
  globalData: {
    token: null //保存token
  },
  //检测是否已经登录
  checkLogin: function (callback) {
    var token = this.globalData.token
    if (!token) {
      //从数据缓存中获取token
      token = wx.getStorageSync('token')
      if (token) {
        this.globalData.token = token;
      } else {
        callback({
          is_login: false
        })
        return
      }
    }
    wx.request({
      url: 'http://127.0.0.1:3000/checklogin',
      data: {
        token: token
      },
      success: res => {
        callback({
          is_login: res.data.is_login
        })
      }
    })
  },
})

说明:

  • 小程序启动后检查用户是否已经登录,如果没有登录执行登录操作

  • 在token有效的情况下,控制台中可以看到输入结果is_login:true,,表示用户已经登录

3.2 控制台输出结果

is_login: true


联系客服 意见反馈

签到成功!

已连续签到1天,签到3天将获得积分VIP1天

知道了