[开源]快速开发平台(低代码开发平台),本框架永远免费,永久全开源(开源的低代码开发平台)

一、开源项目简介

fhs-Framework是一个基于Springboot Springcloud Mybatis Plus sa-token vue elementui 的快速开发平台(低代码开发平台),本框架永远免费,永久全开源。

FHS-Framwork是一个集成了国内外诸多优秀开源项目的快速开发平台,除了在常规快速开发平台提供 用户,角色,权限,菜单,字典,审计日志,代码生成器 还拥有可以让您更少写SQL和前端代码的翻译服务以及PAGEX服务。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

[开源]快速开发平台(低代码开发平台),本框架永远免费,永久全开源(开源的低代码开发平台)[开源]快速开发平台(低代码开发平台),本框架永远免费,永久全开源(开源的低代码开发平台)[开源]快速开发平台(低代码开发平台),本框架永远免费,永久全开源(开源的低代码开发平台)[开源]快速开发平台(低代码开发平台),本框架永远免费,永久全开源(开源的低代码开发平台)

四、功能概述

系统管理

  • 部门管理
  • 用户管理
  • 角色管理
  • 字典管理
  • 菜单管理
  • 代码生成
  • 登录日志

五、技术选型

基于Springboot Springcloud Mybatis Plus sa-token vue elementui。

用到的国产组件集

  • Mybatis Plus
  • Sa-Token
  • Validate-Springboot-Starter
  • SpringCloud Alibaba
  • ip2region
  • knife4j

和其他框架差异化特性

–     翻译组件

        翻译组件可以只通过注解把你表里的id转换为名称,把你的字典码转换为字典注释(比如0转换为男1转换为女)。

–     All in One模式 开发 微服务模式部署

        微服务开发对于电脑内存要求比较高,调试个东西要启动好多个微服务还要启动网关,调用链路复杂的点一下不知道调用到谁那里去了,要解决还要自己机器跑nacos,fhs 首创,all in one 模式开发,微服务模式部署,在开发环境直接把所有的模块集成到一个springBoot项目启动,部署的时候又使用微服务 网关模式部署 参考:fhs_app/fhs_app_all_in_one 和 fhs_app/fhs_app_basics的做法 即可实现。

–     更简单的微服务调用

         传统微服务玩法是第一我定义一个fegin api接口,然后写一个controller ,在写一个service实现 需要三个步骤,fhs 集成了easy cloud,只需要在service层给对应的方法上加@CloudMethod 即可完成接口暴露,哪个微服务用到直接 Autowired service接口即可。

–     更好用的校验框架

        集成了validate-springboot-starter,在兼容hibernate Validator和javax validation的同时,支持了更多自定义玩法。 内置常用验证规则:比如手机号验证,正则验证,ip,邮箱,长度,范围,数字,小数,中国车牌号,身份证,长度, url, 图书ISBN编号,文件后缀,文件大小 等常用验证规则

[开源]快速开发平台(低代码开发平台),本框架永远免费,永久全开源(开源的低代码开发平台)

[开源]快速开发平台(低代码开发平台),本框架永远免费,永久全开源(开源的低代码开发平台)

–     JSON驱动的VUE 列表和表单组件

        avue今年又获得了GVP,证明了越来越多的前端程序员开始接受JSON驱动来写VUE 页面,fhs 也将组件封装为JSON驱动的组件,比如简单的CRUD,就可以这么写:

<template> <pagex-crudForm :namespace="namespace" :title="title" :crudSett="crudSett" :formSett="formSett" :idFieldName="idFieldName" > </pagex-crudForm></template><script>export default { name: "Dict", data() { return { namespace:'dictGroup', title:'字典分组', idFieldName:'groupId',//主键 crudSett:{ // 列表配置 api: '/basic/ms/dictGroup/pagerAdvance', //列表接口 sortSett: [{//排序 "direction": "DESC", "property": "updateTime" }], buttons: [//列表上的按钮 { title: '新增', name: 'add', code: "add", type: 'primary', size: 'mini', icon: 'el-icon-plus', // 支持写click 自定义点击事件,新增组件会自带事件 } ], columns: [ {label: '分组名称', name: 'groupName'},//列 分组名称 {//分组编码列,点击之后跳转到字典项列表 label: '分组编码', name: 'groupCode', type: 'formart', formart: "<label style='cursor:pointer'>${groupCode}</label>",//格式化显示效果 click: function (_row) { this.$router.push({path: '/dict/type/data/',query:{groupCode: _row.groupCode}}); } }, { label: '操作',//操作列 name: 'operation', type: 'textBtn', textBtn: [ { title: "编辑", type: "bottom", size: 'mini' }, { title: "详情", type: "success", size: 'mini' }, { title: "删除", type: "danger", size: 'mini', api: '/basic/ms/dictGroup/' } ], } ], filters: [//过滤条件 {label: '分组名称:', name: 'groupName', placeholder: "分组名称", type: 'text', operation: 'like'},//like 是后台过滤规则,模糊匹配 支持> < != between like 等等 {label: '分组编码:', name: 'groupCode', placeholder: "分组编码", type: 'text', operation: 'like'} ], }, formSett:{// 表单 addApi: '/basic/ms/dictGroup/',//新增表单的url,默认的post updateApi: '/basic/ms/dictGroup/',//修改表单的url 默认是post data:{ //这里写默认值,比如groupName:'默认编码' }, controls:[//表单字段 { type: 'text', name: 'groupName', label: '分组名称', rule: 'required', placeholder: '请输入分组名称' }, { type: 'text', name: 'groupCode', label: '分组编码', rule: 'required', placeholder: '请输入分组编码' } ] }, } }, methods: { //自定义方法 }};</script>

–     Mybatis Plus查询增强

Mybatis的wrapper是我见过特别好的查询api设计,但是条件稍微多一点就写的很长,我们通过APT技术(类似lombok对po进行编译时增强),对PO进行增强,使用PO来替代原生Wrapper构造,和activeRecord配合起来简直不要太美。上demo:

//有po定义如下:@Data@Wrapperable //增强注解 类似lombok的@data 注解@TableName("user")public class User { @TableId("user_id") private Integer userId; @TableField("name") private String name; @TableField("age") private Integer age; @TableField("sex") private String sex;} @GetMapping("/one") public User one() { return User.newOBJ().nameLike("小").one(); } @GetMapping("/oneField") public User oneField() { //这里只查id和name2个字段 return User.newOBJ().nameLike("小").one(new String[]{User.USERID, User.NAME}); } @GetMapping("/list") public List<User> list() { return User.newOBJ().ageBetween(10, 25).list(); } @GetMapping("/listField") public List<User> listField() { return User.newOBJ().ageBetween(10, 20).list(new String[]{User.USERID, User.NAME}); } @GetMapping("/delete") public int delete() { return User.newOBJ().ageBetween(50, 80).delete(); } @GetMapping("/count") public Long count() { return User.newOBJ().ageBetween(10,26).count(); } @GetMapping("/update") public int update() { User user = User.newOBJ(); user.setAge(19); //把小明的年龄改为19 return user.nameEQ("小明").update(); }

class和提示已经支持自动生成的方法有:

bean2Wrapper,list,list(String[] fields),one,one(String[] fileds),count,delete,update,newOBJ

已经支持的wrapper相关操作方法有:

eq,neq,ge,gt,le,lt,like,notLike,likeLeft,likeRight,in,notIn,between,orderByAsc,orderByDesc,isNull,notNull

千万注意:

本功能和lombok一样需要搭配idea插件使用,不然class虽然增强了但是idea 无法识别这些方法报错,但是不影响运行,我们提供了配套的idea插件。

要求idea版本为 2021.2.2 以及 以上。 并且idea加入以下配置:setting-Build,Execution,Deployment-Compiler Shared build process VM 的value设置为 option -Djps.track.ap.dependencies=false

[开源]快速开发平台(低代码开发平台),本框架永远免费,永久全开源(开源的低代码开发平台)

六、源码地址

私信回复:低代码开发平台

或访问一飞开源:https://code.exmay.com/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年7月5日 上午10:38
下一篇 2022年7月5日 上午10:40

相关推荐

  • 矩阵型项目管理

    矩阵型项目管理:一种高效的项目管理方法 矩阵型项目管理是一种高效的项目管理方法,能够帮助项目经理有效地组织和管理项目,确保项目按时完成并达到预期的目标。这种方法基于项目管理中的矩阵…

    科研百科 2024年9月23日
    27
  • 高台县水务局创建模范机关 推进机关党建高质量发展(水务局2021年党建工作方案)

    今年以来,高台县水务局对标“讲政治、守纪律、负责任、有效率”要求,切实发挥机关“走在前、做表率”作用,强化政治担当、夯实组织根基、彰显行业特色、守牢清正底色,深入开展模范机关创建,…

    科研百科 2023年7月28日
    235
  • ssm科研项目管理系统

    科研项目管理系统是一种用于管理和维护科研项目的软件系统,能够帮助研究人员更好地组织、计划和协调他们的研究工作。在ssm科研项目管理系统中,研究人员可以访问各种资源,如文献、数据、实…

    科研百科 2025年6月17日
    0
  • 国企内控建设关注的重点领域——战略与投资(国企内控制度如何建设,内控目标如何设定)

    中天华溥张宏波:国企内控建设关注的重点领域——战略与投资 作者:中天华溥首席专家 张宏波 国有企业风险内控体系建设是国有企业深化改革中的重要一环,在经历了混合所有制改革、董事会治理…

    科研百科 2024年7月10日
    51
  • 2019年度辽宁国有企业应届生招聘及薪资待遇出炉(一)(2020辽宁省国企招聘公告)

    2019年度辽宁国有企业走进校园秋季(沈阳)人才招聘暨“百校千企”人才招聘活动 中国邮政集团公司辽宁省分公司 岗位:各市分公司农村网点柜员 需求专业:主要面向金融学、经济学、会计学…

    科研百科 2023年6月14日
    1.1K
  • 科研项目评审表格

    科研项目评审表格 随着科技的不断发展,科研项目评审表格越来越受到人们的重视。评审表格不仅能够帮助科研项目的管理人员对科研项目进行合理的评估,还能够提高工作效率。本文将介绍一种科研项…

    科研百科 2025年2月21日
    4
  • 合同管理的核心

    合同管理的核心 合同管理是组织管理中至关重要的一部分,涵盖了合同的起草、审查、签署、履行和终止等关键步骤。合同管理的目的是确保合同的有效性、合规性和合法性,同时确保合同各方的权益得…

    科研百科 2024年8月25日
    33
  • 海投科研项目有哪些

    近年来,随着科技的不断发展和人们对环境保护的重视,海洋投资科研项目逐渐成为学术界和产业界关注的热点问题。海洋投资科研项目不仅具有重要的科学意义,也能够带来巨大的经济效益。本文将介绍…

    科研百科 2025年5月3日
    1
  • 科研项目和课题一样吗

    科研项目和课题一样吗? 科研项目和课题一样吗?这是一个经常被提及的问题,也是许多研究人员在开始和完成项目时都会考虑的问题。 在开始一个项目之前,确定项目的主题和目标是非常重要的。如…

    科研百科 2025年5月10日
    0
  • 以党建为抓手 推进治理现代化(以党建为抓手 推进治理现代化工作)

    要创新性完善基层党建工作制度体系建设。无规矩不成方圆。要使基层党建工作更上一个台阶,首先要完善“三基”建设,而其中重点是规章制度的建立、执行、问责。公司基层党组织要牢牢把握标准化方…

    科研百科 2023年2月13日
    231