历时二个多月,目前进度40%
从零开始复刻ruoyi-vue-pro
复刻的难题是如何将庞大体量的代码拆分成一个个小功能
提交大纲即是拆分成一个个小功能的过程.
也是代码的提交过程,git切到对应提交节点就是查看该功能的完整代码.
复刻过程说明
没有参考教程,就是自己想办法把功能一个个拆分出来,然后按功能复刻.
拆分的思路最初是从先写一个验证码获取接口.然后发现这个接口依赖很多组件.
那就先不写接口,先去补充组件的代码,补充的时候,验证码接口用不到的组件代码不要抄过去,要不断精简.
一步步把组件代码复刻完之后,就可以复刻获取验证码接口了,
后面就是登录接口,然后就根据页面菜单一个个小菜单功能进行复刻,遇到需要组件的,就去复刻组件,
我的提交记录或者博客的大纲,这就是我的拆分思路
要复刻,先想办法拆分,这个过程需要不断重试. 代码删删减减.需要花很多时间,没有啥捷径办法
- 从零开始复刻ruoyi-vue-pro(若依Pro版)
-
- 创建一个架子,并调通接口
- 创建组件架子
- 创建banner组件和通用类、工具类jar依赖
- [创建系统管理业务模块架子yudao-module-system]
- 给管理后台和app端接口路径增加访问前缀
- 基于 Swagger + Knife4j 实现 API 接口文档
- 数据校验
- 设置通用接口结果返回和异常统一处理
- 接入验证码和redis
- 自定义banner、开启验证码限流、全局跨域配置
- 集成mybatis和多数据源
- 使用账号密码登录
- 集成mapstruct(对象转换工具)
- RBAC权限-获取登录用户的权限信息(待完善)
- 整合spring-security,完善登录认证
- 自定义免登录和免鉴权注解
- 封装数据库公共字段DO
- 实现部门管理功能和数据库通用字段自动填充
- Mybatis组件增强
- 岗位管理
- Spring Security 密码编码器
- 用户管理
- 自定义Bean Validation 和自定义Mybatis Plus的类型处理器(TypeHandler)
- 登录过期时自动转到登录页面重新登录
- 角色管理
- 菜单管理
- RBAC权限-获取登录用户的权限信息(完善)
- 租户管理与jackson序列化
- 租户业务组件接入
- 字典管理
- 接入数据字典组件和excel组件
- 使用Spring Security的@PreAuthorize实现接口权限控制
- 通知公告(不知在哪使用)
- 审计日志-登录日志
- 审计日志-操作日志
- 站内信管理
- 错误码管理
- 敏感词管理
- 地区管理
- redis缓存之声明式缓存Spring Cache和RBAC权限补全
- Redis MQ之点对点模式
- Redis Stream 消息消费超时后重新消费(定时任务) RedisPendingMessageResendJob.java
- Redis的pub/sub
- 自定义redis消息拦截器,实现拓展
- 邮箱管理
- 短信管理
- 用户个人信息
- OAuth 2.0-应用/令牌管理和使用AccessToken与RefreshToken进行登录
- OAuth 2.0各种授权模式的SSO 单点登录
- 数据权限
- 数据源配置(开始基础设施模块的复刻)
- 代码生成
- 系统接口与配置管理
- 数据库文档
- 文件管理
- API日志
- MySQL 监控
- Redis 监控
- Java 监控—Spring Boot Admin