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

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: AI+若依框架(低代码开发)

一、若依介绍
1.版本介绍
若依为满足多样化的开发需求,提供了多个版本

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

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

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

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

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

2.技术选型
本次笔记选用RuoYi-Vue

技术 版本
JDK 1.8及以上
Mysql 5.7及以上
Redis 3.0及以上
Node 12及以上
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
创建数据库
找到后端项目中的sql文件夹,里面有两个sql脚本,执行【包含30张表】
将SpringBoot项目配置文件中的数据库配置改成自己的
1.3 启动Redis
1.4 启动后端项目
项目的启动类在ruoyi-admin模块中的RuoYiApplication中
1
1.5说明
后端项目自带的前端是Vue2版本,现在都是用Vue3,所以可以直接删掉了

2.前端搭建
2.1 Git克隆前端项目
https://gitee.com/zi-ning/RuoYi-Vue3

2.2 下载前端依赖
npm install
1
2.3 运行前端项目
npm run dev
1
三、入门案例
现在需要一个课程管理模块,这个模块的前端页面需要条件查询框、数据显示框、添加课程框、课程修改框。

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
);
1
2
3
4
5
6
7
8
9
10
11
12
2.配置代码生成信息【重要】
这一步是通过手动配置,从而生成对应的代码
1
启动前后端项目,进入前端页面

选择系统工具——代码生成——导入

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

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

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

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

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

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

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

点击提交

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

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

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

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

4.重启项目
四、功能详解
1.权限控制管理
什么是权限控制:不同权限的用户登录相同的系统,可以访问的页面不同
若依提供的权限管理模块:用户管理、角色管理、菜单管理、部门管理、岗位管理
1
2
1.1 RBAC
RBAC是一种广泛使用的访问控制模型,通过角色来管理用户的菜单权限

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

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

表关系如下:

1.2 菜单分类
目录:一个模块的大类,点击后可以展开,不用于页面跳转
菜单:点击后可以进入对应的页面
按钮:点击对应的按钮之后,会有对应的操作
2.数据字典
为什么要有数据字典?
前端页面中的一些表单选项可能在不同表单中都会出现,而单独编写后,后期如果要修改会很麻烦,因此使用数据字典统一管理这些字段

若依内置的数据字典包括:性别、状态等
功能包括:字典类型管理、字典数据管理
1
2
3
4
5
2.1 表关系说明

说明:
字典类型用于存储一类字典的统称,例如我有一个下拉框供用户选择城市,那么这类就可以命名为城市,然后字典数据表中存储具体的城市名,由外键指定属于哪一类字典
1
2
2.2 使用案例
将入门案例中学科管理字段改为数据字典维护

添加字典类型

点击字典类型添加数据

修改对应的代码生成信息

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

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

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

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

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

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

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

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

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

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

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

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

前端开启任务

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

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

制作表单

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

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

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

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

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

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

五、项目结构
https://www.bilibili.com/video/BV1pf421B71v?p=12&spm_id_from=pageDriver&vd_source=b246a40ef435cdf32c518bf3f296775d

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3天前
|
存储 人工智能 测试技术
Minstrel自动生成结构化提示,让AI为AI写提示词的多代理提示生成框架
在人工智能迅速发展的背景下,有效利用大型语言模型(LLMs)成为重要议题。9月发布的这篇论文提出了LangGPT结构化提示框架和Minstrel多代理提示生成系统,旨在帮助非AI专家更好地使用LLMs。LangGPT通过模块化设计提高提示的泛化能力和可重用性,Minstrel则通过多代理协作自动生成高质量提示。实验结果显示,这两种方法显著提升了LLMs的性能,特别是在大规模模型上效果显著。
14 2
Minstrel自动生成结构化提示,让AI为AI写提示词的多代理提示生成框架
|
9天前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
525 5
|
7天前
|
存储 人工智能 算法
AI伦理学:建立可信的智能系统框架
【9月更文挑战第26天】随着AI技术的迅猛发展,其在各领域的应用日益广泛,但也带来了算法偏见、数据隐私泄露、就业替代等伦理和法律挑战。本文探讨AI伦理学的核心议题,包括数据隐私保护、算法公平性与透明度、机器决策责任归属及对就业市场的影响,并提出建立可信智能系统框架的建议,如强化法律法规、技术创新、建立监督机制、行业自律和公众教育,以确保AI技术的可持续发展和社会接受。
|
10天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
19天前
|
人工智能 Cloud Native Serverless
来云栖大会!探展云上开发,沉浸式体验云原生 + AI 新奇玩法
计算馆将展示中国最先进的云计算产业链全景,从底层硬件到数据创新,从云计算基础设施到数据管理服务、人工智能平台和模型服务,全景式呈现 AI 时代云计算最新技术形态和产品进展。计算馆有哪些推荐?往下看!
|
24天前
|
人工智能 开发框架 搜索推荐
移动应用开发的未来:跨平台框架与AI的融合
在移动互联网飞速发展的今天,移动应用开发已成为技术革新的前沿阵地。本文将探讨跨平台框架的兴起,以及人工智能技术如何与移动应用开发相结合,从而引领行业走向更加智能化、高效化的未来。文章通过分析当前流行的跨平台开发工具和AI技术的应用实例,为读者提供对未来移动应用开发的独到见解和预测。
47 3
|
7天前
|
机器学习/深度学习 人工智能 开发框架
智能ai量化高频策略交易软件、现货合约跟单模式开发技术规则
该项目涵盖智能AI量化高频策略交易软件及现货合约跟单模式开发,融合人工智能、量化交易与软件工程。软件开发包括需求分析、技术选型、系统构建、测试部署及运维;跟单模式则涉及功能定义、策略开发、交易执行、终端设计与市场推广,确保系统高效稳定运行。
|
24天前
|
人工智能 开发框架 前端开发
移动应用开发的未来:探索跨平台框架与AI的融合
随着智能手机的普及和移动技术的飞速发展,移动应用已成为我们日常生活的一部分。本文将探讨移动应用开发的最新趋势,特别是跨平台开发框架的兴起和人工智能技术的结合如何塑造未来移动应用的发展方向。我们将从React Native和Flutter等流行框架谈起,分析它们如何简化开发流程、降低成本并提高应用性能。同时,本文也将深入讨论人工智能如何在用户体验、安全性和个性化服务方面为移动应用带来革命性的变化。最后,我们将展望未来移动应用开发的新机遇和挑战。
22 0
|
2月前
|
Java Spring 人工智能
AI 时代浪潮下,Spring 框架异步编程点亮高效开发之路,你还在等什么?
【8月更文挑战第31天】在快节奏的软件开发中,Spring框架通过@Async注解和异步执行器提供了强大的异步编程工具,提升应用性能与用户体验。异步编程如同魔法,使任务在后台执行而不阻塞主线程,保持界面流畅。只需添加@Async注解即可实现方法的异步执行,或通过配置异步执行器来管理线程池,提高系统吞吐量和资源利用率。尽管存在线程安全等问题,但异步编程能显著增强应用的响应性和效率。
32 0
|
2月前
|
Java Spring 传感器
AI 浪潮席卷,Spring 框架配置文件管理与环境感知,为软件稳定护航,你还在等什么?
【8月更文挑战第31天】在软件开发中,配置文件管理至关重要。Spring框架提供强大支持,便于应对不同环境需求,如电商项目的开发、测试与生产环境。它支持多种格式的配置文件(如properties和YAML),并能根据环境加载不同配置,如数据库连接信息。通过`@Profile`注解可指定特定环境下的配置生效,同时支持通过命令行参数或环境变量覆盖配置值,确保应用稳定性和可靠性。
41 0

热门文章

最新文章

下一篇
无影云桌面