ios 点击按钮, 如何全局拦截事件, 判断用户是否登录, 再进行跳转逻辑处理

问题描述

点击app界面任何一个按钮, 如何全局拦截事件, 判断用户是否登录, 再进行跳转逻辑处理

阅读 4.3k
3 个回答

全局存一个变量,
默认 false
例如:
isLogin:false

登录了置成true
点击按钮,判断 isLogin===true

写一个UIButton的分类,拦截按钮的点击事件

可以在路由钩子上做处理。
下面是vue的写法:

beforeEach(({ meta, path, query }, from, next) => {
  iView.LoadingBar.start()
  const data = Boolean(localStorage.getItem('userInfo'))
  if (data) {
    if (path === '/login' || path === '/') {
      if (state.sideRouter.length) {
        next(`${state.sideRouter[0].path}/${state.sideRouter[0].children[0].path}`)
      } else {
        // 防止第一次进入时,state.sideRouter没有数据,导致跳转不了
        next(localStorage.LOGIN_PATH)
      }
    }
    next()
  } else {
    if (path === '/login') {
      next()
    } else {
      next('/login')
    }
  }
})

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题