本次更新内容
1.后台模块增加shiro权限注解,前台添加菜单的时候需要配置权限标签,不然会报406错误
2.vue代码模板增加添加数据加载动画功能
3.修改了vue代码生成模板和jpa代码生成模板
4.优化了nbsaas-admin模块部分功能
5.增加基础功能模块 nbsaas-boot-starter,微信支付模块。基础功能引入pom就好了。
6.优化了nbsaas-admin-vue3视图页面
boot-nbsaas 具有以下特点:
自动建表:boot-nbsaas 提供了自动建表功能,根据用户定义的数据模型自动生成数据库表结构,减少手动操作,提高开发效率。
开发规范:boot-nbsaas 提供一套开发规范,包括代码风格、命名规范、注释规范等,使团队开发更加规范化和高效化。
代码生成器:boot-nbsaas 提供代码生成器,根据数据模型自动生成前端和后端代码,提高开发效率和代码质量。
多租户支持:boot-nbsaas 支持多租户,为不同客户提供独立的数据存储空间和访问权限,保证数据安全性和隔离性
通过 Command 处理复杂的业务
InputRequestObject context = new InputRequestObject();
context.setConfig(config);
context.setFormBean(formBean);
new DomainCommand()
.after(new ApiCommand())
.after(new ConvertCommand())
.after(new ControllerFrontCommand())
.after(new RestCommand())
.after(new ExtApiCommand())
.after(new RepositoryCommand())
.after(new FieldCommand())
.after(new FinishCommand()).execute(context);
模型构建
@CatalogClass
@FormAnnotation(title = "组织架构管理", model = "组织架构", menu = "1,27,88")
@杨泽
@陌影
@Table(name = "sys_structure")
public class Structure extends CatalogEntity {
@FormField(title = "父分类名称")
@Comment("父分id")
@FieldName
@FieldConvert(classType = "Integer")
@ManyToOne(fetch = FetchType.LAZY)
private Structure parent;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "parent")
private List<Structure> children;
}
通过模型数据提取,然后通过代码生成器生成后端代码 + vue3 后端管理代码
基础功能项目 https://gitee.com/cng1985/nbsaas-boot-starter
项目脚手架 https://gitee.com/cng1985/nbsaas-admin
vue3 后台管理脚手架 https://gitee.com/cng1985/nbsaas-admin-vue3
本次更新内容
1.优化了代码生成器,增加BeanExt,FormExtField等注解,方便扩展Simple对象和Response对象。
2.修复了树形结构类保存时候的层级数量始终是1的bug。
3.修复了单项目代码生成模块命名混乱的问题
4.优化了nbsaas-admin模块部分功能
5.增加基础功能模块 nbsaas-boot-starter,微信支付模块。基础功能引入pom就好了。
6.优化了nbsaas-admin-vue3视图页面
boot-nbsaas 具有以下特点:
自动建表:boot-nbsaas 提供了自动建表功能,根据用户定义的数据模型自动生成数据库表结构,减少手动操作,提高开发效率。
开发规范:boot-nbsaas 提供一套开发规范,包括代码风格、命名规范、注释规范等,使团队开发更加规范化和高效化。
代码生成器:boot-nbsaas 提供代码生成器,根据数据模型自动生成前端和后端代码,提高开发效率和代码质量。
多租户支持:boot-nbsaas 支持多租户,为不同客户提供独立的数据存储空间和访问权限,保证数据安全性和隔离性
通过 Command 处理复杂的业务
InputRequestObject context = new InputRequestObject();
context.setConfig(config);
context.setFormBean(formBean);
new DomainCommand()
.after(new ApiCommand())
.after(new ConvertCommand())
.after(new ControllerFrontCommand())
.after(new RestCommand())
.after(new ExtApiCommand())
.after(new RepositoryCommand())
.after(new FieldCommand())
.after(new FinishCommand()).execute(context);
模型构建
@CatalogClass
@FormAnnotation(title = "组织架构管理", model = "组织架构", menu = "1,27,88")
@杨泽
@陌影
@Table(name = "sys_structure")
public class Structure extends CatalogEntity {
@FormField(title = "父分类名称")
@Comment("父分id")
@FieldName
@FieldConvert(classType = "Integer")
@ManyToOne(fetch = FetchType.LAZY)
private Structure parent;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "parent")
private List<Structure> children;
}
通过模型数据提取,然后通过代码生成器生成后端代码 + vue3 后端管理代码
基础功能项目 https://gitee.com/cng1985/nbsaas-boot-starter
项目脚手架 https://gitee.com/cng1985/nbsaas-admin
vue3 后台管理脚手架 https://gitee.com/cng1985/nbsaas-admin-vue3
boot-nbsaas 1.0.12-2023 发布
<parent>
<groupId>com.nbsaas.boot</groupId>
<artifactId>boot-nbsaas</artifactId>
<version>1.0.12-2023</version>
</parent>
本次更新内容
1.优化了代码生成器,修改了搜索字段数据类型,以前是字符串,现在是具体类型。
2.修改了代码生成器生成单项目模块和多项目模块的配置方式。
3.修复了单项目代码生成模块命名混乱的问题
4.修改了ExtApi泛型的方式,增加<Domain> PageResponse<Domain> searchExt(PageRequest request, Function<Simple,Domain> function)方法
5.增加基础功能模块 nbsaas-boot-starter,包括基础配置,用户模块,系统模块,广告模块。基础功能引入pom就好了。
6.增加了初始化项目的脚手架
boot-nbsaas 具有以下特点:
自动建表:boot-nbsaas 提供了自动建表功能,根据用户定义的数据模型自动生成数据库表结构,减少手动操作,提高开发效率。
开发规范:boot-nbsaas 提供一套开发规范,包括代码风格、命名规范、注释规范等,使团队开发更加规范化和高效化。
代码生成器:boot-nbsaas 提供代码生成器,根据数据模型自动生成前端和后端代码,提高开发效率和代码质量。
多租户支持:boot-nbsaas 支持多租户,为不同客户提供独立的数据存储空间和访问权限,保证数据安全性和隔离性
通过 Command 处理复杂的业务
InputRequestObject context = new InputRequestObject();
context.setConfig(config);
context.setFormBean(formBean);
new DomainCommand()
.after(new ApiCommand())
.after(new ConvertCommand())
.after(new ControllerFrontCommand())
.after(new RestCommand())
.after(new ExtApiCommand())
.after(new RepositoryCommand())
.after(new FieldCommand())
.after(new FinishCommand()).execute(context);
模型构建
@CatalogClass
@FormAnnotation(title = "组织架构管理", model = "组织架构", menu = "1,27,88")
@Data
@Entity
@Table(name = "sys_structure")
public class Structure extends CatalogEntity {
@FormField(title = "父分类名称")
@Comment("父分id")
@FieldName
@FieldConvert(classType = "Integer")
@ManyToOne(fetch = FetchType.LAZY)
private Structure parent;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "parent")
private List<Structure> children;
}
通过模型数据提取,然后通过代码生成器生成后端代码 + vue3 后端管理代码
基础功能项目 https://gitee.com/cng1985/nbsaas-boot-starter
单模块项目脚手架 https://gitee.com/cng1985/nbsaas-admin
多模块项目脚手架 https://gitee.com/cng1985/nbsaas-sample
vue3后台管理脚手架 https://gitee.com/cng1985/nb_admin
<parent>
<groupId>com.nbsaas.boot</groupId>
<artifactId>boot-nbsaas</artifactId>
<version>1.0.11-2023</version>
</parent>
本次更新内容
优化了代码生成器,修改了SearchRequest.ftl生成SearchRequest对象模板,修改了Resource.ftl模板,树形结构类重新list方法。 优化了vue树形结构页面模板。
BaseResource中listSimple的可见性
修改模型数据(FormBeanConvert)提取的方式,解决搜索字段重复的问题。
修复了单项目代码生成模块命名混乱的问题
boot-nbsaas 具有以下特点:
自动建表:boot-nbsaas 提供了自动建表功能,根据用户定义的数据模型自动生成数据库表结构,减少手动操作,提高开发效率。
开发规范:boot-nbsaas 提供一套开发规范,包括代码风格、命名规范、注释规范等,使团队开发更加规范化和高效化。
代码生成器:boot-nbsaas 提供代码生成器,根据数据模型自动生成前端和后端代码,提高开发效率和代码质量。
多租户支持:boot-nbsaas 支持多租户,为不同客户提供独立的数据存储空间和访问权限,保证数据安全性和隔离性
通过Command处理复杂的业务
InputRequestObject context = new InputRequestObject();
context.setConfig(config);
context.setFormBean(formBean);
new DomainCommand()
.after(new ApiCommand())
.after(new ConvertCommand())
.after(new ControllerFrontCommand())
.after(new RestCommand())
.after(new ExtApiCommand())
.after(new RepositoryCommand())
.after(new FieldCommand())
.after(new FinishCommand()).execute(context);
模型构建
@CatalogClass
@FormAnnotation(title = "组织架构管理", model = "组织架构", menu = "1,27,88")
@杨泽
@陌影
@Table(name = "sys_structure")
public class Structure extends CatalogEntity {
@FormField(title = "父分类名称")
@Comment("父分id")
@FieldName
@FieldConvert(classType = "Integer")
@ManyToOne(fetch = FetchType.LAZY)
private Structure parent;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "parent")
private List<Structure> children;
}
通过模型生成后端代码+vue3后端管理代码
package com.nbsaas.boot.chain;
import com.nbsaas.boot.rest.request.RequestObject;
import com.nbsaas.boot.rest.response.ResponseObject;
import java.util.Objects;
public interface Command<Request extends RequestObject, Response>{
ResponseObject<Response> execute(Request request);
default Command<Request, Response> before(Command<Request, Response> command) {
Objects.requireNonNull(command);
return (Request request) -> {
ResponseObject<Response> temp = command.execute(request);
if (temp.getCode() == 200){
return execute(request);
} else{
return temp;
}
};
}
default Command<Request, Response> after(Command<Request, Response> command) {
Objects.requireNonNull(command);
return (Request request) -> {
ResponseObject<Response> temp = execute(request);
if (temp.getCode() == 200){
return command.execute(request);
} else{
return temp;
}
};
}
}