- 使用rem进行页面适配;
- 使用EventBus实现页面间的传值,主要用来判断页面是否使用了底部固定按钮所以使用EventBus即可不需要使用vuex;
- 使用自定义指令实现系统整体水印;
- 使用CryptoJS对密码进行加密;
- 封装了Table、tag、button、dialog、upload通用组件:
- Table:除了实现表格的基本功能及样式外,表格组件还支持自定义操作列表的展示方式(下拉菜单展示、列表展示)支持自定义操作栏宽度、操作栏表头名称;是否支持多选;是否显示行号及行号显示规则;是否显示表头或固定表头等;
- Tag:tag标签可自定义单选或多选;
- button:基于el-button进行封装,可自定义button样式、大小、icon加载状态;
- dialog:弹窗默认为是否删除弹窗,可利用solt插槽来自定义弹窗具体内容;
- upload:设置了默认上传图片及默认样式上传成功后如果是图片可进行预览,可通过solt插槽自定义上传按钮样式及预览样式;
- 封装工具函数:
- _deepCopy() 深拷贝
- _isCardID() 身份证校验
- _isPhone() 手机号校验
- _timeFilter() 时间格式化
- _hexToRgba() 16进制色值转rgba
- _getAgeByBirth() 根据出生日期获取年龄
- _filterResponse() 过滤接口返回的数据,把des加密的数据全部解密
7.权限控制:菜单的权限控制主要由后端完成,前端主要负责按钮的权限。通过_Permission()函数来判断是否展示该按钮。
8.该项目属于比较基础的后台管理系统,没有遇到特别大的问题整体做下来比较顺利,唯一比较费时的地方是多文件上传时的逻辑处理及数据校验。