# base-smart-project
**Repository Path**: chenchuangtx/base-smart-project
## Basic Information
- **Project Name**: base-smart-project
- **Description**: 基本模板
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-10-24
- **Last Updated**: 2023-10-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
养护安全管理系统
## 特别说明
```
- 路由页面必须使用此组件,以保持统一(样式、面包屑等)
- 所有组件放在对应components文件夹内
- 所有路由页面路径不得包括components名称
- 所有弹出框使用组件,以保持统一
```
## 功能说明
```
- 菜单管理加入 extendone {
- 一、子路由在菜单侧 有显示有隐藏,则父级需要显示 子级依需求自行设定显示/隐藏 至少存在一个显示
- 二、子路由在菜单侧 全部隐藏,则父级和子级都需要隐藏
- }
```
## 功能
```
- 登录 用户名密码
- 权限
- 动态路由
- 系统设置(系统设置、音效设置等)
- echarts图表
- webSocket
- table表
- form表单
- 上传Excel
- 上传头像验证
- webpack优化
- 地图展示功能
- 系统管理
-- 外部用户
-- 角色管理
-- 组织管理
-- 流程管理
-- 文件管理
-- 菜单管理
```
## webpack优化
```
- 关闭生产环境sourceMap;
- 关闭预加载(vue会预加载后面的页面,会导致首屏加载比较慢)
- g-zip压缩(需要nginx配置);
- 生产环境CDN加载部分插件
- 去除生产环境console和debugger;
- 公共代码抽离
- 打包大小分析
- 打包缓存
- 部分依赖使用异步cdn加载
```
### 文件目录说明
```
├── mock ---mock模拟数据
├── public ---静态资源文件
├── src
│ ├── api ---接口
│ ├── assets ---图片
│ ├── components ---可复用的vue组件
│ ├── layouts ---布局方式
│ ├── mixins ---抽离出form和table公共处理方法
| |—— icons ---svg类型的icon
│ ├── router ---路由
│ ├── store ---vuex
│ ├── plugins ---高复用组件封装的插件,更方便使用
│ ├── styles ---sass样式包括主题样式
│ ├── utils ---方法函数
│ ├── vendor ---导出excel
│ ├── views ---页面
│ ├── App.vue
│ ├── main.js
│ ├── permission.js ---路由拦截
├── tests ---单元测试文件
├── .browserslistrc
├── .env
├── .eslintrc.js
├── babel.config.js
├── .jest.config.js ---jest的配置
├── package.json
├── package-lock.json
├── README.md
└── vue.config.js ---webpack的配置
```
### 部署
```
# 打包项目
npm run build
# 单元测试
npm run test:unit
```