diff --git a/LICENSE b/LICENSE index b4bb0d9f..68144da7 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2017 PanJiaChen +Copyright (c) 2017-presen PanJiaChen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README-en.md b/README-en.md deleted file mode 100644 index 25459147..00000000 --- a/README-en.md +++ /dev/null @@ -1,177 +0,0 @@ -[![vue](https://img.shields.io/badge/vue-2.4.2-brightgreen.svg)](https://github.com/vuejs/vue) -[![element-ui](https://img.shields.io/badge/element--ui-1.4.2-brightgreen.svg)](https://github.com/ElemeFE/element) -[![license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/PanJiaChen/vue-element-admin/blob/master/LICENSE) -[![GitHub release](https://img.shields.io/github/release/PanJiaChen/vue-element-admin.svg)]() - -## Intro - -> In the past half year, I have been building a backend for management dashboard using Vue. Though the backend has contained greater than 70 pages and over 10 permissions, it still takes insignificant effort to maintain the project. So I decide to make it open source so as to share my development experience and progress on backend. The tech stack is mainly [Vue.js](https://github.com/vuejs/vue)+[Element](https://github.com/ElemeFE/element)+[axios](https://github.com/mzabriskie/axios). Since it's a personal project, all data requests are simulated with [Mock.js](https://github.com/nuysoft/Mock). **Note:** if anyone wants to modify or develop based on this project, please remove the mock files. - -**Live demo:** http://panjiachen.github.io/vue-element-admin - -**Note: element-ui@1.4.2 is used in the project, so vue 2.3.0+ is required.** - - - vueAdmin-template: [vueAdmin-template](https://github.com/PanJiaChen/vueAdmin-template)   - - electron-vue-admin: [electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin) - - Donate:[donate](https://github.com/PanJiaChen/vue-element-admin/blob/master/README-en.md#donate) - -## Features - -- Login/Logout -- Permission authentication -- Sidebar -- Breadcrumb -- Rich text editor -- Markdown editor -- JSON editor -- Drag & drop list -- SplitPane -- Dropzone -- Sticky -- CountTo -- ECharts -- 401, 404 error page -- Error log -- Export Excel -- Upload Excel -- Export Zip -- Table example -- Interactive table example -- Drag & drop table example -- Form example -- Multi-environments distribution -- Dashboard -- Two-factor authentication -- Collapsing sidebar (support nested routes) -- Mock data -- cache tabs example -- screenfull -- markdown2html -- views-tab -- clipboard - -## Development - -```bash -# Clone project -git clone https://github.com/PanJiaChen/vue-element-admin.git - -# Install dependencies -npm install - -# Or (not recommended for cnpm due to unknown bugs, use taobao mirror instead) -npm install --registry=https://registry.npm.taobao.org - -# Run local dev server -npm run dev -``` - -Visit in browser: http://localhost:9527 - -## Distribution - -```bash -# Build staged environment with webpack-bundle-analyzer -npm run build:sit-preview - -# Build production environment -npm run build:prod -``` - -## Directory structure - -``` -├── build // build  -├── config // config -├── src // source code -│   ├── api // all requests -│   ├── assets // static resource like themes, fonts -│   ├── components // global public components -│   ├── directive // global directive -│   ├── filters // global filters -│   ├── mock // mock data -│   ├── router // router -│   ├── store // global status management -│   ├── styles // global styles -│   ├── utils // global public functions -│   ├── view // view -│   ├── App.vue // entry view -│   └── main.js // entry for loading components, initialization -├── static // third-party libraries not packed with Webpack -│   └── Tinymce // rich text -├── .babelrc // babel-loader config -├── eslintrc.js // eslint config -├── .gitignore // gitignore -├── favicon.ico // favicon -├── index.html // html template -└── package.json // package.json -``` - -## Changelog -Detailed changes for each release are documented in the [release notes](https://github.com/PanJiaChen/vue-element-admin/releases). - -## Donate -If you find this project useful, you can buy me a cup of coffee -![donate](https://panjiachen.github.io/donate/donation.png) - -## State Management - -Only status of user and app configuration is managed by Vuex. Other data are managed by their own business pages. - -## Demo - -#### Two-factor authentication, supporting WeChat and QQ - -![](https://github.com/PanJiaChen/vue-element-admin/blob/master/gifs/2login.gif) - -#### Realtime switching themes - -![](https://github.com/PanJiaChen/vue-element-admin/blob/master/gifs/theme.gif) - -#### tabs - -![tabs](https://github.com/PanJiaChen/vue-element-admin/blob/master/gifs/tabs.gif)
- -#### Collapsing sidebar - -![](https://github.com/PanJiaChen/vue-element-admin/blob/master/gifs/leftmenu.gif) - -#### Drag & drop table - -![](https://github.com/PanJiaChen/vue-element-admin/blob/master/gifs/order.gif) - -#### Interactive table - -![](https://github.com/PanJiaChen/vue-element-admin/blob/master/gifs/dynamictable.gif) - -#### Uploading cropped avatar - -![](https://github.com/PanJiaChen/vue-element-admin/blob/master/gifs/uploadAvatar.gif) - -#### Error log - -![](https://github.com/PanJiaChen/vue-element-admin/blob/master/gifs/errorlog.gif) - -#### Rich text (integrated with Qiniu, watermark and customization) - -![](https://github.com/PanJiaChen/vue-element-admin/blob/master/gifs/editor.gif) - -#### Packaging table component - -![](https://github.com/PanJiaChen/vue-element-admin/blob/master/gifs/table.gif) - -#### Charts - -![](https://github.com/PanJiaChen/vue-element-admin/blob/master/gifs/echarts.gif) - -#### Exporting to Excel - -![](https://github.com/PanJiaChen/vue-element-admin/blob/master/gifs/excel.png) - -#### More - -http://panjiachen.github.io/vue-element-admin - -## License - -MIT diff --git a/README.md b/README.md index c8428dc0..93cebafa 100644 --- a/README.md +++ b/README.md @@ -2,177 +2,152 @@

-# vue-element-admin +

+ + vue + + + element-ui + + + Build Status + + + license + + + GitHub release + +

-[![vue](https://img.shields.io/badge/vue-2.5.10-brightgreen.svg)](https://github.com/vuejs/vue) -[![element-ui](https://img.shields.io/badge/element--ui-2.0.8-brightgreen.svg)](https://github.com/ElemeFE/element) -[![Build Status](https://travis-ci.org/PanJiaChen/vue-element-admin.svg?branch=master)](https://travis-ci.org/PanJiaChen/vue-element-admin) -[![license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/PanJiaChen/vue-element-admin/blob/master/LICENSE) -[![GitHub release](https://img.shields.io/github/release/PanJiaChen/vue-element-admin.svg)]() +English | [简体中文](./README.zh-CN.md) -**A magical vue admin.** +## Introduction -- [线上地址](http://panjiachen.github.io/vue-element-admin) +vue-element-admin is a production-ready solution for admin interfaces. Based on [Vue.js](https://github.com/vuejs/vue) and use the UI Toolkit -- [element](https://github.com/ElemeFE/element).vue-element-admin is a magical vue admin, it based on the newest development stack of vue, built-in i18n solution, typical templates for enterprise applications, lots of awesome features. It helps you build a large complex Single-Page Applications. -- [使用文档](https://panjiachen.github.io/vue-element-admin-site/#/) +- [Preview](http://panjiachen.github.io/vue-element-admin) -- [English Document](https://github.com/PanJiaChen/vue-element-admin/blob/master/README-en.md) +- [Documentation](https://panjiachen.github.io/vue-element-admin-site/#/) - [wiki](https://github.com/PanJiaChen/vue-element-admin/wiki) - [donate](https://panjiachen.github.io/vue-element-admin-site/#/donate) -**本项目的定位是后台集成方案,不适合当基础模板来开发。** - - 模板建议使用: [vueAdmin-template](https://github.com/PanJiaChen/vueAdmin-template)   - - 桌面端: [electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin) +**vue-element-admin is a admin interfaces integration solution, which is not suitable for secondary development as a base template.** -**注意:该项目使用 element-ui@2.0.0+ 版本,所以最低兼容 vue@2.5.0** + - Base template recommends using: [vueAdmin-template](https://github.com/PanJiaChen/vueAdmin-template)   + - Desktop: [electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin) -## 前序准备 +**Note: This project uses element-ui@2.0.0+ version, so the minimum compatible vue@2.5.0** -你的本地环境需要安装 [node](http://nodejs.org/) 和 [git](https://git-scm.com/)。我们的技术栈基于 [ES2015+](http://es6.ruanyifeng.com/)、[vue](https://cn.vuejs.org/index.html)、[vuex](https://vuex.vuejs.org/zh-cn/)、[vue-router](https://router.vuejs.org/zh-cn/) 和 [element-ui](https://github.com/ElemeFE/element),提前了解和学习这些知识会对使用本项目有很大的帮助。 +## Preparation -同时配套一个系列的教程文章,如何从零构建后一个完整的后台项目,建议大家先看完这些文章再来实践本项目 - - [手摸手,带你用 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) - - [手摸手,带你优雅的使用 icon](https://juejin.im/post/59bb864b5188257e7a427c09) +You need to install [node](http://nodejs.org/) and [git](https://git-scm.com/) locally. The project is based on [ES2015+](http://es6.ruanyifeng.com/)、[vue](https://cn.vuejs.org/index.html)、[vuex](https://vuex.vuejs.org/zh-cn/)、[vue-router](https://router.vuejs.org/zh-cn/) 和 [element-ui](https://github.com/ElemeFE/element). All data requests are simulated with [Mock.js](https://github.com/nuysoft/Mock). It would be helpful if you have pre-existing knowledge on those. - 响应需求,开了一个qq群 `591724180` 方便大家交流 + **This project is not a scaffolding and is more of an integrated solution** - 或者加入该群主 **[圈子](https://jianshiapp.com/circles/1209)** 楼主会经常分享一些技术相关的东西 - - **如有问题请先看上述使用文档和文章,若不能满足,欢迎 issue 和 pr** - - **本项目并不是一个脚手架,更倾向于是一个集成解决方案** - - **该项目不支持低版本浏览器(如ie),有需求请自行添加polyfill [详情](https://github.com/PanJiaChen/vue-element-admin/wiki#babel-polyfill)** + **This project does not support low version browsers (e.g. IE). Please add polyfill yourself if you need them**

-## 功能 -- 登录/注销 -- 权限验证 -- 多环境发布 -- 动态侧边栏(支持多级路由) -- 动态面包屑 -- 国际化多语言 -- 多种动态换肤 -- 快捷导航(标签页 支持右键操作) -- 富文本编辑器 -- Markdown编辑器 -- JSON编辑器 -- Screenfull全屏 -- 列表拖拽 -- Svg Sprite 图标 +## Feature +``` +- Login / Logout +- Permission authentication +- Multi-environment build +- Dynamic sidebar (supports multi-level routing) +- Dynamic breadcrumb +- I18n +- Customizable theme +- Tags-view(Tab page Support right-click operation) +- Rich text editor +- Markdown editor +- JSON editor +- Screenfull +- Drag and drop list +- Svg Sprite - Dashboard -- 本地mock数据 -- Echarts 图表 -- Clipboard(剪贴复制) -- 401/404错误页面 -- 错误日志 -- 导出excel -- 导出zip -- 前端可视化excel +- Mock data +- Echarts +- Clipboard +- 401/404 error page +- Error log +- Export excel +- Export zip +- Front-end visualization excel - Table example -- 动态table example -- 拖拽table example -- 内联编辑table example +- Dynamictable example +- Drag and drop table example +- Inline edit table example - Form example -- 二步登录 +- Two-step login - SplitPane - Dropzone - Sticky - CountTo - Markdown to html +``` + +## Quickstart -## 开发 ```bash - # 克隆项目 - git clone https://github.com/PanJiaChen/vue-element-admin.git +# clone the projice +git clone https://github.com/PanJiaChen/vue-element-admin.git - # 安装依赖 - npm install -     - # 建议不要用cnpm安装 会有各种诡异的bug 可以通过如下操作解决 npm 下载速度慢的问题 - npm install --registry=https://registry.npm.taobao.org +# install dependency +npm install - # 启动服务 - npm run dev +# developmen +npm run dev ``` -浏览器访问 http://localhost:9527 -## 发布 +This will automatically open http://localhost:9527. + + +## Build ```bash - # 构建测试环境 - npm run build:sit +# build for test environment +npm run build:sit - # 构建生成环境 - npm run build:prod +# build for production environment +npm run build:prod ``` -## 其它 +## Advanced ```bash - # --report to build with bundle size analytics - npm run build:prod --report +# --report to build with bundle size analytics +npm run build:prod --report - # --preview to start a server in local to preview - npm run build:prod --preview +# --preview to start a server in local to preview +npm run build:prod --preview - # lint code - npm run lint +# lint code +npm run lint + +# auto fix +npm run lint -- --fix ``` -更多信息请参考 [使用文档](https://panjiachen.github.io/vue-element-admin-site/#/deploy) - -## 目录结构 -```shell -├── build // 构建相关   -├── config // 配置相关 -├── src // 源代码 -│   ├── api // 所有请求 -│   ├── assets // 主题 图片等静态资源 -│   ├── components // 全局公用组件 -│   ├── directive // 全局指令 -│   ├── filtres // 全局 filter -│   ├── icons // 项目svg icons -│   ├── lang // 国际化 lang -│   ├── mock // 项目mock 模拟数据 -│   ├── router // 路由 -│   ├── store // 全局 store -│   ├── styles // 全局样式 -│   ├── utils // 全局公用方法 -│   ├── vendor // 公用vendor -│   ├── views // views -│   ├── App.vue // 入口页面 -│   ├── main.js // 入口js 初始化 加载组件等 -│ └── permission.js // 权限管理 -├── static // 第三方不打包资源 -│   └── Tinymce // 富文本 -├── .babelrc // babel-loader 配置 -├── .eslintrc.js // eslint 配置项 -├── .postcssrc.js // postcss 配置项 -├── .gitignore // git 忽略项 -├── favicon.ico // favicon图标 -├── index.html // html模板 -└── package.json // package.json - -``` +Refer to [https://panjiachen.github.io/vue-element-admin-site/#/deploy]() for more information ## Changelog Detailed changes for each release are documented in the [release notes](https://github.com/PanJiaChen/vue-element-admin/releases). ## Online Demo -[查看更多demo](http://panjiachen.github.io/vue-element-admin) +[Preview](http://panjiachen.github.io/vue-element-admin) ## Donate -If you find this project useful, you can buy me a cup of coffee -![donate](https://panjiachen.github.io/donate/donation.png) +If you find this project useful, you can buy author a glass of juice :tropical_drink: + +![donate](https://wpimg.wallstcn.com/bd273f0d-83a0-4ef2-92e1-9ac8ed3746b9.png) + +[Paypal Me](https://www.paypal.me/panfree23) ## License -MIT +[MIT](https://github.com/PanJiaChen/vue-element-admin/blob/master/LICENSE) + +Copyright (c) 2017-presen PanJiaChen diff --git a/README.zh-CN.md b/README.zh-CN.md new file mode 100644 index 00000000..42f8463c --- /dev/null +++ b/README.zh-CN.md @@ -0,0 +1,165 @@ +

+ +

+ +

+ + vue + + + element-ui + + + Build Status + + + license + + + GitHub release + +

+ +简体中文 | [English](./README.md) + +## 简介 + +vue-element-admin 是一个后台集成解决方案,[Vue.js](https://github.com/vuejs/vue) 和 [element](https://github.com/ElemeFE/element)。它使用了最新的前端技术栈,内置了 i18国际化解决方案,动态路由,权限验证等很多功能特性,相信不管你的需求是什么,本项目都能帮助到你。 + +- [在线访问](http://panjiachen.github.io/vue-element-admin) + +- [使用文档](https://panjiachen.github.io/vue-element-admin-site/#/) + +- [wiki](https://github.com/PanJiaChen/vue-element-admin/wiki) + +- [donate](https://panjiachen.github.io/vue-element-admin-site/#/donate) + +**本项目的定位是后台集成方案,不适合当基础模板来开发。** + - 模板建议使用: [vueAdmin-template](https://github.com/PanJiaChen/vueAdmin-template)   + - 桌面端: [electron-vue-admin](https://github.com/PanJiaChen/electron-vue-admin) + +**注意:该项目使用 element-ui@2.0.0+ 版本,所以最低兼容 vue@2.5.0** + +## 前序准备 + +你的本地环境需要安装 [node](http://nodejs.org/) 和 [git](https://git-scm.com/)。我们的技术栈基于 [ES2015+](http://es6.ruanyifeng.com/)、[vue](https://cn.vuejs.org/index.html)、[vuex](https://vuex.vuejs.org/zh-cn/)、[vue-router](https://router.vuejs.org/zh-cn/) 和 [element-ui](https://github.com/ElemeFE/element),所有的请求数据都使用[Mock.js](https://github.com/nuysoft/Mock)模拟,提前了解和学习这些知识会对使用本项目有很大的帮助。 + +同时配套一个系列的教程文章,如何从零构建后一个完整的后台项目,建议大家先看完这些文章再来实践本项目 + - [手摸手,带你用 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) + - [手摸手,带你优雅的使用 icon](https://juejin.im/post/59bb864b5188257e7a427c09) + + 响应需求,开了一个qq群 `591724180` 方便大家交流 + + 或者加入该群主 **[圈子](https://jianshiapp.com/circles/1209)** 楼主会经常分享一些技术相关的东西 + + **如有问题请先看上述使用文档和文章,若不能满足,欢迎 issue 和 pr** + + **本项目并不是一个脚手架,更倾向于是一个集成解决方案** + + **该项目不支持低版本浏览器(如ie),有需求请自行添加polyfill [详情](https://github.com/PanJiaChen/vue-element-admin/wiki#babel-polyfill)** + +

+ +

+ +## 功能 +``` +- 登录/注销 +- 权限验证 +- 多环境发布 +- 动态侧边栏(支持多级路由) +- 动态面包屑 +- 国际化多语言 +- 多种动态换肤 +- 快捷导航(标签页) +- 富文本编辑器 +- Markdown编辑器 +- JSON编辑器 +- Screenfull全屏 +- 列表拖拽 +- Svg Sprite 图标 +- Dashboard +- 本地mock数据 +- Echarts 图表 +- Clipboard(剪贴复制) +- 401/404错误页面 +- 错误日志 +- 导出excel +- 导出zip +- 前端可视化excel +- Table example +- 动态table example +- 拖拽table example +- 内联编辑table example +- Form example +- 二步登录 +- SplitPane +- Dropzone +- Sticky +- CountTo +- Markdown2html +``` + +## 开发 +```bash +# 克隆项目 +git clone https://github.com/PanJiaChen/vue-element-admin.git + +# 安装依赖 +npm install +    +# 建议不要用cnpm安装 会有各种诡异的bug 可以通过如下操作解决 npm 下载速度慢的问题 +npm install --registry=https://registry.npm.taobao.org + +# 启动服务 +npm run dev +``` +浏览器访问 http://localhost:9527 + +## 发布 +```bash +# 构建测试环境 +npm run build:sit + +# 构建生成环境 +npm run build:prod +``` + +## 其它 +```bash +# --report to build with bundle size analytics +npm run build:prod --report + +# --preview to start a server in local to preview +npm run build:prod --preview + +# lint code +npm run lint + +# auto fix +npm run lint -- --fix +``` + +更多信息请参考 [使用文档](https://panjiachen.github.io/vue-element-admin-site/#/deploy) + +## Changelog +Detailed changes for each release are documented in the [release notes](https://github.com/PanJiaChen/vue-element-admin/releases). + +## Online Demo +[在线 Demo](http://panjiachen.github.io/vue-element-admin) + +## Donate +如果你觉得这个项目帮助到了你,你可以帮作者买一杯果汁表示鼓励 :tropical_drink: +![donate](https://panjiachen.github.io/donate/donation.png) + +[Paypal Me](https://www.paypal.me/panfree23) + +## License + +[MIT](https://github.com/PanJiaChen/vue-element-admin/blob/master/LICENSE) + +Copyright (c) 2017-presen PanJiaChen