"버전 출시" 기업용 로우코드 개발 플랫폼 JeecgBoot v3.6.2 버전 출시

프로젝트 소개

JeecgBoot는 기업 수준의 로우코드 플랫폼입니다! 프런트엔드 및 백엔드 분리 아키텍처 SpringBoot2.x, SpringCloud, Ant Design&Vue3, Mybatis-plus, Shiro 및 JWT는 마이크로서비스를 지원합니다. 강력한 코드 생성기를 사용하면 한 번의 클릭으로 프런트엔드 및 백엔드 코드를 생성할 수 있습니다! JeecgBoot는 로우코드 개발 모델(OnlineCoding->Code Generation->Manual MERGE)을 선도하여 Java 프로젝트에서 반복적인 작업의 70%를 해결하도록 지원하여 개발이 비즈니스에 더 집중할 수 있도록 합니다. 유연성을 잃지 않으면서도 신속하게 효율성을 향상하고 비용을 절감할 수 있습니다!

현재 버전 : v3.6.2 | 2023-01-08

소스코드 다운로드

깃허브 주소

gitee 주소

업그레이드 로그

ant-design-vue v4.0 업그레이드, 주요 업그레이드가 포함된 새 버전의 대시보드 제공, springboot3 버전 브랜치 제공에 집중하세요! antd4와 springboot3 업그레이드 사이에 비호환성이 있습니다. 자신의 코드 참조 문서를 참조하세요. Antd4 업그레이드 문서 | Springboot3 업그레이드 문서   

업그레이드 콘텐츠

  • ant-design-vue를 최신 버전 4.0.8로 업그레이드하세요.
  • 백그라운드 통합 모드를 채택한 새 버전의 대시보드를 제공합니다(빌딩 블록 보고서와 유사).
  • 버전 3.6.2+에서 자동 데이터베이스 업그레이드 메커니즘 추가(mysql5.7, mysql8 지원)
  • springboot3 버전 브랜치 제공
  • 기본적으로 모든 인터페이스에는 시스템 보안을 향상하기 위해 권한 주석이 추가됩니다(사용 비용 희생).
  • hutool 취약점 문제를 해결하려면 hutool 버전 ​​번호를 업그레이드하세요.
  • Enterprise WeChat의 동기화 논리를 재구성하고 Enterprise WeChat의 최신 인터페이스 규칙에 적응합니다.
  • 테넌트 패키지 논리 변환
  • 고급 쿼리 생성기 기본 생성을 지원하기 위한 코드 생성기 업그레이드
  • 공지사항 및 공지사항 보기 스타일 최적화
  • 서식 있는 텍스트 구성 요소를 최신 버전의tinymce 6.6.2로 업그레이드하세요.
  • UI 구성요소 샘플 코드 추가
  • 서비스 및 여러 데이터 소스 전반에 걸친 사전 주석 문제 해결
  • 온라인에서 양식을 생성한 후 뷰를 테스트하면 "테이블 이름이 잘못되었으며 SQL 삽입 위험이 있습니다! --->t_prod$1"이라는 메시지가 나타납니다.
  • Oracle에서 온라인 보고서 작성 시, 새로 추가된 보고서를 편집하고 정상적으로 저장하면 오류가 발생합니다.
  • 3.6.0 버전 알림 공지에 게시된 서식 있는 텍스트 메시지를 내 메시지에서 볼 때 스타일이 없습니다・문제 #834
  • 대시보드 디자이너의 간트 차트의 데이터 소스는 무엇이며, 데이터 형식은 무엇입니까? 문제 #5490
  • 스프링 부트 3.x 지원 · 문제 #5486 
  • 소스 코드에서 가짜 클라이언트가 예외를 발생시키지 않고 분산 트랜잭션 Seata가 적용되지 않습니다・문제 #5214
  • 사전 코드 디코딩에 실패했습니다. 잘못된 문자가 사용되었을 수 있습니다. 확인하세요! 문제 #5655
  • sentinel 구성 파일에서 계정 비밀번호를 수정하면 login.level.pattern 및 기타 구성이 유효하지 않습니다! 문제 #5556
  • Shiro의 통합 Redis는 센티넬 모드로 배포된 Redis 클러스터를 지원하지 않습니다・문제 #5569
  • 마크다운 편집기는 이모티콘을 지원하지만 MarkdownViewer는 이를 지원하지 않습니다・문제 #918
  • 팝업 양식은 JPopup 구성 요소를 사용하여 param 매개 변수를 구성하고 예외가 발생합니다・문제 #901
  • 3.6.1 npm 실행 빌드 실패・문제 #939
  • 보조 팝업창 삭제 시 인터페이스에서 코드 500이 보고되면 이를 취소하거나 삭제해야 보조 팝업창이 표시되지 않습니다・문제 #936
  • 생성된 프런트 엔드 코드, 체크박스 및 확장 상자가 상자 안에 있습니다・문제 #947
  • 다중 데이터 소스 모드에서 데이터 사전 Dict가 사용자 정의 데이터 소스를 지정할 수 없습니다・문제 #4138
  • 분산 독립 데이터 소스 dictTable・문제 #5643
  • BasicTable 구성 요소의 기본 확장 설정이 적용되지 않습니다.・문제 #945
  • [온라인 양식 개발] 양식에 추가된 외래 키를 여러 개 저장할 수 없습니다 #948 
  • 최신 3.6.1 온라인 양식 개발에서는 양식 편집 페이지의 라디오 버튼을 기본적으로 선택할 수 없습니다. #927 

권한 승격

  • 온라인 코드 생성기 디렉터리, @RequiresPermissions 권한 추가("online:codeGenerate:projectPath"), 액세스하려면 승인이 필요합니다.
  • 예약된 작업 관리 인터페이스, @RequiresRoles("admin") 권한 추가, 관리자 역할만 작동 가능
  • 시스템 화이트리스트 인터페이스, @RequiresRoles("admin") 권한 추가, 관리자 역할만 작동 가능

SQL 업그레이드

ALTER TABLE onl_drag_page
MODIFY COLUMN id varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键' FIRST,
MODIFY COLUMN low_app_id varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '应用ID' AFTER update_time;

ALTER TABLE onl_drag_page_comp
MODIFY COLUMN page_Id varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '界面ID' AFTER parent_id;

ALTER TABLE onl_drag_page
ADD COLUMN visits_num int(11) NULL DEFAULT NULL COMMENT '访问次数' AFTER update_count;

UPDATE onl_drag_comp SET parent_id = '1537764868216684545', comp_name = '金字塔漏斗图', comp_type = 'JPyramidFunnel', icon = 'icon-park-outline:children-pyramid', order_num = 100, type_id = NULL, comp_config = '{\n  \"dataType\": 1,\n  \"url\": \"http://api.jeecg.com/mock/26/funnel\",\n  \"timeOut\": 0,\n  \"turnConfig\": {\n    \"url\": \"\"\n  },\n  \"linkageConfig\": [],\n  \"dataMapping\": [\n    {\n      \"filed\": \"维度\",\n      \"mapping\": \"\"\n    },\n    {\n      \"filed\": \"数值\",\n      \"mapping\": \"\"\n    }\n  ],\n  \"chartData\": [\n    {\n      \"value\": 1000,\n      \"name\": \"直接访问\"\n    },\n    {\n      \"value\": 200,\n      \"name\": \"邮件营销\"\n    },\n    {\n      \"value\": 400,\n      \"name\": \"联盟广告\"\n    },\n    {\n      \"value\": 600,\n      \"name\": \"网页查询\"\n    },\n    {\n      \"value\": 800,\n      \"name\": \"广告点击\"\n    }\n  ],\n  \"option\": {\n    \"title\": {\n      \"text\": \"基础漏斗图\",\n      \"show\": true\n    },\n    \"grid\": {\n      \"bottom\": 115\n    },\n    \"card\": {\n      \"title\": \"\",\n      \"extra\": \"\",\n      \"rightHref\": \"\",\n      \"size\": \"default\"\n    },\n    \"tooltip\": {\n      \"trigger\": \"item\",\n      \"formatter\": \"{a} <br/>{b} : {c}\"\n    },\n    \"legend\": {\n      \"orient\": \"horizontal\"\n    },\n    \"series\": [\n      {\n        \"name\": \"Funnel\",\n        \"type\": \"funnel\",\n        \"left\": \"10%\",\n        \"width\": \"80%\",\n        \"sort\": \"ascending\",\n        \"gap\": 2,\n        \"label\": {\n          \"show\": true,\n          \"position\": \"inside\"\n        },\n        \"labelLine\": {\n          \"length\": 10,\n          \"lineStyle\": {\n            \"width\": 1,\n            \"type\": \"solid\"\n          }\n        },\n        \"itemStyle\": {\n          \"borderColor\": \"#fff\",\n          \"borderWidth\": 1\n        },\n        \"emphasis\": {\n          \"label\": {\n            \"fontSize\": 20\n          }\n        }\n      }\n    ]\n  }\n}', status = '1', create_by = NULL, create_time = '2022-06-16 14:17:31', update_by = NULL, update_time = '2022-06-16 14:59:44' WHERE id = '1537318433201340417';
UPDATE onl_drag_comp SET parent_id = '1537764868216684545', comp_name = '普通漏斗图', comp_type = 'JFunnel', icon = 'ant-design:funnel-plot-filled', order_num = 8, type_id = NULL, comp_config = '{\n  \"dataType\": 1,\n  \"url\": \"http://api.jeecg.com/mock/26/funnel\",\n  \"timeOut\": 0,\n  \"turnConfig\": {\n    \"url\": \"\"\n  },\n  \"linkageConfig\": [],\n  \"dataMapping\": [\n    {\n      \"filed\": \"维度\",\n      \"mapping\": \"\"\n    },\n    {\n      \"filed\": \"数值\",\n      \"mapping\": \"\"\n    }\n  ],\n  \"chartData\": [\n    {\n      \"value\": 335,\n      \"name\": \"直接访问\"\n    },\n    {\n      \"value\": 310,\n      \"name\": \"邮件营销\"\n    },\n    {\n      \"value\": 234,\n      \"name\": \"联盟广告\"\n    }\n  ],\n  \"option\": {\n    \"title\": {\n      \"text\": \"基础漏斗图\",\n      \"show\": true\n    },\n    \"grid\": {\n      \"bottom\": 115\n    },\n    \"card\": {\n      \"title\": \"\",\n      \"extra\": \"\",\n      \"rightHref\": \"\",\n      \"size\": \"default\"\n    },\n    \"tooltip\": {\n      \"trigger\": \"item\",\n      \"formatter\": \"{a} <br/>{b} : {c}\"\n    },\n    \"legend\": {\n      \"orient\": \"horizontal\"\n    },\n    \"series\": [\n      {\n        \"name\": \"Funnel\",\n        \"type\": \"funnel\",\n        \"left\": \"10%\",\n        \"width\": \"80%\",\n        \"sort\": \"descending\",\n        \"gap\": 2,\n        \"label\": {\n          \"show\": true,\n          \"position\": \"inside\"\n        },\n        \"labelLine\": {\n          \"length\": 10,\n          \"lineStyle\": {\n            \"width\": 1,\n            \"type\": \"solid\"\n          }\n        },\n        \"itemStyle\": {\n          \"borderColor\": \"#fff\",\n          \"borderWidth\": 1\n        },\n        \"emphasis\": {\n          \"label\": {\n            \"fontSize\": 20\n          }\n        }\n      }\n    ]\n  }\n}', status = '1', create_by = NULL, create_time = '2022-01-06 14:38:04', update_by = 'admin', update_time = '2022-06-17 19:51:26' WHERE id = '200208';

INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1698650926200352770', '1473927410093187073', '数据集解析SQL', NULL, NULL, 0, NULL, NULL, 2, 'drag:analysis:sql', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2023-09-04 18:55:15', 'jeecg', '2023-09-05 20:36:51', 0, 0, '1', 0);
INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1699038961937113090', '1473927410093187073', '数据源添加', NULL, NULL, 0, NULL, NULL, 2, 'drag:datasource:saveOrUpate', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2023-09-05 20:37:10', NULL, NULL, 0, 0, '1', 0);
INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1699039098474291201', '1473927410093187073', '数据源删除', NULL, NULL, 0, NULL, NULL, 2, 'drag:datasource:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2023-09-05 20:37:42', NULL, NULL, 0, 0, '1', 0);
INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1699039192154071041', '1473927410093187073', '数据源批量删除', NULL, NULL, 0, NULL, NULL, 2, 'drag:datasource:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2023-09-05 20:38:05', NULL, NULL, 0, 0, '1', 0);
INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external) VALUES ('1701475606988812289', '1473927410093187073', '数据源连接', NULL, NULL, 0, NULL, NULL, 2, 'drag:datasource:testConnection', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'jeecg', '2023-09-12 13:59:31', NULL, NULL, 0, 0, '1', 0);

INSERT INTO onl_drag_comp ( id, parent_id, comp_name, comp_type, icon, order_num, type_id, comp_config, status, create_by, create_time, update_by, update_time ) VALUES ( '72811631742776660', '100', '查询条件', 'JFilterQuery', 'ant-design:filter-filled', 100, NULL, '{\r\n	\"w\": 12,\r\n	\"h\": 12,\r\n	\"dataType\": 1,\r\n	\"url\": \"\",\r\n	\"timeOut\": 0,\r\n	\"chartData\": []\r\n}', '1', 'jeecg', '2022-09-09 15:21:08', 'jeecg', '2022-09-09 15:41:56' );

UPDATE onl_drag_comp SET comp_config = '{\r\n  \"dataType\": 1,\r\n  \"background\": \"#ffffff\",\r\n  \"url\": \"http://api.jeecg.com/mock/33/chart\",\r\n  \"timeOut\": 0,\r\n  \"turnConfig\": {\r\n    \"url\": \"\"\r\n  },\r\n  \"linkageConfig\": [],\r\n  \"dataMapping\": [],\r\n	\"customOption\": \"option = {xAxis: {type: \'category\',data: [\'Mon\', \'Tue\', \'Wed\', \'Thu\', \'Fri\', \'Sat\', \'Sun\']},yAxis: {type: \'value\'},series: [{data: [150, 230, 224, 218, 135, 147, 260],type: \'line\'}]};return option;\",\r\n  \"chartData\": [\r\n    {\r\n      \"value\": 0,\r\n      \"name\": \"\"\r\n    }\r\n  ],\r\n	\r\n  \"option\": {\r\n    \"grid\": {\r\n      \"bottom\": 115\r\n    },\r\n    \"card\": {\r\n      \"title\": \"\",\r\n      \"extra\": \"\",\r\n      \"rightHref\": \"\",\r\n      \"size\": \"default\"\r\n    },\r\n    \"title\": {\r\n      \"text\": \"\",\r\n      \"show\": true\r\n    }\r\n  }\r\n}' WHERE id = '200400';

UPDATE onl_drag_comp SET parent_id = '100', comp_name = '文本', comp_type = 'JText', icon = 'ant-design:font-colors-outlined', order_num = 14, type_id = NULL, comp_config = '{\n  \"w\": 8,\n  \"h\": 12,\n  \"dataType\": 1,\n  \"url\": \"http://api.jeecg.com/mock/42/nav\",\n  \"timeOut\": 0,\n  \"turnConfig\": {\n    \"url\": \"\"\n  },\r\n	\"background\": \"#4A90E2\",\n  \"chartData\": \"JeecgBoot面板设计\",\n  \"option\": {\n    \"card\": {\n      \"title\": \"\",\n      \"extra\": \"\",\n      \"rightHref\": \"\",\n      \"size\": \"default\"\n    },\n    \"body\": {\n      \"text\": \"\",\n      \"color\": \"#4A90E2\",\n      \"fontWeight\": \"bold\",\n      \"marginLeft\": 0,\n      \"marginTop\": 0\n    }\n  }\n}', status = '1', create_by = NULL, create_time = NULL, update_by = 'admin', update_time = '2022-04-29 10:49:04' WHERE id = '100110';

UPDATE onl_drag_page_comp SET parent_id = NULL, page_id = NULL, comp_id = NULL, component = 'JBar', config = '{\r\n    \"id\": \"116606b2-4620-42d6-9202-36f39288a8d5\",\r\n    \"component\": \"JBar\",\r\n    \"config\": {\r\n        \"formType\": \"design\",\r\n        \"dataType\": 4,\r\n        \"timeOut\": 0,\r\n        \"option\": {\r\n            \"grid\": {\r\n                \"show\": false,\r\n                \"top\": 90,\r\n                \"bottom\": 115\r\n            },\r\n            \"card\": {\r\n                \"title\": \"\",\r\n                \"extra\": \"\",\r\n                \"rightHref\": \"\",\r\n                \"size\": \"default\"\r\n            },\r\n            \"title\": {\r\n                \"text\": \"每日新增记录\",\r\n                \"show\": true,\r\n                \"textStyle\": {\r\n                    \"color\": \"#464646\"\r\n                }\r\n            },\r\n            \"tooltip\": {\r\n                \"trigger\": \"axis\",\r\n                \"axisPointer\": {\r\n                    \"type\": \"shadow\",\r\n                    \"label\": {\r\n                        \"show\": true,\r\n                        \"backgroundColor\": \"#333\"\r\n                    }\r\n                }\r\n            },\r\n            \"yAxis\": {\r\n                \"splitLine\": {\r\n                    \"interval\": 2\r\n                },\r\n                \"lineStyle\": {\r\n                    \"color\": \"#f3f3f3\"\r\n                }\r\n            },\r\n            \"series\": [\r\n                {\r\n                    \"data\": [\r\n                        \r\n                    ],\r\n                    \"type\": \"bar\",\r\n                    \"barWidth\": 40,\r\n                    \"itemStyle\": {\r\n                        \"color\": \"#64b5f6\",\r\n                        \"borderRadius\": 0\r\n                    }\r\n                }\r\n            ]\r\n        },\r\n        \"size\": {\r\n            \"height\": 500\r\n        },\r\n        \"dataNum\": \"\",\r\n        \"chart\": {\r\n            \"category\": \"Bar\",\r\n            \"subclass\": \"JBar\",\r\n            \"isGroup\": false\r\n        },\r\n        \"typeFields\": [\r\n            \r\n        ],\r\n        \"nameFields\": [\r\n            {\r\n                \"fieldName\": \"create_time\",\r\n                \"fieldTxt\": \"创建时间\",\r\n                \"fieldType\": \"date\",\r\n                \"widgetType\": \"date\",\r\n								\"customDateType\": \"3\"\r\n            }\r\n        ],\r\n        \"valueFields\": [\r\n            {\r\n                \"fieldName\": \"record_count\",\r\n                \"fieldTxt\": \"记录数量\",\r\n                \"fieldType\": \"count\",\r\n                \"widgetType\": \"text\"\r\n            }\r\n        ],\r\n        \"assistYFields\": [\r\n            \r\n        ],\r\n        \"assistTypeFields\": [\r\n            \r\n        ],\r\n        \"calcFields\": [\r\n            \r\n        ],\r\n        \"tableName\": \"test_1031\",\r\n        \"sorts\": {\r\n            \"name\": \"\",\r\n            \"type\": \"\"\r\n        },\r\n        \"filter\": {\r\n            \"queryField\": \"create_time\",\r\n            \"queryRange\": \"month\",\r\n            \"customTime\": null,\r\n            \"conditionMode\": \"and\",\r\n            \"conditionFields\": [\r\n                \r\n            ]\r\n        },\r\n        \"analysis\": {\r\n            \"isRawData\": true,\r\n            \"showMode\": 1,\r\n            \"showData\": 1,\r\n            \"isCompare\": false,\r\n            \"compareType\": \"\",\r\n            \"trendType\": \"1\",\r\n            \"compareValue\": null,\r\n            \"showFields\": [\r\n                \r\n            ]\r\n        },\r\n        \"formId\": \"test_1031\",\r\n        \"formName\": \"test1031\",\r\n        \"compStyleConfig\": {\r\n            \"summary\": {\r\n                \"showY\": true,\r\n                \"showTotal\": false,\r\n                \"showField\": \"\",\r\n                \"totalType\": \"sum\",\r\n                \"showName\": \"总计\"\r\n            },\r\n            \"showUnit\": {\r\n                \"numberLevel\": \"\",\r\n                \"decimal\": 0,\r\n                \"position\": \"suffix\",\r\n                \"unit\": \"\"\r\n            },\r\n            \"assist\": {\r\n                \"showUnit\": {\r\n                    \"numberLevel\": \"\",\r\n                    \"decimal\": 0,\r\n                    \"position\": \"suffix\",\r\n                    \"unit\": \"\"\r\n                },\r\n                \"summary\": {\r\n                    \"showY\": true,\r\n                    \"showField\": \"\",\r\n                    \"totalType\": \"sum\",\r\n                    \"showName\": \"总计\"\r\n                }\r\n            },\r\n            \"headerFreeze\": true,\r\n            \"unilineShow\": true,\r\n            \"columnFreeze\": true,\r\n            \"lineFreeze\": true\r\n        }\r\n    }\r\n}', create_by = 'jeecg', create_time = '2022-12-16 19:56:21', update_by = NULL, update_time = NULL WHERE id = '763699587304030208';

UPDATE sys_permission SET parent_id = '1455100420297859074', name = '仪表盘设计器', url = '/report/drag', component = '{{ window._CONFIG[\'domianURL\'] }}/drag/list?token=${token}&tenantId=${tenantId}', is_route = 0, component_name = NULL, redirect = NULL, menu_type = 1, perms = NULL, perms_type = '0', sort_no = 3.00, always_show = 0, icon = '', is_leaf = 0, keep_alive = 0, hidden = 0, hide_tab = 0, description = NULL, create_by = 'admin', create_time = '2021-12-23 16:04:13', update_by = 'admin', update_time = '2023-12-31 13:13:04', del_flag = 0, rule_flag = 0, status = NULL, internal_or_external = 1 WHERE id = '1473927410093187073';
delete from  sys_permission where id = '1473955758466981890';

-- 补充权限
INSERT INTO `sys_permission` (`id`, `parent_id`, `name`, `url`, `component`, `is_route`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_leaf`, `keep_alive`, `hidden`, `hide_tab`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`) VALUES ('1546736974756032513', '1455101470794850305', '选择代码生成路径', NULL, NULL, 0, NULL, NULL, 2, 'online:codeGenerate:projectPath', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2022-07-12 14:03:26', NULL, NULL, 0, 0, '1', 0);

기술교류

JeecgBoot를 선택하는 이유는 무엇입니까?

오픈 소스 세계의 "Xiao Pu Yuan"은 전통적인 상업 플랫폼을 능가합니다. 로우코드 개발 모델(온라인코딩->코드 생성기->수동 MERGE)을 선도하는 로우코드 개발도 유연한 코딩을 지원해 자바 프로젝트의 반복 작업을 70% 해결해 개발이 비즈니스에 더욱 집중할 수 있도록 해준다. 유연성을 잃지 않으면서 개발 효율성을 빠르게 향상하고 비용을 절감할 수 있습니다.

  • 최신 주류 전면 분리 프레임워크(SpringBoot+Mybatis-plus+Ant-Design+Vue)를 채택하여 시작하기 쉽고, 코드 생성기는 종속성이 낮고 유연한 확장 기능을 갖추고 있어 유연한 2차 개발이 가능합니다.
  • 개발 효율성이 매우 높습니다. 코드 생성기, 단일 테이블 데이터 모델 및 일대다(부모-자식 테이블), 트리 목록 및 기타 데이터 모델을 채택합니다. 추가, 삭제, 수정 및 쿼리 기능이 자동으로 생성됩니다. 메뉴 구성을 직접 사용할 수 있습니다(프런트 엔드 코드와 백엔드 코드 모두 원클릭 생성).
  • 코드 생성기는 강력한 템플릿 메커니즘을 제공하고 사용자 정의 템플릿 스타일을 지원합니다. 현재 4세트의 스타일 템플릿이 제공됩니다(단일 테이블의 경우 2세트, 일대다의 경우 2세트).
  • 이는 사용자, 역할, 메뉴, 조직, 데이터 사전 및 온라인 예약 작업과 같은 완전한 기본 기능을 캡슐화합니다. 액세스 권한, 버튼 권한, 데이터 권한, 양식 권한 등을 지원하는 강력한 권한 메커니즘
  • 제로 코드 온라인 개발 기능, 온라인 구성 양식, 온라인 구성 보고서, 온라인 구성 차트 및 온라인 설계 양식
  • 일반적으로 사용되는 공통 패키지와 다양한 도구(예약된 작업, SMS 인터페이스, 이메일 전송, Excel 가져오기 및 내보내기 등)는 기본적으로 프로젝트 요구 사항의 80%를 충족합니다.
  • 간단한 Excel 가져오기 및 내보내기, 단일 테이블 내보내기 및 일대다 테이블 모드 내보내기 지원, 생성된 코드에는 자체 가져오기 및 내보내기 기능이 있습니다.
  • 통합된 간단한 보고서 도구, 이미지 보고서 및 데이터 내보내기는 매우 편리하며 그래픽 보고서, PDF, Excel, Word 및 기타 보고서를 생성하는 것이 매우 편리합니다.
  • 앞뒤 분리 기술을 사용하여 페이지 UI가 정교하며 시간, 행 테이블 제어, 차단 표시 제어, 보고서 구성 요소, 편집기 등 공통 구성 요소가 캡슐화됩니다.
  • 쿼리 필터: 쿼리 기능이 자동으로 생성되고 SQL이 백그라운드에서 동적으로 결합되어 쿼리 조건을 추가하며 다양한 일치 방법(전체 일치/퍼지 쿼리/포함 쿼리/비일치 쿼리)을 지원합니다.
  • 데이터 권한(세련된 데이터 권한 제어, 행 수준, 목록 수준, 양식 필드 수준으로 제어하여 서로 다른 사람이 서로 다른 데이터를 볼 수 있고 서로 다른 사람이 동일한 페이지에서 서로 다른 필드를 운영할 수 있음)
  • 보고서의 온라인 구성(코딩 필요 없음, 온라인 구성을 통해 곡선 차트, 막대 차트, 데이터 및 기타 보고서 실현 가능)
  • 페이지 인증이 자동으로 생성됩니다(필수 입력, 번호 인증, 금액 인증, 시간 및 공간 등).
  • Single Sign-On CAS 통합 솔루션을 제공하고 프로젝트에 완전한 도킹 코드가 제공되었습니다.
  • 양식 디자이너는 사용자 정의 양식 레이아웃, 단일 테이블, 일대다 양식, 선택, 라디오, 체크박스, 텍스트 영역, 날짜, 팝업, 목록, 매크로 및 기타 컨트롤을 지원합니다.
  • 전문적인 인터페이스 도킹 메커니즘, 편안한 인터페이스 방법의 통합 사용, 통합된 swagger-ui 온라인 인터페이스 문서, Jwt 토큰 보안 검증, 편리한 클라이언트 도킹
  • 인터페이스 보안 메커니즘은 인터페이스 인증 제어를 개선할 수 있으며, 자신의 데이터만 보는 다양한 클라이언트의 제어를 실현하는 것이 매우 간단합니다.
  • 고급 통합 쿼리 기능, 온라인 구성으로 메인 테이블과 서브 테이블의 관련 쿼리를 지원하며 쿼리 이력 저장 가능
  • 다양한 시스템 모니터링 및 시스템 운영 실시간 추적 제공(Redis, Tomcat, jvm, 서버 정보 모니터링, 요청 추적, SQL 모니터링)
  • 메시지 센터(SMS, 이메일, WeChat 푸시 등 지원)
  • 통합 Websocket 메시지 알림 메커니즘
  • 앱 게시 계획 제공:
  • 여러 언어를 지원하고 국제적인 솔루션을 제공합니다.
  • 버전 비교 기능을 통해 데이터의 모든 변경 사항을 기록하고 변경 내역을 볼 수 있는 데이터 변경 기록 로그
  • 플랫폼 UI는 강력하고 모바일에 적응적입니다.
  • 플랫폼 홈페이지 스타일은 다양한 조합 모드를 제공하고 사용자 정의 스타일을 지원합니다.
  • Google, IE 브라우저 등 다양한 브라우저를 지원하는 간단하고 사용하기 쉬운 인쇄 플러그인 제공
  • 많은 사례 참조를 제공하는 풍부한 예제 코드
  • Maven 하위 모듈 개발 방법 사용
  • 지원 메뉴 동적 라우팅
  • 권한 제어는 RBAC(Role-Based Access Control, 역할 기반 액세스 제어)를 채택합니다.

오픈 소스 버전 인터페이스

PC 버전

    

시스템 상호작용

 

대시보드 디자이너

차트 예시

    

보고서 디자이너

   

유니앱 효과

모바일 단말기

패드측

온라인 인터페이스 문서

비즈니스 기능 소개

프로세스 디자이너

간단한 프로세스 디자이너

양식 디자이너

대형 스크린 디자이너

제로코드 적용

불평 환영, 스타 환영~

Supongo que te gusta

Origin www.oschina.net/news/274698/jeecgboot-3-6-2-released
Recomendado
Clasificación