기술나눔

AI Ruoyi 프레임워크(로우코드 개발)

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

미리 참고하세요:

文章是实时更新,写了就会更。
文章是黑马视频的笔记,如果要自己学可以点及下面的链接:
https://www.bilibili.com/video/BV1pf421B71v/

1. Ruoyi의 소개

1. 버전 소개

Ruoyi는 다양한 개발 요구 사항을 충족하기 위해 여러 버전을 제공합니다.

  • RuoYi-Vue(SpringBoot Vue의 단일 프로젝트)

  • RuoYi-Cloud(SpringCloud Vue의 마이크로서비스 버전 프로젝트)

  • RuoYi-App (Uniapp Vue 모바일 버전)

    RuoYi-APP는 백엔드를 제공하지 않으며 RuoYi-Vue 및 RuoYi-Cloud에 적응할 수 있습니다.

  • RuoYi-기타(RuoYi 타사 버전)

2. 기술 선정

이 노트는 RuoYi-Vue를 사용합니다.

기술버전
자바디케이(JDK)1.8 이상
마이스클5.7 이상
레디스3.0 이상
마디12세 이상

3.프로젝트 주소

  • 프런트엔드: https://gitee.com/zi-ning/RuoYi-Vue3
  • 백엔드: https://gitee.com/y_project/RuoYi-Vue

2. 프로젝트 건설

1. 백엔드 프로젝트 구축

1.1 Git 복제 프로젝트

https://gitee.com/y_project/RuoYi-Vue

1.2 MySQL 가져오기

  1. 데이터베이스 생성
  2. 찾기sql폴더, 그 안에 두 개의 SQL 스크립트가 있습니다. [테이블 30개 포함]을 실행하세요.
  3. SpringBoot 프로젝트 구성 파일의 데이터베이스 구성을 원하는 대로 변경하세요.

1.3 레디스 시작

1.4 백엔드 프로젝트 시작

项目的启动类在ruoyi-admin模块中的RuoYiApplication中

1.5 설명

백엔드 프로젝트와 함께 제공되는 프런트엔드는 Vue2 버전이므로 이제 Vue3을 사용하므로 직접 삭제할 수 있습니다.

2. 프론트엔드 구축

2.1 Git 복제 프런트엔드 프로젝트

https://gitee.com/zi-ning/루오이이-부3

2.2 프런트엔드 종속성 다운로드

npm install

2.3 프런트엔드 프로젝트 실행

npm run dev

3. 사례 시작하기

이제 강좌 관리 모듈이 필요합니다. 이 모듈의 프런트엔드 페이지에는 조건 쿼리 상자, 데이터 표시 상자, 강좌 추가 상자 및 강좌 수정 상자가 필요합니다.

1. 테이블 구조를 준비하고 데이터베이스로 가져오기

#SQL示例
CREATE TABLE courses(
    id              INT AUTO_INCREMENT PRIMARY KEY,
    code            VARCHAR(50)    NOT NULL,
    discipline      VARCHAR(100)   NOT NULL,
    course_name     VARCHAR(255)   NOT NULL,
    price           DECIMAL(10, 2) NOT NULL,
    target_audience VARCHAR(255),
    description     TEXT,
    created_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at      TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

2. 코드 생성 정보 구성 [중요]

这一步是通过手动配置,从而生成对应的代码
  1. 프런트엔드 및 백엔드 프로젝트를 시작하고 프런트엔드 페이지로 들어갑니다.

  2. 시스템 도구 - 코드 생성 - 가져오기 선택

    이미지-20240703143917551

  3. 방금 생성한 테이블을 선택하고 확인을 클릭합니다. [이렇게 하면 관리를 위해 양식이 코드 생성기로 전달됩니다.]

    이미지-20240703144032676

    이미지-20240703144047729

  4. 해당 양식 뒤의 수정 버튼을 클릭하시면 [기본정보, 필드정보, 생성정보 등을 보실 수 있습니다.]

    이미지-20240703144140807

    이미지-20240703144421684

  5. 기본 정보를 클릭하세요. 여기에서 엔터티 클래스 이름과 작성자 이름을 수정하세요.

    这里设置的实体类名称就是后面他自动生成的实体类名
    

    이미지-20240703144732399

  6. 필드 정보를 클릭합니다. 여기에서는 필드 설명, Java 유형, Java 속성을 수정하고 확인란, 쿼리 상자, 쿼리 방법 및 표시 유형을 추가, 삭제 및 수정해야 합니다.

    1.字段描述:就用于将来展示的列名
    2.java类型:一般不用修改,检查一遍即可
    3.java属性:就是用来生成后面的实体类,注意驼峰命名
    4.增删改勾选框:一般是结合页面原型,如果页面中需要增删改某个字段,就勾上
    5.查询框:就是将来的条件查询,勾了就会在上面显示一个选择框
    6.查询方式:如果是等值就用=,如果是模糊就用like
    7.必填框:如果是必须输入就勾上
    8.显示类型:默认是文本框由用户输入,后面可以改成下拉框等
    
  7. 정보생성 클릭 : 관련정보 수정

    1.包路径
    2.生成模块名
    3.生成业务名
    4.生成功能名
    5.生成方式
    6.上级菜单:生成的页面在哪个模块下,默认在系统工具下
    

    이미지-20240703150129942

  8. 제출을 클릭하세요

3. 코드를 다운로드하고 프로젝트를 가져옵니다.

上一步配置完成之后,会生成三部分信息:前后端代码以及动态菜单【前端根据动态菜单动态显示页面】,导入项目就可以了
  1. 오른쪽의 다운로드 버튼을 클릭하세요

    이미지-20240703150422081

  2. 다운로드한 동적 메뉴 SQL 가져오기

    这一步不会新生成一个表,而是插入数据到sys_menu表中
    
  3. 프런트엔드 코드 가져오기[API 및 보기 페이지 포함]

  4. Java 코드를 관리 모듈 [3계층 아키텍처 코드 및 mybatis 매핑 파일]로 가져옵니다.

4. 프로젝트를 다시 시작하세요

4. 기능에 대한 자세한 설명

1.권한 통제 관리

什么是权限控制:不同权限的用户登录相同的系统,可以访问的页面不同
若依提供的权限管理模块:用户管理、角色管理、菜单管理、部门管理、岗位管理

1.1 RBAC

RBAC는 다음을 통해 널리 사용되는 액세스 제어 모델입니다.역할관리하다사용자~의메뉴 권한

이미지-20240703153321716

위의 관계를 구현하려면 사용자 테이블, 역할 테이블, 메뉴 테이블, 사용자 역할 테이블, 역할 메뉴 테이블의 5개 테이블이 필요합니다.

동시에 Ruoyi는 보다 정교한 권한 관리를 달성하기 위해 직위 및 부서 모듈을 제공합니다.

이미지-20240703153757466

테이블 관계는 다음과 같습니다.

이미지-20240703153839336

1.2 메뉴 분류

  • 카탈로그: 클릭 후 확장할 수 있고 페이지 이동에 사용되지 않는 모듈의 주요 카테고리입니다.
  • 메뉴: 클릭하면 해당 페이지로 들어갑니다.
  • 버튼: 해당 버튼을 클릭하면 해당 작업이 수행됩니다.

2. 데이터 사전

为什么要有数据字典?
前端页面中的一些表单选项可能在不同表单中都会出现,而单独编写后,后期如果要修改会很麻烦,因此使用数据字典统一管理这些字段

若依内置的数据字典包括:性别、状态等
功能包括:字典类型管理、字典数据管理

2.1 테이블 관계 설명

이미지-20240703160713611

说明:
字典类型用于存储一类字典的统称,例如我有一个下拉框供用户选择城市,那么这类就可以命名为城市,然后字典数据表中存储具体的城市名,由外键指定属于哪一类字典

2.2 사용 사례

입력 케이스의 주제 관리 필드를 데이터 사전 유지 관리로 변경

  1. 사전 유형 추가

    이미지-20240703161457271

  2. 데이터를 추가하려면 사전 유형을 클릭하세요.

    이미지-20240703161549616

    이미지-20240703161604641