You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
238 lines
8.3 KiB
238 lines
8.3 KiB
<p align="center">
|
|
<img width="120" src="public/img/icons/android-chrome-512x512.png">
|
|
</p>
|
|
|
|
<p align="center">
|
|
<a href="https://github.com/vuejs/vue">
|
|
<img src="https://img.shields.io/badge/vue-2.6.10-brightgreen.svg" alt="vue">
|
|
</a>
|
|
<a href="https://github.com/ElemeFE/element">
|
|
<img src="https://img.shields.io/badge/element--ui-2.15.1-brightgreen.svg" alt="element-ui">
|
|
</a>
|
|
<a href="https://circleci.com/gh/Armour/vue-typescript-admin-template/tree/master">
|
|
<img src="https://circleci.com/gh/Armour/vue-typescript-admin-template/tree/master.svg?style=shield" alt="CircleCI">
|
|
</a>
|
|
<a href="http://makeapullrequest.com">
|
|
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat" alt="PRs Welcome">
|
|
</a>
|
|
<a href="https://opensource.org/licenses/MIT">
|
|
<img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT">
|
|
</a>
|
|
<a href="https://github.com/Armour/Jarvis">
|
|
<img src="https://img.shields.io/badge/Hi-Jarvis-ff69b4.svg" alt="Template from jarvis">
|
|
</a>
|
|
</p>
|
|
|
|
English | [简体中文](./README-zh.md)
|
|
|
|
## Overview
|
|
|
|
[vue-typescript-admin-template](http://armour.github.io/vue-typescript-admin-template) is a production-ready front-end solution for admin interfaces based on [vue](https://github.com/vuejs/vue), [typescript](https://www.typescriptlang.org/) and UI Toolkit [element-ui](https://github.com/ElemeFE/element). The original Javascript version code [vue-element-admin](https://github.com/PanJiaChen/vue-element-admin/) was written by [PanJiaChen](https://github.com/PanJiaChen), many thanks to him for the awesome open source project! :)
|
|
|
|
If you want to get started with a minimal template code instead of integration solution, you can take a look at the [minimal](https://github.com/Armour/vue-typescript-admin-template/tree/minimal) branch.
|
|
|
|
## Documentation
|
|
|
|
[Docs](https://armour.github.io/vue-typescript-admin-docs)
|
|
|
|
## Live demo
|
|
|
|
[Demo](https://armour.github.io/vue-typescript-admin-template)
|
|
|
|
## Screenshots
|
|
|
|

|
|
|
|
## Related Projects
|
|
|
|
[Armour/vue-typescript-admin-mock-server](https://github.com/armour/vue-typescript-admin-mock-server) (mock server for this project)
|
|
|
|
[Armour/vue-typescript-admin-docs](https://github.com/armour/vue-typescript-admin-docs) (documentation source for this project)
|
|
|
|
Javascript version:
|
|
|
|
[PanJiaChen/vue-admin-template](https://github.com/PanJiaChen/vue-admin-template) (a vue2.0 minimal admin template)
|
|
|
|
[PanJiaChen/vue-element-admin](https://github.com/PanJiaChen/vue-element-admin) (full features supported vue admin)
|
|
|
|
[PanJiaChen/electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin) (a vue electron admin project)
|
|
|
|
## Features
|
|
|
|
```txt
|
|
- Login / Logout
|
|
|
|
- Permission Authentication
|
|
- Page permission
|
|
- Directive permission
|
|
- Permission configuration page
|
|
- Two-step login
|
|
|
|
- Multi-environment build
|
|
- Dev / Stage / Prod
|
|
|
|
- Global Features
|
|
- I18n
|
|
- Dynamic themes
|
|
- Dynamic sidebar (supports multi-level routing)
|
|
- Dynamic breadcrumb
|
|
- Tags-view (supports right-click operation)
|
|
- Clipboard
|
|
- Svg icons
|
|
- Search
|
|
- Screenfull
|
|
- Settings
|
|
- Mock data / Mock server
|
|
- PWA support
|
|
|
|
- Components
|
|
- Editors
|
|
- Rich Text Editor
|
|
- Markdown Editor
|
|
- JSON Editor
|
|
- Avatar Upload
|
|
- Back To Top
|
|
- CountTo
|
|
- Dropzone
|
|
- Draggable Dialog
|
|
- Draggable Kanban
|
|
- Draggable List
|
|
- Draggable Select
|
|
- ECharts
|
|
- Mixin
|
|
- SplitPane
|
|
- Sticky
|
|
|
|
- Table
|
|
- Dynamic Table
|
|
- Draggable Table
|
|
- Inline Edit Table
|
|
- Complex Table
|
|
|
|
- Excel
|
|
- Export Excel
|
|
- Upload Excel
|
|
- Excel Visualization
|
|
|
|
- Zip
|
|
- Export zip
|
|
|
|
- PDF
|
|
- Download pdf
|
|
|
|
- Dashboard
|
|
- Guide Page
|
|
- Advanced Example Page
|
|
- Error Log
|
|
- Error Page
|
|
- 401
|
|
- 404
|
|
```
|
|
|
|
## Preparation
|
|
|
|
You need to install [node](http://nodejs.org/) and [git](https://git-scm.com/) locally. The project is based on [typescript](https://www.typescriptlang.org/), [vue](https://vuejs.org/index.html), [vuex](https://vuex.vuejs.org/), [vue-router](https://router.vuejs.org/), [vue-cli](https://github.com/vuejs/vue-cli) , [axios](https://github.com/axios/axios) and [element-ui](https://github.com/ElemeFE/element), all request data is simulated using [faker.js](https://github.com/Marak/Faker.js).
|
|
Understanding and learning these knowledge in advance will greatly help you on using this project.
|
|
|
|
## Project Structure
|
|
|
|
```bash
|
|
├── mock/ # mock server & mock data
|
|
├── public # public static assets (directly copied)
|
|
│ │── favicon.ico # favicon
|
|
│ │── manifest.json # PWA config file
|
|
│ └── index.html # index.html template
|
|
├── src # main source code
|
|
│ ├── api # api service
|
|
│ ├── assets # module assets like fonts, images (processed by webpack)
|
|
│ ├── components # global components
|
|
│ ├── directives # global directives
|
|
│ ├── filters # global filter
|
|
│ ├── icons # svg icons
|
|
│ ├── lang # i18n language
|
|
│ ├── layout # global layout
|
|
│ ├── pwa # PWA service worker related files
|
|
│ ├── router # router
|
|
│ ├── store # store
|
|
│ ├── styles # global css
|
|
│ ├── utils # global utils
|
|
│ ├── views # views
|
|
│ ├── App.vue # main app component
|
|
│ ├── main.ts # app entry file
|
|
│ ├── permission.ts # permission authentication
|
|
│ ├── settings.ts # setting file
|
|
│ └── shims.d.ts # type definition shims
|
|
├── tests/ # tests
|
|
├── .circleci/ # automated CI configuration
|
|
├── .browserslistrc # browserslist config file (to support Autoprefixer)
|
|
├── .editorconfig # editor code format consistency config
|
|
├── .env.xxx # env variable configuration
|
|
├── .eslintrc.js # eslint config
|
|
├── babel.config.js # babel config
|
|
├── jest.config.js # jest unit test config
|
|
├── package.json # package.json
|
|
├── postcss.config.js # postcss config
|
|
├── tsconfig.json # typescript config
|
|
└── vue.config.js # vue-cli config
|
|
```
|
|
|
|
## Project setup
|
|
|
|
With [yarn](https://yarnpkg.com/lang/en/) or [npm](https://www.npmjs.com/get-npm)
|
|
|
|
#### Install dependencies
|
|
|
|
```bash
|
|
yarn install
|
|
```
|
|
|
|
#### Compiles and hot-reloads for development
|
|
|
|
```bash
|
|
yarn run serve
|
|
```
|
|
|
|
#### Compiles and minifies for production
|
|
|
|
```bash
|
|
yarn run build:prod
|
|
```
|
|
|
|
#### Lints and fixes files
|
|
|
|
```bash
|
|
yarn run lint
|
|
```
|
|
|
|
#### Run your unit tests
|
|
|
|
```bash
|
|
yarn run test:unit
|
|
```
|
|
|
|
#### Generate all svg components
|
|
|
|
```bash
|
|
yarn run svg
|
|
```
|
|
|
|
#### Customize Vue configuration
|
|
|
|
See [Configuration Reference](https://cli.vuejs.org/config/).
|
|
|
|
## 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
|
|
|
|
## Contributing
|
|
|
|
See [CONTRIBUTING.md](https://github.com/Armour/vue-typescript-admin-template/blob/master/.github/CONTRIBUTING.md)
|
|
|
|
## License
|
|
|
|
[MIT License](https://github.com/Armour/vue-typescript-admin-template/blob/master/LICENSE)
|