03.前后端分离中台框架 zhontai 项目代码生成器的使用

前后,分离,中台,框架,zhontai,项目,代码,生成器,使用 · 浏览次数 : 1369

小编点评

**开发理念:** 1. **采用可视化代码生成器:** 使用第三方代码生成器,自动生成前端代码,减少开发工作量。 2. **分发代码生成器配置:** 将代码生成器配置项添加到项目配置中,方便手动配置。 3. **利用自动生成器配置:** 使用代码生成器配置项,自动生成所需的 API 和模型路由。 4. **简化视图和权限分配:** 使用 codegen 配置简化视图和权限分配,降低开发难度。 5. **采用可扩展性:** 考虑使用模块化设计,将代码组织成独立模块,方便维护和扩展。 6. **关注性能:** 在代码生成过程中,关注性能,并采用最佳实践来优化响应速度。 7. **提供清晰的文档:** 创建详细的文档,说明代码生成器的配置和使用指南,帮助开发者快速上手。

正文

zhontai 项目

基于 .Net7.x + Vue 等技术的前后端分离后台权限管理系统,想你所想的开发理念,希望减少工作量,帮助大家实现快速开发

后端地址:https://github.com/zhontai/Admin.Core
前端地址:https://github.com/zhontai/admin.ui.plus

本文主要介绍使用第三方的可视化代码生成器生成前后台代码

后端生成

  • 代码仓库 https://github.com/yimogit/Admin.Core.Dev
  • 在 ZhonTai.Host 添加对 ZhonTai.Admin.Dev 的项目引用
  • 修改 ZhonTai.Host 项目 Config\appconfig.json 配置
    • assemblyNames:[... "ZhonTai.Admin.Dev" ]
    • swagger节点projects增加项 [...{"name":"代码生成","code":"dev","version":"v0.0.1","description":""}]
  • 已经在开发环境对CodeGenService忽略权限,前端直接显示代码生成不需要加到数据库中
    #if DEBUG
    [AllowAnonymous]
    #endif
    public partial class CodeGenService{}
    
  • 后端生成器配置图片说明
    后端生成器配置一图说明

前端生成

  • 代码仓库 https://github.com/yimogit/admin.ui.plus.dev

  • 复制 gen/gen-dev-api.js 到项目,添加package.json命令:"gen:dev:api": "node ./gen/gen-dev-api",执行npm run gen:dev:api生成dev模块接口定义

  • 将src/views/dev添加到项目src/views文件夹

  • 修改/src/router/route.ts,将生成器节点添加到 '/example' 即可

    [
          {
            path: '/dev',
            name: 'dev',
            redirect: '/dev/codegen',
            meta: {
              title: '生成器',
              isLink: '',
              isHide: false,
              isKeepAlive: true,
              isAffix: false,
              isIframe: false,
              roles: ['admin'],
              icon: 'iconfont icon-zujian',
            },
            children: [
              {
                path: '/dev/codegen',
                name: '/dev/codegen',
                component: () => import('/@/views/dev/codegen/index.vue'),
                meta: {
                  title: '代码生成',
                  isLink: '',
                  isHide: false,
                  isKeepAlive: true,
                  isAffix: false,
                  isIframe: false,
                  roles: ['admin'],
                  icon: 'iconfont icon-zujian',
                },
              }]
          },
          //...{path: '/example',...}
    ]
    
  • 配置api+模型生成
    生成器配置

  • 配置路由
    配置路由

因为框架有些更新改动,未做适配会存在一些报错,解决即可,已经提PR了,可以根据需要查看pr或我的主页获取代码

生成器使用

配置就绪,项目就可以丝滑的运行起来了

  • 可以直接创建数据表,再生成代码,亦可以根据已有的数据库表来生成

  • 创建完成后,在列表右侧下拉按钮 生成代码 即可

  • 生成菜单数据的前置操作,正常需要手动添加视图及权限分组,再生成菜单

    • 新建视图
      • 视图名称:代码测试
      • 上级视图:平台管理
    • 新建权限分组
      • 上级分组:平台管理
      • 名称:代码测试
      • 路由地址:/platform/test
      • 重定向:/platform/test/index
  • 生成菜单

    • 点击生成菜单数据
    • 将会在[视图管理]页面下生成
      • 测试管理 视图命名:admin/test 视图地址:admin/test/index
      • 这里生成的是会加载到vue-router,地址如果有下划线,横杠等特殊符号需要自己修改
    • 将会在[权限管理]页生成
      测试管理 菜单 路由地址:/admin/test 视图地址:admin/test/index  路由命名:admin/test
      这个测试页因为是生成到平台管理模块所以才需要修改,因为平台模块的key是platform,
      打开后左侧导航会无法正确定位,所以需要修改下生成的权限菜单项
      将路由地址修改为:/platform/test/index
      将路由名称修改为:platform/test/index
  • 生成结果示例
    生成结果示例

生成结果示例

结语

至此,对于zhontai的框架使用产出了三篇文章,框架上手还是比较简单,有了代码生成器也可以快速开发;目前得知作者也在弄微服务的框架,表示期待,默默点赞,觉得有用的也可以去zhontai/Admin.Core点个Star,希望后来者可以少踩一些坑吧。
目前准备使用框架来整个管理系统,等我边踩坑边记录吧,后面有空再分享。

与03.前后端分离中台框架 zhontai 项目代码生成器的使用相似的内容:

03.前后端分离中台框架 zhontai 项目代码生成器的使用

使用可视化代码生成器生成zhontai框架的前后台代码

Vue根据时间戳制作倒计时15分钟

废话不多说直接上代码

[转帖]TiDB 统计数据库占用大小的N种方法

TiDB之路2022-03-06 3896 前言 TiDB 如何统计数据库占用空间大小 四种方法 方法一 TiDB 统计数据库占用大小的第一种方法是监控。通过查看 {cluster-name} - Overview,可以查看Current storage size面板,获取当前集群已用数据库空间大小

[转帖]RabbitMQ学习笔记03:Work Queues

参考资料:RabbitMQ tutorial - Work Queues — RabbitMQ 前言 这篇文章我们会创建一个Work Queue,它会在多个worker(即消费者 consumer)中分发耗时的任务。Work Queue也叫做Task Queue是为了避免当处理一个占用资源的任务时必

[转帖]RabbitMQ学习笔记04:Publish/Subscribe

参考资料:RabbitMQ tutorial - Publish/Subscribe — RabbitMQ 前言 在 RabbitMQ学习笔记03:Work Queues 中,每个进入队列中的消息只会被投递给一个消费者进程。而在这篇文章中,我们将会把一条消息同时投递给多个消费者进程。这种模式也叫做p

【Android逆向】某小说网站签名破解

1. 豌豆荚下载v5.4的版本 2. 参考前面两篇文章进行反编译和重打包后,安装到手机发现会有验签失败的报错 抓取log 03-29 16:15:37.545 25910 26539 D KM-NATIVE: call Java_com_km_encryption_api_Security_sign

搭建高可用k8s

搭建k8s高可用 高可用只针对于api-server,需要用到nginx + keepalived,nginx提供4层负载,keepalived提供vip(虚拟IP) 系统采用openEuler 22.03 LTS 1. 前期准备 因为机器内存只有16G,所有我采用3master + 1node 主

SEAL 0.3 正式发布:国内首个全链路软件供应链安全管理平台

12月1日,软件供应链安全管理平台 SEAL 0.3 正式发布(以下简称“SEAL”),这是国内首个以全链路视角保护软件供应链的安全管理平台。两个月前 SEAL 0.2 发布,该版本创新性地提供了依赖项的全局汇总与关联,用户可以获得软件开发生命周期各个环节的可见性,进而以全局视角管理软件供应链。基于

k8s组件和网络插件挂掉,演示已有的pod是否正常运行

环境 03 master ,05 06是node [root@mcwk8s03 mcwtest]# kubectl get nodes -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERS

[转帖]SQL Server 体系结构中的2个主要引擎 说明

2020-03-18 16:2321450原创SQLServer 本文链接:https://www.cndba.cn/dave/article/4498 SQL Server 由两个主要引擎组成∶关系引擎(relational engine)和存储引擎(storage engine)。 1 关系引擎