微信小程序 全局路由拦截

2023-10-31

1. 微信小程序 全局路由拦截

// utils/filter.js
function loginCheck(pageObj) {
  if (pageObj.onLoad) {
      let _onLoad = pageObj.onLoad;
      // 使用onLoad的话需要传递options
      pageObj.onLoad = function (options) {
          if(wx.getStorageSync('userinfo')) {
              // 获取当前页面
              let currentInstance = getPageInstance();
              _onLoad.call(currentInstance, options);

          } else {
              //跳转到登录页
              wx.redirectTo({
                  url: "/pages/login/index"
              });
          }
      }
  }
  return pageObj;
}

// 获取当前页面    
function getPageInstance() {
  var pages = getCurrentPages();
  return pages[pages.length - 1];
}

exports.loginCheck = loginCheck;

2. 在需要使用的页面 中使用就行了

/
const filter = require('../../utils/filter');
Page(filter.loginCheck({
    // ...
    onLoad: function (options) {
       // ...
    },
    // ...
}));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序 全局路由拦截 的相关文章

随机推荐

  • 常用的像素操作算法:图像加法、像素混合、提取图像中的ROI

    图像可以是看成是一个多维的数组 读取一张图片 可以看成是读入了一系列的像素内容 这些像素内容 按照不同的模式具有不同的格式 对于三通道的 RGB 位图来说 每个像素是一个 8 bit 整数的三元组 图像的像素操作是比较基础的图像算法 下面列
  • DATAX 数据同步 My SQL->Hive

    DATAX 数据同步 My SQL gt Hive 安装 DATAX官方地址 https github com alibaba DataX DATAX WEB官方地址 https github com WeiYe Jing datax we
  • 在嵌入式设备中不创建swap分区的原因何在

    我们知道 在linux中有一个很重要的概念 虚拟内存 当物理内存不够时 可以将内存中一些数据存储到硬盘上 而让出物理内存 我们一般在PC上安装linux时 会创建一个swap分区 其大小一般设置为内存的2倍 而我们在嵌入式设备中 却看不到该
  • 面试时,如何向HR解释自己频繁跳槽?

    有数据显示 现在的职场人 跳槽越来越频繁 95后平均7个月就离职 对于面试官来说 一个跳槽过于频繁的人总是存在潜在风险 比如抗压力差 稳定性不好 心不定这山望着那山高 职业规划不清晰等等 我一直强调一个观点 职场人跳槽 应该是为了下一步有更
  • git配置用户名和密码_IDEA配置码云教程

    第一步 先在电脑上安装git exe 否则以后会出现错误 官方下载地址 https www git scm com downloads 官方中文教程 https git scm com book zh v2 点击自动下载 然后下载好后 选择
  • linux几种压缩命令的简单使用

    在CentOS 7中 常用的解压缩命令是tar gzip和bzip2 压缩命令是tar gzip bzip2和zip 以下是这些命令的使用方法 1 tar命令 tar是常用的归档和压缩工具 可以用来打包 压缩和解压文件 常用的选项有 c 创
  • 《深入浅出React和Redux》(1) - React基础

    create react app React技术依赖的技术栈比较多 比如 转译JavaScript代码需要使用Babel 模块打包工具要使用Webpack 定制build过程需要grunt或者gulp create react app命令可
  • 【Spring容器】项目启动后初始化数据的两种实践方案

    早期业务紧急 没有过多的在意项目的运行效率 现在回过头看走查代码 发现后端项目 Spring MVC MyBatis 在启动过程中多次解析mybatis的xml配置文件及初始化数据 对开发阶段开发人员反复启停项目造成很大的时间浪费 也即是下
  • java设计模式之享元模式通俗易懂

    什么是享元模式 为什么要使用享元模式 享元模式属于结构型设计模式 享元模式主要是为了解决大量对象创建后 增大了系统的资源开销 为了解决此问题 该模式通过共享对象的方式实现 既然是共享肯定有一定结构和策略 通俗易懂的举个例子 我们生活当中需要
  • C#元组学习笔记

    元组功能提供了简洁的语法来将多个数据元素分组成一个轻型数据结构 下面的示例演示了如何声明元组变量 对它进行初始化并访问其数据成员 double int t1 4 5 3 Console WriteLine Tuple with elemen
  • Vue-全局配置axios

    Vue 全局配置axios 1 安装axios npm i axios 2 在main js 引入axios import axios from axios 3 全局配置axios的请求根路径 axios defaults baseURL
  • OAuth原理,图文并茂,通俗易懂

    步骤2请求OAuth登录页 慕课的服务器请求腾讯服务器 步骤3使用第三方账号登录并授权 步骤4返回登录结果 拿到了加密后的code参数 有了code基本上可以确定 用户输入的QQ号和密码 是匹配的 也就是说登录是成功的 但还不够出于安全性的
  • 服务器磁盘如何新建文件夹,如何使用网络硬盘

    网络硬盘是将OA服务器上某一个已经存在的文件夹开放并允许用户通过IE进行共享访问 是一种重要的文件共享方式 类似于文件柜 又区别于文件柜 网络硬盘的存储是将OA服务器上的某个物理存在的文件夹 设置为网络硬盘 换言之 是将文件存储于服务器上特
  • Android TreeView 树形组织结构 带复选框

    之前做项目的时候做人员组织架构时候需要用到 同样可以用于目录视图 简单搜了一下没有合适的 只找到一个基础的有瑕疵的树形结构 就在基础上改了增加了复选框以及简化了部分代码 下面上演示效果图 时长25秒 手机卡见谅 复选框有两种设计模式 1 子
  • SpringBoot 更优雅的实现接口操作日志获取

    SpringBoot 更优雅的实现接口操作日志获取 使用注解 延迟到子类处理的方式实现解耦合 1 定义 Oplog 系统操作日志注解 author chenyusheng create 2023 6 28 9 56 description
  • 字符串系列题目(C++)

    参考链接 https leetcode cn com problems fan zhuan dan ci shun xu lcof solution yi ge mo ban shua bian suo you zi fu chu x6vh
  • 五大常用算法之二:动态规划算法

    一 基本概念 动态规划过程是 每次决策依赖于当前状态 又随即引起状态的转移 一个决策序列就是在变化的状态中产生出来的 所以 这种多阶段最优化决策解决问题的过程就称为动态规划 二 基本思想与策略 基本思想与分治法类似 也是将待求解的问题分解为
  • Spring基础入门2 - IoC容器

    在上文介绍了Spring IoC容器的基本用法 下面做一个稍微复杂点的例子 继续学习Spring的IoC和AoP的 实际 使用 我们假设有一个在线商城OnlineStore 在线商城需要提供一些银行相关服务 假设 因为银行服务的实现是容易变
  • Qt 基于元对象系统实现反射

    背景 C 不支持反射 但使用 Qt 的元对象系统可以实现反射机制 使用反射创建对象 概述 使用 Qt 的元对象系统 可以使用反射来创建对象 需要把构造函数用 Q INVOKABLE 进行标记 类定义示例 class demoClass pu
  • 微信小程序 全局路由拦截

    1 微信小程序 全局路由拦截 utils filter js function loginCheck pageObj if pageObj onLoad let onLoad pageObj onLoad 使用onLoad的话需要传递opt