ZeusAutoCode代码生成工具(开源)(下)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: ZeusAutoCode代码生成工具(开源)(下)

1. 线下更新

1. 修改前端代码中的package.json中的version属性。
2. 前端代码打包 yarn run package:prod
3. 通过对前端代码进行打包,找到D:\workspace\workspace-zeus\zeus-view\dist_electron\win-ia32-unpacked\resources\app.asar文件。对此文件进行压缩,压缩成zip包,
4. 在【版本更新】处新建一个版本,版本号和version的版本号一致。上传刚才压缩的zip包
5. 重启客户端,自动拉去最新版本,完成更新

2. 线上更新

1. 修改前端代码中的package.json中的version属性。
2. 提交代码到git上
3. 执行【脚本管理】的 ‘生成器前端打包’脚本
4. 在【版本更新】处新建一个版本,版本号和version的版本号一致。选择线上。url固定填 http://39.101.173.227/zeus/app.zip
5. 重启客户端,自动拉去最新版本,完成更新

3. 前端更新脚本示例

脚本文件 viewcode.sh

、#!/bin/bash
#auth eric
#date 2021-07-14
#*********脚本入参#*********
appname=code
#Git源码位置
gitsrc=/home/egn/GitSpace/zeus-view
#Nginx位置
nginxsrc=/usr/local/nginx/html/zeus/
#*********脚本入参#*********
cd $gitsrc && git pull origin master && yarn run build:prod
mv -f $gitsrc/dist_electron/win-unpacked/resources/app.asar $nginxsrc
rm -rf $nginxsrc/*.zip
echo '删除历史包'
cd $nginxsrc
zip app.zip app.asar
echo '发布成功'

参考这个脚本,也可以做其他前端项目的自动打包

4. 后台更新脚本示例

脚本文件 code.sh

#!/bin/bash
#auth eric
#date 2021-07-14
#*********脚本入参#*********
appname=code
#Git源码位置
gitsrc=/home/egn/GitSpace/zeus-server
#Docker脚本位置
dockersrc=/home/egn/DockerBuilder/$appname
#*********脚本入参#*********
cd $gitsrc && git pull origin master && mvn install -DskipTests
if [ $? -eq 0 ]; 
then
    echo "maven build success "
else 
    echo -e '\033[31m[ error ] gradle build faild \033[0m' && exit 1
fi
\cp -f $gitsrc/target/*.jar $dockersrc
echo '第二步:查看是否有镜像'
cd $dockersrc
imageresult=$(docker images |grep  $appname | wc -l)
if [ $imageresult -eq 0 ]; 
then
  echo "不存在镜像,需要重新初始化鏡像";
  docker build -t $appname .
  docker run -d --name $appname -p 8003:8003 --restart always $appname
else
  conid=$(docker ps |grep  $appname |awk '{print $1}')
  docker cp *.jar $conid:/$appname.jar
  docker restart $conid
  if [ $? -eq 0 ]; 
  then
    echo "发布成功!"
  else 
    echo -e '\033[31m[ error ] 发布失败 \033[0m' && exit 1
  fi
fi

参考此脚本,同理可以做后台项目自动打包部署

5. 前后端脚本基础环境搭建

https://blog.csdn.net/qq_35921773/article/details/121694667

4. 脚本管理(管理员)

脚本管理核心是远程连接linux服务器,执行linux命令

用户可以通过该功能实现项目的远程打包、查看日志、服务重启……等操作

5. 网页库(管理员)

网页库是让用户快捷跳转项目常用网址的一个功能。管理员可以通过网页库新建该项目的所有网址,例如Gitlab、禅道、测试环境地址、原型地址……

6. 配置中心(普通用户)

普通用户在配置中心可以根据自己已有的项目,新建该项目的配置信息。

配置信息主要包含:选择项目、项目目录、配置名称、配置描述、数据库连接信息这些属性

用户可见的项目: 公开项目和私有项目用户在项目成员中

数据库连接信息: 客户端作为数据库连接工具,就像是Navicat一样获取当前数据的所有表。可以连接内网数据库

项目目录:生成的代码注入的目录。一般为项目根目录

7. 取码中心(普通用户)

注意:

使用zeus客户端生成代码会强制覆盖本地代码。所以在生成代码前,可以先通过配置详情功能选择要生成的文件

1. 操作步骤

  1. 选择用户在配置中心新建的配置数据
  2. 选择配置数据库加载而来的数据表
  3. 打开【配置详情】页面。可以动态勾选要生成的模板,以及动态填充自定义字典内容。
  4. 点击生成按钮,代码自动注入到 配置中心的用户自建的配置目录中

2. 高级配置

(前端待完善)

配置详情页面

数组类型字典,复选框勾选

属性列表型字典,表格复选框勾选

8. 网页库(普通用户)

用户通过管理员分配的网页库可见权限,点击网页直接打开浏览器跳转到对应的网址

六、使用手册

Tips: 客户端可以多开,可以同时打开两个客户端,一个登录管理员,一个登录普通用户。管理员实时编辑模板,普通用户实时生成代码。


1. 管理员新建项目

管理员可以通过新增按钮创建项目,也可以直接通过复制操作,完全拷贝一个项目


e6524d9d26124914ae509aca9c76f842.png

在项目中构建自己的空间树、和模板。详情参考功能说明中的空间树介绍

2. 普通用户新建配置

普通用户在【配置管理】菜单中,新建配置

  1. 选择项目
  2. 设置项目所在的本地目录
  3. 填写数据库连接信息
  4. 测试数据库连接
  5. 保存配置

10489130896149ee9a5180d8424c7f2a.png



3. 普通用户生成代码

  1. 用户打开【取码中心】功能
  2. 选择我们在配置中心新建的配置
  3. 选择根据配置信息加载的表
  4. 点击生成代码

d026614f80c84ad7a7ec9020051b93d9.png


4. 高级配置


d48e23598c2b43b1bc00fb6620f4d755.png


5. 模板语法

主要参考已有模板,Freemarker的所有语法都支持。

这里列举下常见语法

  1. 遍历数组
<#list FiledList as field>
  private ${field.javaType} ${field.filedName};
</#list>

2.字符串转数组

<#assign function_list=FunctionList?split(",") >
<#list function_list as function>
   <#if (function == 'findPage')>
   </#if>
</#list>   

3.遍历数组获取下标

<#list FiledList as column>
  <#if (column_index>0)>
  <#if (column.javaType== 'String')>
    if(StringUtils.isNotEmpty(body.getParameter().get${FiledList[0].FILEDNAME}())) queryWrapper.like("${column.filed_name}", body.getParameter().get${FiledList[0].FILEDNAME}());
  </#if>
  <#if (column.javaType== 'Integer' || column.javaType== 'Double' || column.javaType== 'Float' || column.javaType== 'Long')>
    if(body.getParameter().get${FiledList[0].FILEDNAME}() != null) queryWrapper.eq("${column.filed_name}", body.getParameter().get${FiledList[0].FILEDNAME}());
  </#if>
  </#if>
</#list>

七、常见问题

1. 取码中心生成代码失败

通过管理员登录系统,进入脚本管理,运行查看代码生成器日志脚本,查看模板报错信息。

2. 取码中心生成无反应

  1. zeus客户端软件权限
1. 桌面选择zeus客户端的logo
2. 右键》属性》打开文件所在位置》找到zeus.exe 以管理员权限运行
3. 桌面zeus快捷方式,右键》属性》高级》勾选 以管理员身份运行

2.切换【配置中心】代码。后台项目目录

尽量不要选C盘的,C盘权限不足会导致代码无法注入。

3.查看日志排查问题

接口问题排查

在客户端使用快捷键CTRL ALT I 可以打开控制台,查看生成代码接口,是否返回正常,如果是接口错误,大概率是模板错误

客户端问题排查

1. 桌面选择zeus客户端的logo
2. 右键》属性》打开文件所在位置
3. 复制当前路径
4. 使用管理员方式打开CMD,输入刚才输入的路径cd进去
5. 执行zeus.exe
6. 查看客户端日志


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
14天前
|
机器学习/深度学习 人工智能 算法
【AI系统】LLVM 后端代码生成
本文介绍 LLVM 后端的代码生成过程,包括将优化后的 LLVM IR 转换为目标代码的关键步骤,如指令选择、寄存器分配、指令调度等,以及后端如何支持不同硬件平台的代码生成。
23 6
|
3月前
|
JavaScript 测试技术 持续交付
构建高效的开发环境:工具与实践指南
在软件开发中,高效的开发环境对于提升生产力和代码质量至关重要。本文将介绍如何通过选择合适的工具和实践来打造高效环境,包括减少干扰、提高效率和提升代码质量。首先,文章将探讨选择正确的代码编辑器,如 Visual Studio Code 和 Sublime Text,并介绍如何配置编辑器以提高工作效率。接着,文章将讲解版本控制系统的使用,特别是 Git 的基本操作及 GitHub、GitLab 等远程仓库服务的选择。此外,还将讨论代码质量管理,包括代码审查和单元测试的最佳实践。最后,文章将介绍持续集成和持续部署(CI/CD)工具,以及如何利用命令行工具和协作工具来进一步提升开发效率。
|
5月前
|
开发框架 前端开发 关系型数据库
使用代码生成工具快速开发ABP框架项目
使用代码生成工具快速开发ABP框架项目
|
7月前
|
人工智能 程序员 API
代码生成工具:提升开发效率的利器
随着技术的不断进步,以及在AI浪潮的推动下,代码生成工具逐渐成为开发者们提高效率的得力助手,代码生成工具在现代软件开发中扮演着越来越重要的角色。作为程序开发者,我觉得代码生成工具不是程序员的所有,但是它可以是程序员在开发中的“左膀右臂”,代码生成工具更多的是帮助开发者提高在日常开发中的效率。那么本文就来分享一下关于代码生成工具在开发过程中的应用情况,并对这一领域的未来发展提出些许期待和诉求。
132 7
代码生成工具:提升开发效率的利器
|
7月前
|
JavaScript 前端开发 编译器
TypeScript的编译器、编辑器支持与工具链:构建高效开发环境的秘密武器
【4月更文挑战第23天】TypeScript的强大力量源于其编译器、编辑器支持和工具链,它们打造了高效的开发环境。编译器`tsc`进行类型检查、语法分析和代码转换;编辑器如VS Code提供智能提示、错误检查和格式化;工具链包括Webpack、Rollup等构建工具,Jest、Mocha等测试框架,以及代码质量和性能分析工具。这些组合使用能提升开发效率、保证代码质量和优化项目性能。
|
前端开发 Java 数据库连接
ZeusAutoCode代码生成工具(开源)(上)
ZeusAutoCode代码生成工具(开源)(上)
314 0
|
数据库
【平台开发】技术整合思考(五)代码生成代码
【平台开发】技术整合思考(五)代码生成代码
96 2
|
存储 测试技术 持续交付
06 接口测试平台:工具和框架不可以兼容?
06 接口测试平台:工具和框架不可以兼容?
|
人工智能 前端开发 JavaScript
提高Java开发效率:5个常用的Visual Studio代码扩展工具
对于软件工程师来说,能够更好地管理时间是一项宝贵的技能。因此,这里有5个Visual Studio代码扩展工具,可以帮助前端开发人员(以及更多的人!)将生产力至少提高10%到20%,下面和小编一起来看看吧!
230 0
提高Java开发效率:5个常用的Visual Studio代码扩展工具
|
IDE 前端开发 JavaScript
KAITIAN IDE 是如何构建扩展能力极强的插件体系的?
本文简要阐述了 VS Code 插件模型,从实际场景出发在这套体系之上初步构建出开天特有的插件扩展能力。
KAITIAN IDE 是如何构建扩展能力极强的插件体系的?