# 前端路由小案例-后台管理系统案例
**Repository Path**: xingyueqianduan/qianduanrouter
## Basic Information
- **Project Name**: 前端路由小案例-后台管理系统案例
- **Description**: 前端路由小案例-后台管理系统案例。案例用到的知识点:命名路由,路由重定向,导航守卫,嵌套路由,动态路由匹配,编程式导航。用来复习前端路由。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 1
- **Created**: 2022-08-05
- **Last Updated**: 2023-10-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Vue
## README
# router-admin
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
# 前端路由小案例(后台管理小案例)
## 1 项目整体功能演示
**进入网站自动进入登录页面:**

**登录成功自动存储token,然后跳转到登录成功页面:**

**左边功能栏可以切换:**

**点击用户管理的操作可以跳转到用户详情页面,并却可以回退到上一步:**

**完了之后可以退出登录,并清除token,然后跳转到登录页面。**
## 2 **案例用到的知识点**
- 命名路由
- 路由重定向
- 导航守卫
- 嵌套路由
- 动态路由匹配
- 编程式导航
## 3 主要代码
##### 3.1 app.vue
```vue
```
##### 3.2 MyHome.vue
```vue
```
##### 3.3 MyLogin.vue
```vue
```
##### 3.4 MyAside.vue
```vue
```
##### 3.5 MyHeader.vue
```vue
```
##### 3.6 MyUsers.vue
```vue
用户管理
# |
姓名 |
年龄 |
头衔 |
操作 |
{{ item.id }} |
{{ item.name }} |
{{ item.age }} |
{{ item.position }} |
详情
|
```
##### 3.7 router/index.js (路由模块代码)
```js
import Vue from 'vue'
import VueRouter from 'vue-router'
//导入前置路由地址数组
import Arrrouter from '@/router/router.js'
import Login from '@/components/MyLogin.vue'
import Home from '@/components/MyHome.vue'
import Users from '@/components/menus/MyUsers.vue'
import Rights from '@/components/menus/MyRights.vue'
import Goods from '@/components/menus/MyGoods.vue'
import Orders from '@/components/menus/MyOrders.vue'
import Setting from '@/components/menus/MySettings.vue'
import UserDetail from '@/components/user/MyUserDetail.vue'
Vue.use(VueRouter)
const router = new VueRouter({
routes:[
//路由重定向
{ path:'/',redirect:'/login'},
//登录路由规则
{ path:'/login',component:Login},
{
path:'/home',
component:Home,
//路由重定向
redirect:'/home/users',
children:[
//路由重定向
// { path:'/',redirect:'users' },
//子路由规则
{ path:'users',component:Users },
{ path:'rights',component:Rights },
{ path:'goods',component:Goods },
{ path:'orders',component:Orders },
{ path:'setting',component:Setting },
//用户详情页路由规则
{ path:'userinfo/:id',component:UserDetail,props:true }
]
},
]
})
// 全局前置守卫
router.beforeEach((to,from,next)=>{
if(Arrrouter.indexOf(to.path) != -1){
const token = localStorage.getItem('token')
if(token){
next()
}else{
next('/login')
}
}else{
next()
}
})
export default router
```
##### 3.8 router (全局守卫路由路径)
```js
export default ['/home','/home/users','/home/orders','/home/rights','/home/setting']
```