[Update] 添加路由

This commit is contained in:
ibuler
2020-03-20 17:59:54 +08:00
parent e1741fa1f6
commit 34a6c08f2d
8 changed files with 184 additions and 1634 deletions

View File

@@ -1,98 +0,0 @@
# vue-admin-template
> 这是一个极简的 vue admin 管理后台。它只包含了 Element UI & axios & iconfont & permission control & lint这些搭建后台必要的东西。
[线上地址](http://panjiachen.github.io/vue-admin-template)
[国内访问](https://panjiachen.gitee.io/vue-admin-template)
目前版本为 `v4.0+` 基于 `vue-cli` 进行构建,若你想使用旧版本,可以切换分支到[tag/3.11.0](https://github.com/PanJiaChen/vue-admin-template/tree/tag/3.11.0),它不依赖 `vue-cli`
## Extra
如果你想要根据用户角色来动态生成侧边栏和 router你可以使用该分支[permission-control](https://github.com/PanJiaChen/vue-admin-template/tree/permission-control)
## 相关项目
- [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin)
- [electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin)
- [vue-typescript-admin-template](https://github.com/Armour/vue-typescript-admin-template)
- [awesome-project](https://github.com/PanJiaChen/vue-element-admin/issues/2312)
写了一个系列的教程配套文章,如何从零构建后一个完整的后台项目:
- [手摸手,带你用 vue 撸后台 系列一(基础篇)](https://juejin.im/post/59097cd7a22b9d0065fb61d2)
- [手摸手,带你用 vue 撸后台 系列二(登录权限篇)](https://juejin.im/post/591aa14f570c35006961acac)
- [手摸手,带你用 vue 撸后台 系列三 (实战篇)](https://juejin.im/post/593121aa0ce4630057f70d35)
- [手摸手,带你用 vue 撸后台 系列四(vueAdmin 一个极简的后台基础模板,专门针对本项目的文章,算作是一篇文档)](https://juejin.im/post/595b4d776fb9a06bbe7dba56)
- [手摸手,带你封装一个 vue component](https://segmentfault.com/a/1190000009090836)
## Build Setup
```bash
# 克隆项目
git clone https://github.com/PanJiaChen/vue-admin-template.git
# 进入项目目录
cd vue-admin-template
# 安装依赖
npm install
# 建议不要直接使用 cnpm 安装以来,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org
# 启动服务
npm run dev
```
浏览器访问 [http://localhost:9528](http://localhost:9528)
## 发布
```bash
# 构建测试环境
npm run build:stage
# 构建生产环境
npm run build:prod
```
## 其它
```bash
# 预览发布环境效果
npm run preview
# 预览发布环境效果 + 静态资源分析
npm run preview -- --report
# 代码格式检查
npm run lint
# 代码格式检查并自动修复
npm run lint -- --fix
```
更多信息请参考 [使用文档](https://panjiachen.github.io/vue-element-admin-site/zh/)
## Demo
![demo](https://github.com/PanJiaChen/PanJiaChen.github.io/blob/master/images/demo.gif)
## Browsers support
Modern browsers and Internet Explorer 10+.
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
| --------- | --------- | --------- | --------- |
| IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions
## License
[MIT](https://github.com/PanJiaChen/vue-admin-template/blob/master/LICENSE) license.
Copyright (c) 2017-present PanJiaChen

View File

@@ -1,91 +1,25 @@
# vue-admin-template #
English | [简体中文](./README-zh.md) ## Project setup
```
> A minimal vue admin template with Element UI & axios & iconfont & permission control & lint yarn install
**Live demo:** http://panjiachen.github.io/vue-admin-template
**The current version is `v4.0+` build on `vue-cli`. If you want to use the old version , you can switch branch to [tag/3.11.0](https://github.com/PanJiaChen/vue-admin-template/tree/tag/3.11.0), it does not rely on `vue-cli`**
## Build Setup
```bash
# clone the project
git clone https://github.com/PanJiaChen/vue-admin-template.git
# enter the project directory
cd vue-admin-template
# install dependency
npm install
# develop
npm run dev
``` ```
This will automatically open http://localhost:9528 ### Compiles and hot-reloads for development
```
## Build yarn serve
```bash
# build for test environment
npm run build:stage
# build for production environment
npm run build:prod
``` ```
## Advanced ### Compiles and minifies for production
```
```bash yarn build
# preview the release environment effect
npm run preview
# preview the release environment effect + static resource analysis
npm run preview -- --report
# code format check
npm run lint
# code format check and auto fix
npm run lint -- --fix
``` ```
Refer to [Documentation](https://panjiachen.github.io/vue-element-admin-site/guide/essentials/deploy.html) for more information ### Lints and fixes files
```
yarn lint
```
## Demo ### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
![demo](https://github.com/PanJiaChen/PanJiaChen.github.io/blob/master/images/demo.gif)
## Extra
If you want router permission && generate menu by user roles , you can use this branch [permission-control](https://github.com/PanJiaChen/vue-admin-template/tree/permission-control)
For `typescript` version, you can use [vue-typescript-admin-template](https://github.com/Armour/vue-typescript-admin-template) (Credits: [@Armour](https://github.com/Armour))
## Related Project
- [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin)
- [electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin)
- [vue-typescript-admin-template](https://github.com/Armour/vue-typescript-admin-template)
- [awesome-project](https://github.com/PanJiaChen/vue-element-admin/issues/2312)
## Browsers support
Modern browsers and Internet Explorer 10+.
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="IE / Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>IE / Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari |
| --------- | --------- | --------- | --------- |
| IE10, IE11, Edge| last 2 versions| last 2 versions| last 2 versions
## License
[MIT](https://github.com/PanJiaChen/vue-admin-template/blob/master/LICENSE) license.
Copyright (c) 2017-present PanJiaChen

View File

@@ -6,6 +6,7 @@
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"dev": "vue-cli-service serve", "dev": "vue-cli-service serve",
"serve": "vue-cli-service serve",
"build:prod": "vue-cli-service build", "build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging", "build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview", "preview": "node build/index.js --preview",

View File

@@ -10,12 +10,19 @@ const cn = {
'Documents': '文档', 'Documents': '文档',
'CommercialSupport': '商业支持' 'CommercialSupport': '商业支持'
}, },
menu: { route: {
'dashboard': '仪表盘', 'dashboard': '仪表盘',
'users': '用户管理', 'users': '用户管理',
'userlist': '用户列表', 'userList': '用户列表',
'usergroup': '用户组', 'userGroupList': '用户组',
'assets': '资产管理', 'assets': '资产管理',
'assetList': '资产列表',
'domainList': '网关列表',
'adminUserList': '管理用户',
'systemUserList': '系统用户',
'labelList': '标签管理',
'commandFilterList': '命令过滤',
'platformList': '平台列表',
'applications': '应用管理', 'applications': '应用管理',
'perms': '权限管理', 'perms': '权限管理',
'sessions': '会话管理', 'sessions': '会话管理',
@@ -299,9 +306,6 @@ const cn = {
'setting': '系统设置', 'setting': '系统设置',
'basicsetting': '基本设置' 'basicsetting': '基本设置'
}, },
'route': {
'Users': '用户管理'
},
...zhLocale ...zhLocale
} }

View File

@@ -9,12 +9,11 @@ const en = {
'help': 'help', 'help': 'help',
'Documents': 'Documents', 'Documents': 'Documents',
'CommercialSupport': 'Commercial Support' 'CommercialSupport': 'Commercial Support'
}, },
menu: { route: {
'dashboard': 'Dashboard', 'dashboard': 'Dashboard',
'users': 'Users', 'users': 'Users',
'userlist': 'User List', 'userList': 'User List',
'usergroup': 'User Group', 'usergroup': 'User Group',
'assets': 'Assets', 'assets': 'Assets',
'applications': 'Applications', 'applications': 'Applications',

View File

@@ -44,30 +44,125 @@ export const constantRoutes = [
redirect: '/dashboard', redirect: '/dashboard',
children: [{ children: [{
path: 'dashboard', path: 'dashboard',
name: 'Dashboard', name: 'dashboard',
component: () => import('@/views/dashboard/index'), component: () => import('@/views/dashboard/index'),
meta: { title: 'Dashboard', icon: 'dashboard' } meta: { title: 'dashboard', icon: 'dashboard' }
}] }]
}, },
{ {
path: '/example', path: '/users/',
component: Layout, component: Layout,
redirect: '/example/table', name: 'users',
name: 'Example', meta: { title: 'users', icon: 'user' },
meta: { title: 'Example', icon: 'example' },
children: [ children: [
{ {
path: 'table', path: 'users',
name: 'Table', name: 'userList',
component: () => import('@/views/table/index'), component: () => import('@/views/table/index'),
meta: { title: 'Table', icon: 'table' } meta: { title: 'userList' }
}, },
{ {
path: 'tree', path: 'groups',
name: 'Tree', name: 'userGroupList',
component: () => import('@/views/tree/index'), component: () => import('@/views/tree/index'),
meta: { title: 'Tree', icon: 'tree' } meta: { title: 'userGroupList' }
}
]
},
{
path: '/assets/',
component: Layout,
name: 'assets',
meta: { title: 'assets', icon: 'user' },
children: [
{
path: 'assets',
name: 'assetList',
component: () => import('@/views/table/index'),
meta: { title: 'assetList' }
},
{
path: 'domains',
name: 'domainList',
component: () => import('@/views/tree/index'),
meta: { title: 'domainList' }
},
{
path: 'admin-users',
name: 'adminUserList',
component: () => import('@/views/table/index'),
meta: { title: 'adminUserList' }
},
{
path: 'system-users',
name: 'systemUserList',
component: () => import('@/views/tree/index'),
meta: { title: 'systemUserList' }
},
{
path: 'labels',
name: 'labelList',
component: () => import('@/views/table/index'),
meta: { title: 'labelList' }
},
{
path: 'command-filters',
name: 'commandFilterList',
component: () => import('@/views/tree/index'),
meta: { title: 'commandFilterList' }
},
{
path: 'platforms',
name: 'platformList',
component: () => import('@/views/tree/index'),
meta: { title: 'platformList' }
}
]
},
{
path: '/applications/',
component: Layout,
name: 'applications',
meta: { title: 'applications', icon: 'user' },
children: [
{
path: 'remote-apps',
name: 'remoteAppList',
component: () => import('@/views/table/index'),
meta: { title: 'remoteAppList' }
},
{
path: 'databases',
name: 'databaseList',
component: () => import('@/views/tree/index'),
meta: { title: 'databaseList' }
}
]
},
{
path: '/perms/',
component: Layout,
name: 'perms',
meta: { title: 'perms', icon: 'user' },
children: [
{
path: 'assets-permissions',
name: 'assetPermissionList',
component: () => import('@/views/table/index'),
meta: { title: 'assetPermissionList' }
},
{
path: 'remote-apps-permissions',
name: 'remoteAppPermissionList',
component: () => import('@/views/tree/index'),
meta: { title: 'remoteAppPermissionList' }
},
{
path: 'database-permissions',
name: 'databasePermissionList',
component: () => import('@/views/tree/index'),
meta: { title: 'databasePermissionList' }
} }
] ]
}, },

View File

@@ -41,7 +41,7 @@ module.exports = {
// change xxx-api/login => mock/login // change xxx-api/login => mock/login
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
target: `http://localhost`, target: `http://localhost:8080`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '' ['^' + process.env.VUE_APP_BASE_API]: ''

1479
yarn.lock

File diff suppressed because it is too large Load Diff