仓库后台管理系统
系统构成:系统包含登录、首页、权限、图表、订单管理、库存管理、财务管理等模块,本人参与所有模块的设计与开发
技术实现:该项目使用Vue-CLI\Vite(Vue3版本)作为脚手架搭建。在项目中主要使用Vue-Router处理路由,使用Vuex\Pinia处理全局状态,以及非父子组件之间的数据共享。利用组件封装了一些独立或公共的业务。集成i18n方案实现了语言切换的国际化处理。在缺失后端的情况下使用Mock.js模拟数据,并在Mock内封装了业务逻辑,实现基本增删查改功能
项目说明:该系统包含了Vue2\Vue3+TS版本
解决的主要技术难题:
1.对于没有编辑功能但又需要频繁切换的的表格,例如财务模块,若单纯使用v-if控制展示,会频繁创建\销毁DOM节点,造成闪屏并影响性能,因此使用keep-alive缓存组件
2.权限控制:前端有一份路由表,它表示了每一个路由可访问的权限。当用户登录之后,通过 token 获取用户的role,利用递归思想,遍历路由表的每一项是否含有子路由,并判断当前路由权限是否对应,动态得出当前用户的 role 所对应有权限的路由,再通过addRoutes动态挂载路由