FHS-Framework V2.0.4 发布,开源快速开发平台

本版本更新内容:

  • 账号输入密码次数超过上限后的自动锁定
  • 优化高级搜索,每个过滤条件都支持and/or,并且点击完搜索后自动关闭
  • 去掉js/other/path 三个properties 配置全都使用yml,去掉Apollo,拥抱nacos
  • 忽略Swagger  DO中 的部分字段。
  • 添加validate-spring-boot-starter 代替 hibernate validator 

     优势1 支持控制器注解验证

    @ValidateParams(
            value = {
                    @ValidateParam(value = Check.NotEmpty, argName = "name"),
                    @ValidateParam(value = Check.Number, argName = "age"),
                    @ValidateParam(value = Check.isIDCard, argName = "idcard"),
            }
    )
   @GetMapping("test1")
    public Object test1(String name, Integer age, Integer idcard) {
        return Boolean.TRUE;
    }

    @ValidateParam(value = Check.NotEmpty, argName = "oneData.name")
    @ValidateParam(value = Check.Number, argName = "oneData.age")
    public Object test3(@RequestBody @Valid OneData oneData) {
        return oneData;
    }

   优势2 验证写法更简单

public class OneData {
    
     //自定义的时候 fun=Custom;express= bean名字 
    @AbcValidate(required = true, fun = Check.Custom, express = "nameValidater")
    private String name;
    
    
    @AbcValidate(required = true)
    private Integer age;
    
    
    @AbcValidate(required = true, fun = Check.le, express = "1")
    private Integer sex;
}

      优势3 兼容hibernate validator的注解

      传送: https://gitee.com/liangbaikai00/validate?_from=gitee_search

  • FHS Framework简介:

     FHS Framework是一款真开源,久维护的快速开发平台,平台轻量级,组件可拆装,集成了开发常用的用户角色权限/数据权限 字典,代码生成器,工作流,操作日志,登录日志,swagger,前后端校验,多数据源管理,重复提交拦截器,XSS拦截器,统一异常处理器 常见的功能。

      FHS Framework 技术栈:

      SpringBoot/Cloud(cloud为可选组件,支持单机部署)+Beetl+Mybatis Plus/Jpa+VUE&Element | Easyui +Jetcache + Mysql+Redis

       FHS Framework 架构图:

     

     FHS Framework 思维导图:

       

  FHS Framework 特有功能之翻译服务即: 无需表关联,将id 翻译为其他表的title/name

     

    FHS Framework 特有功能之PAGEX 即:可实现无JAVA+HTML 只写JS实现复杂CRUD的方案(可自定义后台接口和HTML+JS扩展)

                 以下代码就是我们一个CRUD的代码

 var modelConfig= {title:'月租户类型',pkey:'id',type:'uuid',orderBy:'update_time Desc',
        namespace:"parking_lease_type",table:'t_park_lease_type',trans:true,db:"park"};
    
    var listPage={
        listFieldSett:function(){
    	  return [
    		  {name:'lease_name',title:'类型名称',width:'20%',align:'center'},
              {name:'park_id',title:'停车场名称',width:'20%',isJoin:true,namespace:'parking',showField:'transMap.parkName',align:'center'},//自动表关联
              {name:'is_disable',title:'是否禁用',width:'10%',formart:'formatRowColor',align:'center',trans:'book',key:'is_disable',showField:'transMap.is_disableName'},//字典翻译
              {name:'create_user',title:'创建人',width:'8%',align:'center',trans:'user',showField:'transMap.create_userUserName'},//用户翻译
              {name:'create_time',title:'创建时间',width:'10%',align:'center'},
              {name:'update_user',title:'更新人',width:'8%',align:'center',trans:'user',showField:'transMap.create_userUserName'},
              {name:'update_time',title:'更新时间',width:'10%',align:'center'},
              {name:'is_sync',title:'是否已下发',width:'5%',align:'center',trans:'book',key:'yesOrNo',showField:'transMap.is_syncName'},//字典翻译
      ]},
      filters:function(){
          return [
              {name:'park_id',type:'select',url:'${path.basePath}/ms/x/parking/findListData',
                  valuefield:'id',textfield:'parkName',title:'停车场'},//下拉插件
              {name:'lease_name',type:'input',title:'出入口名称',filterType:'like'},
    	  ];      
      }, 
      buttons:function(){
          return [
              //自定义按钮数组
          ];
      },
      disableButtons:function(){
    	    return [];//禁用掉默认提供的按钮 默认提供了增删改查 + 导出
      },
      otherFunctions:function(){
          return {}//其他的自定义方法
      }
    };
    
    var add={ 
    	formFields:function(){//表单内容
    	     return [
                 {name:'park_id',type:'select',url:'${path.basePath}/ms/x/parking/findListData',
                     valuefield:'id',textfield:'parkName',title:'停车场',required:true,},//一个下拉
                 {name:'lease_name',title:'名称',required:true,type:'input'},//一个input
                 {name:'is_disable',title:'是否禁用',type:'switch',dft:false},//一个开关滑块
                 {name:'is_sync',title:'是否下发',type:'hide'},//一个隐藏域
    		 ];
    	},
        otherFunctions:function(){
          return {
    	     ready:function(){
    	    },
    	    loadSuccess:function(info){//加载后台数据成功的事件
    
    	    },
    	    onSave:function(){//保存前执行方法
                $('#isSync').val(0);
    	    },
    		saveSucess:function(){//保存成功执行方法
    	    },
    		saveError:function(){//保存失败执行的方法
    		    
    	    },
    	  }		
       }
    }

      FHS Framework 特有功能之-前端表单填充器:

          有的时候表单很多内容,造数据或者测试的时候会比较费时间,有了表单填充器,可一键填充表单内容,然后在修改几个重要的点,无需一个一个输入,针对于用户名,邮箱,身份证号码,手机号 内置了字典,可生成不重复的数据。

    FHS Framework 特有功能之-更容易看懂的审计日志(操作日志):

        您只需要给对应的控制器和方法上加上注解,我们就能生成更容易看懂的审计日志(框架通过 swagger 属性注解和翻译服务实现此功能)。 输入图片说明 输入图片说明

  • 系统预览

     

    

体验地址

http://114.116.21.147:8081/ admin 123456

猜你喜欢

转载自www.oschina.net/news/117815/fhs-framework-2-0-4-released