AI+若依框架(低代码开发)

提前说明:

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

一、若依介绍

1.版本介绍

若依为满足多样化的开发需求,提供了多个版本

  • RuoYi-Vue(SpringBoot+Vue的单体项目)

  • RuoYi-Cloud(SpringCloud+Vue的微服务版本项目)

  • RuoYi-App(Uniapp+Vue移动版本)

    RuoYi-APP没有提供后端,可以适配RuoYi-Vue和RuoYi-Cloud

  • RuoYi-other(若依第三方版本)

2.技术选型

本次笔记选用RuoYi-Vue

技术版本
JDK1.8及以上
Mysql5.7及以上
Redis3.0及以上
Node12及以上

3.项目地址

  • 前端:https://gitee.com/zi-ning/RuoYi-Vue3
  • 后端:https://gitee.com/y_project/RuoYi-Vue

二、项目搭建

1.后端项目搭建

1.1 Git克隆项目

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

1.2 导入MySQL

  1. 创建数据库
  2. 找到后端项目中的sql文件夹,里面有两个sql脚本,执行【包含30张表】
  3. 将SpringBoot项目配置文件中的数据库配置改成自己的

1.3 启动Redis

1.4 启动后端项目

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

1.5说明

后端项目自带的前端是Vue2版本,现在都是用Vue3,所以可以直接删掉了

2.前端搭建

2.1 Git克隆前端项目

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

2.2 下载前端依赖

npm install

2.3 运行前端项目

npm run dev

三、入门案例

现在需要一个课程管理模块,这个模块的前端页面需要条件查询框、数据显示框、添加课程框、课程修改框。

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. 选择系统工具——代码生成——导入

    image-20240703143917551

  3. 选择刚才创建的表,点击确定【这样就把表单交由代码生成器管理了】

    image-20240703144032676

    image-20240703144047729

  4. 点击对应表单后面的编辑按钮【可以查看基本信息、字段信息、生成信息等】

    image-20240703144140807

    image-20240703144421684

  5. 点击基本信息:这里修改实体类名称、作者名称

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

    image-20240703144732399

  6. 点击字段信息:这里需要修改字段描述、java类型、java属性、增删改勾选框、查询框、查询方式、显示类型

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

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

    image-20240703150129942

  8. 点击提交

3.下载代码并导入项目

上一步配置完成之后,会生成三部分信息:前后端代码以及动态菜单【前端根据动态菜单动态显示页面】,导入项目就可以了
  1. 点击右侧的下载按钮

    image-20240703150422081

  2. 导入下载下来的动态菜单SQL

    这一步不会新生成一个表,而是插入数据到sys_menu表中
    
  3. 导入前端的代码【包括api以及views页面】

  4. 导入java代码到admin模块中【三层架构代码和mybatis的映射文件】

4.重启项目

四、功能详解

1.权限控制管理

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

1.1 RBAC

RBAC是一种广泛使用的访问控制模型,通过角色来管理用户菜单权限

image-20240703153321716

实现上述的关系,需要使用五张表:用户表、角色表、菜单表、用户角色表、角色菜单表

同时若依提供了岗位、部门模块,实现了更加精细的权限管理

image-20240703153757466

表关系如下:

image-20240703153839336

1.2 菜单分类

  • 目录:一个模块的大类,点击后可以展开,不用于页面跳转
  • 菜单:点击后可以进入对应的页面
  • 按钮:点击对应的按钮之后,会有对应的操作

2.数据字典

为什么要有数据字典?
前端页面中的一些表单选项可能在不同表单中都会出现,而单独编写后,后期如果要修改会很麻烦,因此使用数据字典统一管理这些字段若依内置的数据字典包括:性别、状态等
功能包括:字典类型管理、字典数据管理

2.1 表关系说明

image-20240703160713611

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

2.2 使用案例

将入门案例中学科管理字段改为数据字典维护

  1. 添加字典类型

    image-20240703161457271

  2. 点击字典类型添加数据

    image-20240703161549616

    image-20240703161604641

    image-20240703161741657
  3. 修改对应的代码生成信息

    image-20240703161916731

    image-20240703162011295

  4. 下载代码,导入前端【如果后端的基本字段没有动那么就直接导入前端代码就可以】

3.参数设置

对系统中的参数进行动态维护,而不需要修改代码。例如直接管理是否开启验证码

image-20240703163040771

阅读备注中的信息,根据备注修改参数键值即可

image-20240703163133593

4.通知公告

若依提供了通知公告的发布,但是由于查看的实现方法很多,因此他没有实现,我们后续可以自己通过二次开发的方式实现发送邮件、以及弹窗的方式显示通知

5.日志管理

若依提供了日志管理功能,包括登录日志和操作日志,这些日志被记录到数据库

登录日志:包含当前登录用户、IP地址、登录状态、访问时间等

操作日志:包括操作类型、操作人员等,同时还可以清空日志

6.系统监控

若依提供了用户监控、缓存监控、数据监控、服务监控等

7.定时任务

我们自己之前设置定时任务的时候都是硬编码的格式,直接写死到代码中,如果需要修改定时任务的时间得去修改代码。

而若依提供了更好的方式,我们只需要在项目中设置好执行的任务,然后可以在前端项目中动态修改项目执行时间

  1. 后端创建一个类,加入容器,创建一个方法,用来执行任务

    image-20240703185154566

  2. 在前端项目中新增定时任务,设置需要定时执行的任务和时间表达式

    image-20240703185417014

  3. 前端开启任务

    image-20240703185430855

8.构建表单

通过表单构建工具,开发者只需要简单的图形化拖拽操作,就能构建复杂的表单

案例:通过表单构建工具,单独制作一个添加课程的表单页面

image-20240703190049093

  1. 制作表单

    image-20240703192249893

  2. 导出【可以选择页面或者弹窗】

    image-20240703192314306

    image-20240703192323641

  3. 将导出的文件复制到前端工程中

  4. 在菜单管理中创建路由地址,根据动态路由展示页面

    image-20240703192449576

9.代码生成

入门案例中已经使用了基本的代码生成器,进行单表操作。若依还提供了树表、主子表(一对多)操作

  • 树表:数据存在层级关系【例如:省/市/县】
  • 主子表:数据存在一对多的关系

案例:树表关系的使用

image-20240703193011322

10.系统接口

若依集成了Swagger提供了在线接口文档,可以进行测试

五、项目结构

https://www.bilibili.com/video/BV1pf421B71v?p=12&spm_id_from=pageDriver&vd_source=b246a40ef435cdf32c518bf3f296775d

1.前端部分

2.后端部分

3.表结构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/41723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于jeecgboot-vue3的Flowable流程-集成仿钉钉流程(一)图标svgicon的使用

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 1、lowflow这里使用了tsx的动态图标,如下: import ./index.scss import type { CSSProperties, PropType } from vue import { computed, defineComponent, resolv…

MATLAB基础应用精讲-【数模应用】 岭回归(Ridge)(附MATLAB、python和R语言代码实现)

目录 前言 算法原理 数学模型 Ridge 回归的估计量 Ridge 回归与标准多元线性回归的比较 3. Ridge 参数的选择 算法步骤 SPSSPRO 1、作用 2、输入输出描述 3、案例示例 4、案例数据 5、案例操作 6、输出结果分析 7、注意事项 8、模型理论 SPSSAU 岭回归分析案…

支付宝沙箱对接(GO语言)

支付宝沙箱对接 1.1 官网1.2 秘钥生成(系统默认)1.3 秘钥生成(软件生成)1.4 golan 安装 SDK1.5 GoLand 代码1.6 前端代码 1.1 官网 沙箱官网: https://open.alipay.com/develop/sandbox/app 秘钥用具下载: https://ope…

并行处理百万个文件的解析和追加

处理和解析大量文件,尤其是百万级别的文件,是一个复杂且资源密集的任务。为实现高效并行处理,可以使用Python中的多种并行和并发编程工具,比如multiprocessing、concurrent.futures模块以及分布式计算框架如Dask和Apache Spark。这…

Mysql系列-Binlog主从同步

原文链接:https://zhuanlan.zhihu.com/p/669450627 一、主从同步概述 mysql主从同步,即MySQL Replication,可以实现将数据从一台数据库服务器同步到多台数据库服务器。MySQL数据库自带主 从同步功能,经过配置,可以实现基于库、表…

B端设计:任何不顾及用户体验的设计,都是在装样子,花架子

B端设计是指面向企业客户的设计,通常涉及产品、服务或系统的界面和功能设计。与C端设计不同,B端设计更注重实用性和专业性,因为它直接影响企业的效率和利益。 在B端设计中,用户体验同样至关重要。不顾及用户体验的设计只是空洞的表…

经典的layui框架,还有人用吗?令人惋惜。

自从layui官网宣布关闭之后,layui框架的用户飞速下滑,以至于到现在贝格前端工场承接的项目中,鲜有要求使用layui框架的,那么个框架还有人用吗? 一、layui没落是不是jquery惹的祸 layui的没落与jQuery无关。layui框架…

Hi3861 OpenHarmony嵌入式应用入门--UDP Server

本篇使用的是lwip编写udp服务端。需要提前准备好一个PARAM_HOTSPOT_SSID宏定义的热点,并且密码为PARAM_HOTSPOT_PSK。 修改网络参数 在Hi3861开发板上运行上述四个测试程序之前,需要根据你的无线路由、Linux系统IP修改 net_params.h文件的相关代码&…

起底:Three.js和Cesium.js,二者异同点,好比全科和专科.

Three.js和Cesium.js是两个常用的webGL引擎,很多小伙伴容易把它们搞混淆了,今天威斯数据来详细介绍一下,他们的起源、不同点和共同点,阅读后你就发现二者就像全科医院和专科医院的关系,很好识别。 一、二者的起源 Th…

性能测试相关理解---性能测试流程(二)

六、性能测试流程(如何做性能测试?) 根据学习全栈测试博主的课程做的笔记 1、前期准备– 项目初期就开始,业务需求评审时尽量参与,对业务更深刻的认识(确定哪些是核心业务、哪些可能存在并发请求、确定什么地方会出现瓶颈,方便后…

WebOffice在线编微软Offfice,并以二进制流的形式打开Word文档

在日常办公场景中,我们经常会遇到这种场景:我们的合同管理系统的各种Word,excel,ppt数据都是以二进制数组的形式存储在数据库中,如何从数据库中读取二进制数据,以二进制数据作为参数,然后加载到浏览器的Office窗口&…

【无标题】地平线2西之绝境/Horizon Forbidden West™ Complete Edition(更新:V1.3.57)

游戏介绍 与埃洛伊同行,在危险壮美的边疆之地揭开种种未知的神秘威胁。此完整版可完整享受广受好评的《地平线 西之绝境™》内容和额外内容,包括在主线游戏后展开的后续故事“炙炎海岸”。 重返《地平线》中遥远未来的后末日世界,探索远方的土…

Twitter群发消息API接口的功能?如何配置?

Twitter群发消息API接口怎么申请?如何使用API接口? 为了方便企业和开发者有效地与用户互动,Twitter提供了各种API接口,其中Twitter群发消息API接口尤为重要。AokSend将详细介绍Twitter群发消息API接口的功能及其应用场景。 Twit…

html+css+js贪吃蛇游戏

贪吃蛇游戏&#x1f579;四个按钮控制方向&#x1f3ae; 源代码在图片后面 点赞❤️关注&#x1f64f;收藏⭐️ 互粉必回&#x1f64f;&#x1f64f;&#x1f60d;&#x1f60d;&#x1f60d; 源代码&#x1f4df; <!DOCTYPE html> <html lang"en"&…

tomcat原理、结构、设计模式

1 what 一种web服务器&#xff0c;运行java servlet、jsp技术&#xff0c;能为java web提供运行环境并通过http协议处理客户端请求。即tomcat http服务器 servlet容器。同类产品有jetty Web应用&#xff1a;Web应用是指通过Web浏览器访问的应用程序&#xff0c;它使用Web技术…

平台稳定性里程碑 | Android 15 Beta 3 已发布

作者 / 产品管理副总裁、Android 开发者 Matthew McCullough 从近期发布的 Beta 3 开始&#xff0c;Android 15 达成了平台稳定性里程碑版本&#xff0c;这意味着开发者 API 和所有面向应用的行为都已是最终版本&#xff0c;您可以查阅它们并将其集成到您的应用中&#xff0c;并…

系统架构设计师——计算机体系结构

分值占比3-4分 计算机硬件组成 计算机硬件组成主要包括主机、存储器和输入/输出设备。 主机&#xff1a;主机是计算机的核心部分&#xff0c;包括运算器、控制器、主存等组件。运算器负责执行算术和逻辑运算&#xff1b;控制器负责协调和控制计算机的各个部件&#xff1b;主存…

如何看自己电脑的ip地址?这些方法教你搞定

在数字化时代&#xff0c;网络已经成为我们生活中不可或缺的一部分。对于每一个接入网络的设备来说&#xff0c;IP地址就像是一个独特的身份证&#xff0c;它标识着设备在网络中的位置。对于电脑用户而言&#xff0c;了解如何查看自己电脑的IP地址&#xff0c;不仅有助于我们更…

14-44 剑和诗人18 - 你想怎么应用 RAG 与微调

​​​​​​ 要充分发挥 LLM 的潜力&#xff0c;需要在检索增强生成 (RAG) 和微调之间选择正确的技术。 让我们研究一下何时针对 LLM、较小模型和预训练模型使用 RAG 而不是微调。我们将介绍&#xff1a; LLM 和 RAG 的简要背景RAG 相对于微调 LLM 的优势何时针对不同模型大…

AI集成工具平台一站式体验,零门槛使用国内外主流大模型

目录 0 写在前面1 AI艺术大师1.1 绘画制图1.2 智能作曲 2 AI科研助理2.1 学术搜索2.2 自动代码 3 AI智能对话3.1 聊天机器人3.2 模型竞技场 4 特别福利 0 写在前面 人工智能大模型浪潮滚滚&#xff0c;正推动着千行百业的数智化进程。随着技术演进&#xff0c;2024年被视为是大…