- 路由
- 权限
- 页面
- 基础模板
鉴权大致流程
- 静态动态 asyncRoutes & constantRoutes
- 通过接口返回的数据从 constantRoutes 筛选出本角色有的菜单
接口前缀不再像以前一样用 process.env.***
具体参见 .env.development 以及 request.js
const env = import.meta.env
https://v3.cn.vuejs.org/guide/migration/introduction.html
composition API
setup(props, context) {
log(props.***, context.emit)
}
option API
还是和以前一样
template
prop.sync => v-model:prop
- 一年内重复报告的功能迭代又激起了我们
一个功能多项目修改
的痛点 - HR 后台 评估师后台功能类似,评估师后台本就是 copy HR 后台代码的一个项目
(基础代码类似)
- HR 后台是最初 19 年 11 月 12 月刚入职的时候我搭起来的项目,项目架构不是太成熟,虽然随着时间慢慢丰富和完善,但由于最初的
代码水平有限
和技术选型
不同于现在,性能上不高
、样式不统一
、维护
起来相较其他后来的后台有一定差距在。 - 在大概的时间成本评估后
(2周)
,致意 PD, PD 同意。
- 基础技术选型上
Vue2 => Vue3
,有一些断崖式更新,也存在一定学习成本和心智负担。但大部分能兼容且性能提升较大,如果顺利可以将其他后台升级,相当于用这里重构做试点
- 业务上将两后台代码合并做
权限控制
- 统一样式
- 业务代码 copy,不兼容部分重写。
- 项目架构目前是从 github 上 copy 修改的。
- 组件自测。
- 功能自测。
- 测试同学做全流程测试
- 性能上可用首页渲染时间做量化对比
- 权限测试
- 一个功能多项目修改问题
- 样式不统一问题
- 维护成本问题
- 性能问题 (在后台项目用户感知不会太明显)
- Vue 升级,如果顺利可后续升级其他项目。
问题主要出现在权限控制上:
- 此前没有最佳的权限控制实践(这是我的问题)
- github 上拉下来的权限逻辑较复杂 而目前 HR 后台的权限做得较为简单,可以维持现在的简单版本接着做,但是考虑到后续如果有颗粒度更小的权限需求,所以我现在尝试一个好的解决方案
Vue2 => Vue3
本身及其生态存在一定学习成本和时间消耗