橙单中台化低代码生成器 v1.2 发布

来源: 投稿
作者: Jerry4000
2020-12-01

OrangeAdmin 橙单中台化低代码生成器又经过 30 天的迭代后,完成了用户反馈的 bug 修复和新功能实现,在经过多轮测试后,现发布 v1.2 版本。

新功能列表

  • 前端支持多套高颜值新样式模板,分别覆盖 Vue 和 React。
  • 用户权限模块新增 13 个表单页面,用于从多个维度查询用户权限分配的详细路径。比如:用户或角色可访问的 URL 权限资源,以及 URL 权限资源可被哪些用户和角色访问等。这样可以便于系统实施人员和用户系统管理员快速定位分配越权和分配遗漏等线上问题。
  • 可独立生成适用于 App 的后台工程,生成后工程将不包含后台权限模块和整个前端工程,对于 App 业务后台,可免去无用代码手动剥离的过程,开箱即用。
  • 集成分布式事务框架 Seata,同时根据用户项目的表关联配置,在删除操作的事务代码中,可生成支持本地事务和分布式事务的级联删除代码。(逻辑删除和物理删除均支持)
  • 集成定时任务框架 Quartz,并将原有仅支持 XXL-Job 的定时任务业务代码,完整迁移到 Quartz 框架。考虑到 Quartz 没有提供管理控制台,因此我们也生成了用于 Quartz 作业动态管理的 Java 接口和 Postman API 样例文件。
  • 集成 Canal,用于将变更的字典数据向 Redis 缓存实时同步,同时提供有关 canal-admin 和 canal-server 的详细的图例化文档,便于您快速上手。然而考虑到架构弹性,我们也仍然保留了原有代码同步缓存的方式,开发者可根据实际需求,在生成器中进行动态的配置切换。
  • 新增支持生成修改部分字段的 update 接口。
  • 生成器支持全工程表单预览。预览过程可实现菜单导航,按钮交互和弹框显示,此功能进一步提升了生成器的用户操作体验。

重构列表

  • 修改字典数据访问接口,由原有的 listDict${ModelName} 改为简单的 listDict,进一步简化了服务间的接口调用规则。
  • 为基于 OpenFeign 的服务间调用熔断降级接口提供通用基类,避免了重复接口代码的生成。
  • 调整后端工程目录结构,将生成后的 Job 服务放到独立的 application-job 目录下。
  • 调整后端工程目录结构,新增 framework 目录,并将原有的 uaa、admin-monitor、api-docs 和该版本新增的 canal-cache-sync 等通用基础功能模块,放入该目录。

在线资源

  • 开源项目  https://gitee.com/orangeform/orange-admin
  • 在线演示  [http://demo.orangeforms.com](http://demo.orangeforms.com/)
  • 开发文档  http://www.orangeforms.com/development-doc/
  • 教学视频  https://www.bilibili.com/video/bv1Wg4y1i7vP

橙单简介

橙单低代码生成器由知视科技团队研发,团队经过多年大型企业中台化改造项目的沉淀,不断总结经验教训,不断努力提升产能,不断积极应对微服务改造过程中出现的分分合合。经过无数日夜的持续迭代和优化,终于可以实现生成 70% 的适用于微服务架构的高质量范式化工程级代码。此后,我们就很少加班,热爱工作,并与领导成为了战友,与客户成为了朋友。

我们的优势

  • 排在首位的就是 16 万字以上的专业详尽、同步更新和暗黑护眼的操作指南、开发文档和教学视频。
  • 真正的中台化代码生成器,而非脚手架,可生成相对复杂的业务代码,拥抱中台服务的不断分分合合。
  • 非常浅显易懂的高质量生成后工程代码,经过 SonarQube 和 Alibaba 代码规范的严格扫描。
  • 极为宽松、合理、透明、全网超低价的商业授权。(其实就是撸顿串的价格)

基础功能

  • 前端框架:单页面、多标签、多栏目、子路由和多套高颜值样式,多种模式可供选择。
  • 前端能力:多表联动、上传下载、数据导出、自定义打印模板、富文本、分组统计图表、明细数据下钻等。
  • 页面布局:支持基于 Fragment 和 Block 的灵活布局方式,通过配置即可生成多样化的表单页面,支持全工程模式的页面预览。
  • 后台架构:分布式锁、分布式 Id 生成器、分布式缓存、分布式事务、分布式存储和分布式灰度发布,按需集成。
  • 缓存同步:支持基于 Canal 的多实例分布式数据同步,可将变化的数据实时同步到 Redis 集群。
  • 操作权限:精确到按钮级的操作和标签级的显示,同时提供多维度的权限分配路径查询能力。
  • 数据权限:基于 Mybatis 拦截器 + JSqlParser 的实现方式,配置更灵活,代码侵入性更低。
  • 多数据源:可根据配置动态生成,路由策略灵活可扩展。
  • 数据组装:Java 注解方式配装多数据库间和多服务间的多种关联和计算关系的数据。
  • 定时任务:支持多种类型的定时任务代码模板,灵活可配、高度优化、二次开发简单。
  • 日志监控:基于 Kafka + ELK 的服务日志跟踪,基于 PinPoint / SkyWalking 的服务链路跟踪。
  • 指标监控:Grafana + Prometheus 和 Spring Boot Admin 的指标监控。
  • 接口文档:目前已经集成 Knife4j,同时支持基于 0 注解的 Postman 接口导出。

技术选型

  • 前端框架为 Element (Vue) / Ant Design (React) / ECharts / AntV / Axios / Webpack。
  • 后端框架为 Spring Boot / Spring Cloud / Spring Cloud Alibaba + Mybatis (通用Mapper) + Jwt。
  • Java工具库 Apache Commons + Hutool + Guava + Caffeine + Lombok + MapStruct + Knife4j + qdox。
  • 主要中间件 Redis + Zookeeper + Apollo + XXL-Job + Quartz + Seata + Canal + Kafka + Consul + Minio + ELK + Sentinel + PinPoint / SkyWalking + Prometheus + Grafana + Spring Boot Admin。

代码质量

  • 无任何二次封装,只生成您最懂的代码。
  • 遵循阿里巴巴标准的代码规范,扫描后无任何警告。
  • SonarQube 基于最严格检测规则的代码扫描。
  • 产品级代码质量,层次清晰、滴水不漏。
  • 近乎于 0 的代码重复率,35% 以上的注释覆盖率。
  • 15 年以上经验的前后端架构师优化的每一处细节。
  • 前沿的单表组合式设计,使业务服务的拆分与再合并 SO EASY。
  • 先代码,后 SQL 的原则,让微服务横向扩充更具弹性。
  • 标准化的服务间调用接口,使业务服务组合更具正交性。
  • 前后端基于约定各司其职,默契配合,让系统运行飞起来。

有图有真相

展开阅读全文
31 收藏
分享
加载中
最新评论 (1)
学习下
2020-12-02 09:23
0
回复
举报
更多评论
1 评论
31 收藏
分享
返回顶部
顶部