Compartilhamento de tecnologia

AI Ruoyi Framework (desenvolvimento de baixo código)

2024-07-08

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

Observe com antecedência:

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

1. Introdução de Ruoyi

1. Introdução à versão

Ruoyi fornece várias versões para atender às diversas necessidades de desenvolvimento.

  • RuoYi-Vue (um único projeto do SpringBoot Vue)

  • RuoYi-Cloud (projeto de versão de microsserviço do SpringCloud Vue)

  • RuoYi-App (versão móvel Uniapp Vue)

    RuoYi-APP não fornece backend e pode se adaptar a RuoYi-Vue e RuoYi-Cloud

  • RuoYi-outro (versão de terceiros RuoYi)

2. Seleção de tecnologia

Esta nota usa RuoYi-Vue

tecnologiaVersão
JDK1.8 e superior
MySQL5.7 e superior
Redis3.0 e superior
12 e acima

3.Endereço do projeto

  • Front-end: https://gitee.com/zi-ning/RuoYi-Vue3
  • Back-end: https://gitee.com/y_project/RuoYi-Vue

2. Construção do projeto

1. Construção do projeto back-end

1.1 Projeto clone do Git

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

1.2 Importar MySQL

  1. Criar banco de dados
  2. Encontre osqlPasta, contém dois scripts sql, execute [contém 30 tabelas]
  3. Altere a configuração do banco de dados no arquivo de configuração do projeto SpringBoot para a sua própria

1.3 Iniciar Redis

1.4 Inicie o projeto de back-end

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

1.5 Descrição

O front-end que vem com o projeto back-end é a versão Vue2. Agora ele usa Vue3, então pode ser excluído diretamente.

2. Construção frontal

2.1 Projeto front-end de clone do Git

https://gitee.com/zi-ning/RuoYi-Vue3

2.2 Baixe dependências de front-end

npm install

2.3 Execute o projeto front-end

npm run dev

3. Casos de introdução

Agora precisamos de um módulo de gerenciamento de curso. A página inicial deste módulo precisa de uma caixa de consulta de condição, uma caixa de exibição de dados, uma caixa de adição de curso e uma caixa de modificação de curso.

1. Prepare a estrutura da tabela e importe para o banco de dados

#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. Configure as informações de geração de código [Importante]

这一步是通过手动配置,从而生成对应的代码
  1. Inicie os projetos front-end e back-end e entre na página front-end

  2. Selecione Ferramentas do Sistema - Geração de Código - Importar

    imagem-20240703143917551

  3. Selecione a tabela que você acabou de criar e clique em OK [Isso entregará o formulário ao gerador de código para gerenciamento]

    imagem-20240703144032676

    imagem-20240703144047729

  4. Clique no botão editar atrás do formulário correspondente [você pode visualizar informações básicas, informações de campo, informações de geração, etc.]

    imagem-20240703144140807

    imagem-20240703144421684

  5. Clique em Informações Básicas: Modifique o nome da classe da entidade e o nome do autor aqui

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

    imagem-20240703144732399

  6. Clique nas informações do campo: Aqui você precisa modificar a descrição do campo, tipo java, atributos java, adicionar, excluir e modificar caixas de seleção, caixas de consulta, métodos de consulta e tipos de exibição.

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

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

    imagem-20240703150129942

  8. Clique em enviar

3. Baixe o código e importe o projeto

上一步配置完成之后,会生成三部分信息:前后端代码以及动态菜单【前端根据动态菜单动态显示页面】,导入项目就可以了
  1. Clique no botão de download à direita

    imagem-20240703150422081

  2. Importe o SQL do menu dinâmico baixado

    这一步不会新生成一个表,而是插入数据到sys_menu表中
    
  3. Importe o código front-end [incluindo API e página de visualizações]

  4. Importe o código java para o módulo admin [arquivo de mapeamento do código da arquitetura de três camadas e mybatis]

4. Reinicie o projeto

4. Explicação detalhada das funções

1.Gerenciamento de controle de permissão

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

1.1 RBAC

O RBAC é um modelo de controle de acesso amplamente utilizado por meio dePapelgerenciardo utilizadordePermissões de menu

imagem-20240703153321716

Para realizar o relacionamento acima, são necessárias cinco tabelas: tabela de usuários, tabela de funções, tabela de menu, tabela de funções de usuário, tabela de menu de funções

Ao mesmo tempo, Ruoyi fornece módulos de cargos e departamentos para obter um gerenciamento de autoridade mais refinado.

imagem-20240703153757466

O relacionamento da tabela é o seguinte:

imagem-20240703153839336

1.2 Classificação do cardápio

  • Catálogo: Uma categoria principal de um módulo, que pode ser expandida após clicar e não é usada para saltos de página.
  • Menu: Clique para entrar na página correspondente
  • Botão: Após clicar no botão correspondente, haverá uma operação correspondente

2. Dicionário de dados

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

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

2.1 Descrição dos relacionamentos de tabelas

imagem-20240703160713611

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

2.2 Casos de uso

Alterar o campo de gerenciamento de assuntos no caso de entrada para manutenção de dicionário de dados

  1. Adicionar tipo de dicionário

    imagem-20240703161457271

  2. Clique no tipo de dicionário para adicionar dados

    imagem-20240703161549616

    imagem-20240703161604641