Android手把手编写儿童手机远程监控App之vue3 路由守卫

上节完成agentweb如何实现全屏。 vue3最新的路由守卫与旧版不同。 旧版守卫:

clike 复制代码
router.beforeEach((to, from, next) => {
  console.log('进入路由前')

  const token = getUserData();

  // 未登录跳转登录页
  if (to.path !== '/login' && !token) {
    next('/login')
  } else {
    next()
  }
})

新版守卫

clike 复制代码
router.beforeEach((to) => {
  const token = getUserData();
  if (!token && to.path !== '/login') {
    return {
      path: '/login'
    }
  }

  return true
})

对比差别,直接返回路由地址,而不是使用next放行。

storge.ts获取token源码

clike 复制代码
const dumainfo = 'dumainfo';
export function getUserData() {
  if (!window.localStorage) {
    return null
  }
  return localStorage.getItem(dumainfo)
}

export function setUserData (data:string) {
  if (!window.localStorage) {
    return false
  }
  localStorage.setItem(dumainfo, data)
  console.log('设置成功')
  return true
}

export function removeUserData () {
  localStorage.removeItem(dumainfo)
}

export function getDictData () {
  if (!window.localStorage) {
    return null
  }
  return localStorage.getItem('dictdata')
}

export function setDictData (data:string) {
  if (!window.localStorage) {
    return false
  }
  localStorage.setItem('dictdata', data)
  console.log('设置成功')
  return true
}

export function clearData () {
  localStorage.clear()
}
相关推荐
鸿蒙开发1 小时前
共享 Schema 与 SchemaFactory
前端·后端·harmonyos
屏什么录1 小时前
录屏超过两小时就卡顿崩盘?从参数调优到代码实现,一文彻底搞定长时间录屏
前端·音视频开发
计算机魔术师1 小时前
950亿怎么拆:Meta给AI基建配的三档弹药
前端
碳基生物猛吃膳食纤维1 小时前
结合DEEPSEEK和CHATGPT弄了个小脚本,批量检查商品主图
前端
绝世唐门三哥1 小时前
CSS 换行三剑客:overflow-wrap、word-break 与 white-space 完全指南
前端·css
kyriewen1 小时前
别再用防抖做懒加载了:120 张图只加载出 4 张
前端·javascript·程序员
计算机魔术师1 小时前
Hugging Face CEO 转评前 DOGE 研究人员用 AI 智能体渗透 Anthropic 系统事件
前端
IT_陈寒2 小时前
刚解决一个 Java 并发问题,这坑踩得我怀疑人生
前端·人工智能·后端
前端一课2 小时前
一个晚上,四个“小问题”:我重写了 12 章 ArkUI 笔记
前端
小码哥_常2 小时前
前端图片压缩实战——我把网站图片体积砍了 70%
前端