首页 > 其他分享 >03.前后端分离中台框架 zhontai 项目代码生成器的使用

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

时间:2023-08-25 18:55:36浏览次数:41  
标签:代码生成 03 admin dev 生成 test zhontai

合集 - zhontai(3)   1.01.前后端分离中台框架后端 Admin.Core 学习-介绍与配置说明08-202.2.前后端分离中台框架前端 admin.ui.plus 学习-介绍与简单使用08-21 3.03.前后端分离中台框架 zhontai 项目代码生成器的使用08-22 收起  

zhontai 项目

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

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

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

后端生成

  • 代码仓库 https://github.com/share36/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/share36/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,希望后来者可以少踩一些坑吧。
目前准备使用框架来整个管理系统,等我边踩坑边记录吧,后面有空再分享。

作者:易墨
Github:yimogit
纯静态工具站点:metools
说明:欢迎拍砖,不足之处还望园友们指出;
迷茫大概是因为想的太多做的太少。

  合集: zhontai   转 https://www.cnblogs.com/morang/p/zhontai_admin_core_book_03.html

标签:代码生成,03,admin,dev,生成,test,zhontai
From: https://www.cnblogs.com/wl-blog/p/17657742.html

相关文章

  • [AGC030D] Inversion Sum
    题目大意一个长度为\(n\)的数列,然后给你\(q\)个交换或不交换操作,你可以选择操作或者不操作,问所有情况下逆序对的总和。答案需要对\(10^9+7\)取模。(\(n\leq3000\),\(q\leq3000\))。思路这道题非常巧妙。我们先考虑转化题意,求逆序对数量的期望。记\(dp_{i,j}\)表......
  • 每日一练 | 华为认证真题练习Day103
    1、网络设备发送的IPv6报文时,会首先将报文长度和NTU值进行对比,如果大于MTU值,则直接丢弃。A.对B.错2、路由器接口输出信息如下,则此接口可以接收哪些组播地址的数据?(多选)A.FF02::2B.FF02::1:FF12:1C.FF02::1:FF6F:4F36D.FF02::13、以下关于IPv6任播地址说法正确的有?(多选)A.目标......
  • day03
    线程管理一、基本概念  1、线程是进程的执行路线,它是进程内部的控制序列,线程是进程的一部分,进程是一个资源单位,而线程是执行单位,线程是进程执行的实体,负责真正的执行  2、线程是轻量级的,没有自己的代码段、数据段、bss段、堆、环境变量、命令行参数、文件描述符、信号......
  • 基础题链表203、206
    203. 移除链表元素也可以用栈解决:(程序员小熊)1#Definitionforsingly-linkedlist.2#classListNode:3#def__init__(self,val=0,next=None):4#self.val=val5#self.next=next6classSolution:7defremoveElements(sel......
  • [AGC030D] Inversion Sum 题解
    题意给定一个长度为\(n\)的排列\(a\)和\(m\)个形如\(\left(x,y\right)\)的操作,每次操作可以选择是否交换\(a_x,a_y\),求最终所有形成的排列的逆序对总数。(\(1\len,m\le3000\))。题解考虑转化题意,考虑求出最终总的期望逆序对数,即CF258D。转化答案\[\text{Ans}=......
  • [ Vue ] opensslErrorStack: [ ‘error:03000086:digital envelope routines::initial
    报错触发场景:Mac系统,开发工具启动从其他地方拷贝或者git克隆来的,非自建前端Vue项目时。报错内容如下: opensslErrorStack:['error:03000086:digitalenveloperoutines::initializationerror'], library:'digitalenveloperoutines', reason:'unsupported', code......
  • Autofac报错No constructors on type 'xxx' can be found with the constructor finde
    Noconstructorsontype'JK.TitanData.Repository.Fact_Sales_GMVTargetTotalRepository'canbefoundwiththeconstructorfinder'Autofac.Core.Activators.Reflection.DefaultConstructorFinder'.Seehttps://autofac.rtfd.io/help/no-construct......
  • 电脑上有别人的账号,git代码下拉报错403
    换的别人的电脑,然后有别人的账号,去下拉代码有问题报错403 然后去看git账户信息发现没有发现问题$gitconfig--list方法一,重置本机保留的gitconfig信息。解决方法:重置本机保留的gitconfig信息。命令:gitconfig--system--unsetcredential.helper然后再次clone的时候......
  • git总是提示要填账号密码| fatal: Authentication failed for 'http://gitlab.xxx.git
    骑士李四记录:gitclone/gitpull等git操作总是提示要填账号密码问题?执行这段命令:gitconfig--globalcredential.helperstore这个命令则是在你的本地生成一个账号密码的本子记录信息,这样就不用每次都输入了,第一次还是需要输入。......
  • 微调llama2模型教程:创建自己的Python代码生成器
    本文将演示如何使用PEFT、QLoRa和Huggingface对新的lama-2进行微调,生成自己的代码生成器。所以本文将重点展示如何定制自己的llama2,进行快速训练,以完成特定任务。 https://avoid.overfit.cn/post/9794c9eef1df4e55adf514b3d727ee3b......