vue3-ts-admin是基于Vue3、Vuex、VueRouter、VueCLI、 ElementPlus 、TypeScript、Echart5等后台系统解决方案。
- git clone
- cd 到 vue3_ts_cms 目录下运行:
npm install 或者 cnpm install
- 运行
npm run serve
- 浏览器打开 http://localost:8080/
npm run prettier
npm run lint
npm run commit
git commit -m "message" --no-verify
git commit --no-verify -am "7/10"
- 开发工具: Visual Studio Code
- 编程语言: TypeScript 4.x + JavaScript
- 构建工具: Vite 2.x / Webpack5.x
- 前端框架: Vue 3.x
- 路由工具: Vue Router 4.x
- 状态管理: Vuex 4.x
- UI 框架: Element Plus
- 可视化: Echart5.x
- 富文本: WangEditor
- 工具库: @vueuse/core + dayjs + countup.js
- CSS 预编译: Sass / Less
- HTTP 工具: Axios
- Git Hook 工具: husky
- 代码规范: EditorConfig + Prettier + ESLint
- 提交规范: Commitizen + Commitlint
- 自动部署: Centos + Jenkins + Nginx
vue3_ts_cms
│ .browserslistrc
│ .editorconfig
│ .env.development
│ .env.production
│ .env.test
│ .eslintrc.js
│ .gitignore
│ .prettierignore
│ .prettierrc
│ babel.config.js
│ commitlint.config.js
│ package-lock.json
│ package.json
│ README.md
│ tsconfig.json
│ vue.config.js
│
├─.husky
│ │ commit-msg
│ │ pre-commit
│ │
│ └─_
│ .gitignore
│ husky.sh
│
├─public
│ favicon.ico
│ index.html
│
└─src
│ App.vue
│ main.ts
│ shims-vue.d.ts
│
├─assets
│ ├─css
│ │ base.less
│ │ index.less
│ │ wangEditor.less
│ │
│ └─images
│ background_img.jpg
│ logo.png
│
├─common-ui
│ ├─breadcrumb
│ │ │ index.ts
│ │ │
│ │ ├─src
│ │ │ BreadCrumb.vue
│ │ │
│ │ └─types
│ │ types.ts
│ │
│ ├─zy-card
│ │ │ index.ts
│ │ │
│ │ └─src
│ │ ZYCard.vue
│ │
│ ├─zy-descriptions
│ │ │ index.ts
│ │ │
│ │ └─src
│ │ ZYDescriptions.vue
│ │
│ ├─zy-echarts
│ │ │ index.ts
│ │ │
│ │ ├─hooks
│ │ │ initECharts.ts
│ │ │ mapCityToMap.ts
│ │ │
│ │ ├─map
│ │ │ china.json
│ │ │ city.ts
│ │ │
│ │ └─src
│ │ ZYEcharts.vue
│ │
│ ├─zy-editor
│ │ │ index.ts
│ │ │
│ │ └─src
│ │ ZYEditor.vue
│ │
│ ├─zy-form
│ │ │ index.ts
│ │ │
│ │ ├─src
│ │ │ ZYForm.vue
│ │ │
│ │ └─types
│ │ types.ts
│ │
│ ├─zy-tabel
│ │ │ index.ts
│ │ │
│ │ ├─src
│ │ │ ZYTabel.vue
│ │ │
│ │ └─types
│ │ types.ts
│ │
│ └─zy-upload
│ │ index.ts
│ │
│ └─src
│ ZYUpload.vue
│
├─components
│ ├─nav-header
│ │ │ index.ts
│ │ │
│ │ └─src
│ │ NavHeader.vue
│ │
│ ├─nav-menu
│ │ │ index.ts
│ │ │
│ │ └─src
│ │ NavMenu.vue
│ │
│ ├─page-dialog
│ │ │ index.ts
│ │ │
│ │ ├─src
│ │ │ PageDialog.vue
│ │ │
│ │ └─types
│ │ types.ts
│ │
│ ├─page-echart
│ │ │ index.ts
│ │ │
│ │ └─src
│ │ PageBarChart.vue
│ │ PageChinaChart.vue
│ │ PageLineChart.vue
│ │ PagePicChart.vue
│ │ PagePicLableChart.vue
│ │ PageRoseChart.vue
│ │
│ ├─page-search
│ │ │ index.ts
│ │ │
│ │ └─src
│ │ PageSearch.vue
│ │
│ └─page-tabel
│ │ index.ts
│ │
│ └─src
│ PageTabel.vue
│
├─global
│ index.ts
│ registerElement.ts
│ registerGlobal.ts
│
├─hooks
│ countAction.ts
│ pageLinkage.ts
│ permission.ts
│
├─router
│ │ index.ts
│ │
│ └─main
│ ├─analysis
│ │ ├─dashboard
│ │ │ dashboard.ts
│ │ │
│ │ └─overview
│ │ overview.ts
│ │
│ ├─product
│ │ ├─category
│ │ │ category.ts
│ │ │
│ │ └─goods
│ │ goods.ts
│ │
│ ├─story
│ │ ├─chat
│ │ │ chat.ts
│ │ │
│ │ └─list
│ │ list.ts
│ │
│ └─system
│ ├─department
│ │ department.ts
│ │
│ ├─menu
│ │ menu.ts
│ │
│ ├─role
│ │ role.ts
│ │
│ └─user
│ user.ts
│
├─service
│ │ index.ts
│ │ types.ts
│ │
│ ├─login
│ │ index.ts
│ │ types.ts
│ │
│ ├─main
│ │ ├─analysis
│ │ │ index.ts
│ │ │
│ │ ├─story
│ │ │ index.ts
│ │ │
│ │ └─system
│ │ index.ts
│ │
│ └─request
│ index.ts
│ type.ts
│
├─store
│ │ index.ts
│ │ types.ts
│ │
│ ├─analysis
│ │ index.ts
│ │ types.ts
│ │
│ ├─login
│ │ index.ts
│ │ types.ts
│ │
│ ├─product
│ │ index.ts
│ │ types.ts
│ │
│ └─system
│ index.ts
│ types.ts
│
├─utils
│ cache.ts
│ formate.ts
│ handleString.ts
│ menuToRoute.ts
│
└─views
├─login
│ │ Login.vue
│ │
│ ├─cpns
│ │ LoginPhone.vue
│ │ LoginUser.vue
│ │
│ └─hooks
│ rules.ts
│
├─main
│ │ Main.vue
│ │
│ ├─analysis
│ │ ├─dashboard
│ │ │ │ dashboard.vue
│ │ │ │
│ │ │ ├─config
│ │ │ │ showCountConfig.ts
│ │ │ │
│ │ │ ├─cpn
│ │ │ │ ShowCharts.vue
│ │ │ │ ShowCount.vue
│ │ │ │
│ │ │ └─hook
│ │ └─overview
│ │ │ overview copy.vue
│ │ │ overview.vue
│ │ │
│ │ └─config
│ │ dependencies.ts
│ │ devDependencies.ts
│ │ projectStandard.ts
│ │ projectTree.ts
│ │ technologyStacks.ts
│ │
│ ├─product
│ │ ├─category
│ │ │ │ category.vue
│ │ │ │
│ │ │ ├─config
│ │ │ │ dialog.config.ts
│ │ │ │ form.config.ts
│ │ │ │ tabel.config.ts
│ │ │ │
│ │ │ └─cpn
│ │ │ CategoryHeader.vue
│ │ │
│ │ └─goods
│ │ │ goods.vue
│ │ │
│ │ └─configs
│ │ dialog.config.ts
│ │ tabel.config.ts
│ │
│ ├─story
│ │ ├─chat
│ │ │ chat.vue
│ │ │
│ │ └─list
│ │ │ list.vue
│ │ │
│ │ └─config
│ │ tabel.config.ts
│ │
│ └─system
│ ├─department
│ │ │ department.vue
│ │ │
│ │ └─config
│ │ dialog.config.ts
│ │ from.config.ts
│ │ tabel.config.ts
│ │
│ ├─menu
│ │ │ menu.vue
│ │ │
│ │ └─configs
│ │ dialog.config.ts
│ │ tabel.config.ts
│ │
│ ├─role
│ │ │ role.vue
│ │ │
│ │ └─config
│ │ dialog.config.ts
│ │ form.config.ts
│ │ tabel.config.ts
│ │
│ └─user
│ │ user.vue
│ │
│ └─configs
│ dialog.config.ts
│ form.config.ts
│ tabel.config.ts
│
└─not-found
│ NotFound.vue
│
└─src