+
95
-

uniapp如何进行全局路由拦截?

uniapp如何进行全局路由拦截?

这样可以进行权限验证。

网友回复

+
15
-

利用uni.addInterceptor可在onlaunch中引入

routingIntercept.js示例代码:

/**
 * @description 自定义路由拦截
 */


// 白名单
const whiteList = [
  '/', // 注意入口页必须直接写 '/'
  { pattern: /^\/pages\/list.*/ }, // 支持正则表达式
  '/pages/grid/grid',
  '/pages/user-center/user-center',
  { pattern: /^\/pages\/login\/*/ }
]

export default async function() {
  const list = ['navigateTo', 'redirectTo', 'reLaunch', 'switchTab']
  // 用遍历的方式分别为,uni.navigateTo,uni.redirectTo,uni.reLaunch,uni.switchTab这4个路由方法添加拦截器
  list.forEach(item => {
    uni.addInterceptor(item, {
      invoke(e) {
        // 获取要跳转的页面路径(url去掉"?"和"?"后的参...

点击查看剩余70%

我知道答案,我要回答