4.3 配置Mysql与注册登录模块(下)

2023-11-11

学习目标

  1. 前端页面授权
  2. 注册页面
  3. 登录状态的持久化

学习内容

实现前端页面的授权

import { createRouter, createWebHistory } from 'vue-router'
import PkIndexView from '../views/pk/PkIndexView'
import RecordIndexView from '../views/record/RecordIndexView'
import UserBotIndexView from '../views/user/bot/UserBotIndexView'
import NotFound from '../views/error/NotFound'
import RankListindexView from '../views/ranklist/RankListIndexView'
import UserAccountLoginView from '../views/user/account/UserAccountLoginView'
import UserAccountRegisterView from '../views/user/account/UserAccountRegisterView'
import store from '../store/index'


const routes = [
  // 当之输入网址localhost:8080时,跳转重定向

  {
    path: "/",
    name: "home",
    redirect: "/pk/",
    meta: {
      requestAuth: true,
    }
  },
  {
    path: "/pk/",
    name: "pk_index",
    component: PkIndexView,
    // 对某个页面进行授权
    meta: {
      requestAuth: true,
    }
  },
  {
    path: "/record/",
    name: "record_index",
    component: RecordIndexView,

    meta: {
      requestAuth: true,
    }
  },
  {
    path: "/ranklist",
    name: "ranklist_index",
    component: RankListindexView,

    meta: {
      requestAuth: true,
    }
  },
  {
    path: "/user/bot/",
    name: "user_bot_index",
    component: UserBotIndexView,

    meta: {
      requestAuth: true,
    }
  },
  {
    path: "/user/account/login/",
    name: "user_account_login",
    component: UserAccountLoginView,
    meta: {
      requestAuth: false,
    }
  },
  {
    path: "/user/account/register/",
    name: "user_account_register",
    component: UserAccountRegisterView,

    meta: {
      requestAuth: false,
    }
  },
  {
    path: "/404/",
    name: "404",
    component: NotFound,
    meta: {
      requestAuth: false,
    }
  },
  // 当输入乱七八糟的额网址时,跳转404
  {
    path: "/:catchAll(.*)",
    redirect: "/404/"

  }
]

const router = createRouter({
  history: createWebHistory(),
  routes
})


//  router再执行之前,先调用这个函数
router.beforeEach((to, from, next) => {
  if (to.meta.requestAuth && !store.state.user.is_login) {
    next({ name: "user_account_login" })
  } else {
    next();
  }
})
export default router

登录持久化:
就是将token存储到浏览器的本地硬盘里面localstory.

注册效果完成

在这里插入图片描述

登录状态持久化

现在的token是存储在前端的state里面(页面刷新就会失效),我们要把它存储到本地浏览器的localstory里面

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

4.3 配置Mysql与注册登录模块(下) 的相关文章

随机推荐

  • 嵌套循环基础练习题

    目录 java循环以及循环嵌套练习题 01 求10以内的偶数的和 02 求100以内的所有素数 素数 一个大于1的自然数 除了1和它本身外 不能被其他自然数整除 03 随机产生一个1 100之间的整数 看能几次猜中 要求 猜的次数不能超过7
  • CloudEvents 入门文档

    CloudEvents 入门文档 1 0 3 版本 文档来自 GitHub CloudEvents 摘要 这份非技术规范文档用来为你提供关于 CloudEvents 规范的总体概览 它补充了 CloudEvents 规范的相关背景以及在制定
  • midjourney最新使用方法教程指令关键词

    自ChatGPT走红以来 以 聊天 为核心的人工智能协作工具们受到了各行各业的关注 让AI写首诗 发封邮件 或是做一份计划书 这些工作已经成为AI聊天机器人的 日常需求 但似乎 人们遗忘了AI还具有创作文字以外的内容 比如 一幅画 2022
  • [完美解决]VS2012创建或打开C++浏览数据库文件时出现错误

    完美解决 VS2012创建或打开C 浏览数据库文件时出现错误 在使用VC2012的时候出现问题如下 创建或打开C 浏览数据库文件XXXXXXX stdf时发生错误 IntelliSense和浏览信息将不能用于C 项目 请确保已安装Micro
  • 全自动高清录播服务器,常态化高清录播服务器 高清全自动录播系统

    特点 支持高清视频会议终端1080P 720P下的录制 点播和直播 双流录制可到高两路1080P 60帧图像 支持把录制下来的会议或者培训内容直播给网内所有的客户端 PC和视频会议终端 支持IPhone IPAD 安卓系统等点播和直播 设计
  • BitLocker的解密

    BitLocker的解密 解密 以管理员身份运行命令提示符 然后在里面输入命令 C指的是盘符 这里以解密C为例 manage bde off C 弹出所有用法 manage bde 更多使用方法 可参考官网 https docs micro
  • win11打开应用被管理员阻止怎么办 window11管理员已阻止你运行此应用的解决方法

    大家在使用windows11系统时 是否有出现过电脑运行应用被阻止的情况呢 可能很多人的蒙着不知道如何处理这个问题 下面就和大家分享一下解决方法吧 更多Windows11安装教程 可以参考小白重装系统网 1 用鼠标右键单击开始图标 接着在出
  • TCP和UDP

    文章目录 TCP和UDP 什么是TCP 用JAVA实现一个基于TCP的简单网络通信 什么是UDP 用JAVA实现一个基于UDP的网络通信 TCP和UDP 什么是TCP TCP即传输控制协议 Transmission Control Prot
  • 【Unity学习笔记】Animation、Input类

    Animation Animation View 通过动画视图可以直接创建和修改动画片段 Animation Clips 显示动画视图 Window Animation 创建动画片段 为物体添加Animation组件 在动画视图中创建片段
  • Maven、JDK的安装以及环境配置

    Maven 项目管理工具 什么是Maven Maven是一个项目管理工具 它包含了一个对象模型 一组标准集合 一个依赖管理系统 和用来运行定义在生命周期阶段中插件目标和逻辑 核心功能 Maven的核心功能是合理叙述项目间的依赖关系 通俗点就
  • 端口转发工具 rinetd 的使用

    rinetd 可以将服务器的端口转发到另一个端口 1 安装rinetd 服务 vi etc yum repos d nux misc repo 输入以下内容报存 nux misc name Nux Misc baseurl http li
  • c++与c#的区别

    1 继承 C 支持多继承 C 类只能继承一个基类中的实现但可以实现多个接口 2 数组 声明 C 数组和声明 C 数组的语法不同 在 C 中 标记出现在数组类型的后面 3 数据类型 在C 中bool类可以与整型转换 但C 中bool 类型和其
  • 脚本ssh进入其他主机报错--bash: jps: command not found和Error: JAVA_HOME is not set and java could not be found

    文章目录 一 报错图例 二 报错原因 三 解决方案 三种 一 报错图例 二 报错原因 原因 在shell脚本写的ssh到其他节点的时候默认是不加载配置文件的 linux并不能去找到java中jps的命令和java的path路径等 三 解决方
  • 【java面试题】lock和synchronized有什么区别?

    学习目标 掌握 lock 与 synchronized 的区别 理解 ReentrantLock 的公平 非公平锁 理解 ReentrantLock 中的条件变量 lock 与 synchronized 的区别有三个层面 学习内容 1 不同
  • QT运行不出界面

    如果只出现如下一个黑色运行窗口 说明你环境配置的基本没啥问题 可以试试 项目 gt 构建设置中 gt General gt Shadow build 取消勾选 如下 如果第一种没有解决 看下构建出的release目录或者debug目录中 是
  • 自己实现图形验证码

    如果不想重复造轮子 参考上一篇文章 SpringBoot生成图形验证码 Muscleheng的博客 CSDN博客 这里不需要依赖开源组件包 完全自己实现图形验证码功能 两步完成 第一步 编写图形验证码工具 package com zhh d
  • 微信小程序 webiew缓存问题

    在微信小程序webview中嵌套H5页面 我们原本使用了localStorage用来标识用户信息的 但是后来发现在android手机上每一次杀掉小程序进程之后 localStorage的数据也会被清除 这样的话就和我们原本的意愿是相违背的
  • web 服务器安全维护,Web服务器安全攻击及防护机制详解

    Web安全分为两大类 Web服务器的安全性 Web服务器本身安全和软件配置 Web应用程序的安全性 在Web服务器上运行的Java ActiveX PHP ASP代码的安全 Web服务器面临的攻击 Web服务器攻击利用Web服务器软件和配置
  • 标定CCP协议在S32K144上的移植实战

    文章目录 目录 文章目录 前言 一 CCP是什么 二 移植步骤 1 准备工作 2 移植 3 测试验证 总结 前言 CCP协议在新能源汽车电子领域发挥着重要作用 CCP观测和标定作用对开发工程师起着重要作用 疫情宅在家无聊 把这块的知识重新梳
  • 4.3 配置Mysql与注册登录模块(下)

    目录 学习目标 学习内容 登录状态持久化 学习目标 前端页面授权 注册页面 登录状态的持久化 学习内容 实现前端页面的授权 import createRouter createWebHistory from vue router impor