美文网首页让前端飞Web前端之路微信小程序开发
微信小程序自动登录逻辑分析与实现,页面黑白名单管理(下)

微信小程序自动登录逻辑分析与实现,页面黑白名单管理(下)

作者: 这麻雀 | 来源:发表于2019-06-12 17:45 被阅读4次

    微信小程序自动登录逻辑分析与实现,页面黑白名单管理(上)
    小程序没有页面黑白名单验证,进入页面需要登录的,就加loginCheck,点击页面某个方法判断未登录状态跳转登录的,调goLogin

    // filter.js
    const ajax = require('./ajax.js');
    const app = getApp();
    function loginCheck(pageObj) {
      return new Promise(function (resolve, reject) {
        // 检查usertoken有没有过期
        let usertoken = wx.getStorageSync('usertoken');
        ajax.dotnetRequest({
          url: '/api/system/usertoken/检查/' + usertoken,
          success: function (res) {
            if (res.statusCode === 200 && res.data.code === 0) {
              if (res.data.data) {
                // 没有过期,正常执行
                resolve(true);
              } else {
                // 过期,保存当前页,跳转登录授权页  
                resolve(false);
                goLogin();
              }
            }
          }
        });
      })
     
    }
    
    function goLogin(){
      // 过期,保存当前页,跳转登录授权页  
      wx.showToast({
        title: '用户未登录',
        duration: 2000,
        icon: 'none'
      })
      let currentInstance = ajax.getCurrentPageUrlWithArgs();
      wx.setStorage({
        key: 'loginBeforeRoute',
        data: ajax.getCurrentPageUrlWithArgs(),
        success: function () {    
          wx.redirectTo({
            url: '/pages/home/login/index/index'
          })
        }
      })
    }
    
    
    module.exports = {
      loginCheck: loginCheck,
      goLogin: goLogin
    }
    

    1:loginCheck -- 检查页面是否登陆,用法示例:


    loginCheck

    如果onShow无后续操作,也可直接:

    loginCheck

    :2:goLogin -- 页面未检查登录状态,但点击接口,返回-2时,用法示例:


    goLogin

    相关文章

      网友评论

        本文标题:微信小程序自动登录逻辑分析与实现,页面黑白名单管理(下)

        本文链接:https://www.haomeiwen.com/subject/hhqrfctx.html