yb课堂 实战之路由拦截和订单模块 《四十二》
前置守护 路由拦截功能开发
文档:https://router.vuejs.org/zh/guide/advanced/navigation-guards.html
router里面配置需要登陆的路由
meta: { requiresAuth:true }
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home/Home.vue'
import CourseDetail from '../views/CourseDetail/CourseDetail.vue'
import Login from '../views/Login/Login.vue'
import Order from '../views/Order/Order.vue'
import Pay from '../views/Pay/Pay.vue'
import Personal from '../views/Personal/Personal.vue'
import Register from '../views/Register/Register.vue' Vue.use(VueRouter) const routes = [
{
path: "/",
name: "Home",
component: Home
},
{
path: "/coursedetail",
name: "CourseDetail",
//按需加载
component: ()=>import("../views/CourseDetail/CourseDetail")
//component: CourseDetail
},
{
path: "/login",
name: "Login",
component: Login
},
{
path: "/order",
name: "Order",
component: Order,
meta: { requiresAuth:true }
},
{
path: "/pay",
name: "Pay",
component: Pay,
meta: { requiresAuth:true }
},
{
path: "/personal",
name: "Personal",
component: Personal,
meta: { requiresAuth:true }
},
{
path: "/register",
name: "Register",
component: Register
}
] const router = new VueRouter({
routes
}) export default router
main.js里面配置路由拦截
//拦截拦截,拦截全部路由,每次操作路由都是被拦截进行判断
router.beforeEach((to, from, next) => {
const token = localStorage.getItem('token');
//筛选需要传token的路由,匹配route里面需要登陆的路由,如果匹配到就是true
if (to.matched.some(record => record.meta.requiresAuth)) {
//根据token是否有,帕努单是否需要调到登陆页面
if (token) {
next();
} else {
next({ path: '/login' })
}
}else
{
next();
}
})
yb课堂 实战之路由拦截和订单模块 《四十二》的更多相关文章
- 潭州课堂25班:Ph201805201 django 项目 第四十二课 后台 课程相关,用户组管理 (课堂笔记)
在线课程: 当点击进入页面时,显示所有课程 def get(self, request): courses = Course.objects.select_related('category', 't ...
- MySQL实战45讲学习笔记:第四十二讲
一.本节概述 在 MySQL 里面,grant 语句是用来给用户赋权的.不知道你有没有见过一些操作文档里面提到,grant 之后要马上跟着执行一个 flush privileges 命令,才能使赋权语 ...
- 潭州课堂25班:Ph201805201 django 项目 第三十二课 后台站点管理(课堂笔记)
一.后台站点模版抽取 1.获取静态站点模版 可以使用git clone到本地 git clone https://github.com/almasaeed2010/AdminLTE.git 也可以在g ...
- Android项目实战(四十二):启动页优化,去除短暂白屏或黑屏
大家会发现一个空项目,从手机桌面打开app是秒启动.但是对于自己开发的项目,有时会发现打开app的时候,会有短暂的1秒--2秒的白屏或者黑屏,然后才进入到程序界面. 个人理解为我们自己实现的Appli ...
- 潭州课堂25班:Ph201805201 django 项目 第四十六课 查错 补缺 (课堂笔记
从讲项目开始,查找错误,完善笔记,尽可能 翻译没一句代码(以后台为主), 本项目亮点,也是重点 Django ORM中对数据查询的优化(only.defer.select_related) redis ...
- 潭州课堂25班:Ph201805201 django 项目 第四十五课 mysql集群和负载均衡(课堂笔记)
2.使用docker安装Haproxy 一.为什么要使用数据库集群和负载均衡? 1.高可用 2.高并发 3.高性能 二.mysql数据库集群方式 三.使用docker安装PXC 1.拉取PXC镜像 d ...
- 潭州课堂25班:Ph201805201 django 项目 第四十四课 项目部署 (课堂笔记)
项目部署 稳定,并发,效益, 一.Django配置 1.settings.py配置 复制全局settings.py配置文件,创建一个副本命名为MyBlog/pro_settings.py,修改DEBU ...
- 潭州课堂25班:Ph201805201 django 项目 第四十课 后台 文章发布,更新实现,热门新闻管理,轮播图管理(课堂笔记)
把图片上传到 七牛云,必须经过后台的许可, 在虚拟机中安装七牛云所需模块pip install qiniu # 创建utils/secrets/qiniu_secret_info.py文件 # 从七牛 ...
- Java并发编程原理与实战四十二:锁与volatile的内存语义
锁与volatile的内存语义 1.锁的内存语义 2.volatile内存语义 3.synchronized内存语义 4.Lock与synchronized的区别 5.ReentrantLock源码实 ...
- MySQL实战45讲学习笔记:第四十五讲
一.本节概述 MySQL 里有很多自增的 id,每个自增 id 都是定义了初始值,然后不停地往上加步长.虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限.比如,无符 ...
随机推荐
- vue2下拉框组件使用技巧
1.ant design 下拉框组件--单选 <span style="font-size: 14px;">污水厂</span> <a-select ...
- (图形界面)Dbever连接MySQL8 报错mysql8 安装The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone.
问题原因是没有设置时区,这个在Mysql8中会有 解决方式: 在这个位置加上UTC时区就可以了. IDEA添加方式 设置Advanced的allowPublicKeyRetrieval为true 同时 ...
- 编译mmdetection3d时,无root权限下为虚拟环境单独创建CUDA版本
在跑一些深度学习代码的时候,如果需要使用mmdetection3d框架,下载的pytorch的cudatoolkit最好需要和本机的cuda版本是一样的,即输入nvcc -V命令后显示的版本一样. 但 ...
- visualstudio着色器设计器shadergraph使用
第一次使用着色器设计器. vs的着色器设计器是hlsl的着色器设计器.不得不说里面节点得翻译是一坨屎. 附一个光线于法向量夹角渲染的设计图
- 使用 Microsoft Edge WebDriver 自动执行和测试 WebView2 应用 Selenium
https://learn.microsoft.com/zh-cn/microsoft-edge/webview2/how-to/webdriver
- aspnet core运行后台服务任务
之前在公司的一个项目中需要用到定时程序,当时使用的是aspnet core提供的IHostedService接口来实现后台定时程序,具体的示例可去官网查看.现在的dotnet core中默认封装了实现 ...
- Vue3使用Composition API实现响应式
title: Vue3使用Composition API实现响应式 date: 2024/5/29 下午8:10:24 updated: 2024/5/29 下午8:10:24 categories: ...
- Linux命令行优化,历史记录优化
#命令行优化: echo "export PS1='\[\033[01;31m\]\u\[\033[00m\]@\[\033[01;32m\]\h\[\033[00m\][\[\033[01 ...
- nginx优化实践与验证
nginx优化实践 实践场景1: 单台nginx 2核4G 实践场景2: 三台nginx 2核4G 压测工具:WRK 初始安装的nginx压测: yum install -y nginx 安装WRK压 ...
- SwiftObject 杂记
一.前言 看了一段时间的Swift,慢慢转变了一些对Swift的看法. Swift作为苹果新晋的开发语言.具有模板编程.函数编程.协议多继承.vTable静态绑定.值引用类型区分.Option类型等动 ...