mirror of
https://github.com/jumpserver/lina.git
synced 2025-09-21 19:19:29 +00:00
[Update] 添加路由
This commit is contained in:
98
README-zh.md
98
README-zh.md
@@ -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
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## 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
|
|
98
README.md
98
README.md
@@ -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/).
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## 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
|
|
||||||
|
@@ -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",
|
||||||
|
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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',
|
||||||
|
@@ -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' }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@@ -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]: ''
|
||||||
|
Reference in New Issue
Block a user