【ruoyi框架】开箱即用的管理系统框架

news2024/9/20 5:07:31

目录

1.简介

2.快速开始

2.1.仓库

2.2.环境初始化

3.使用介绍

3.1.权限与组件

3.2.开发与测试


1.简介

管理系统是当前软件市场上最常见的软件,管理系统在功能和界面上都有大量通用的点。

功能上通用的点包括但不限于:

  • 角色、权限管理
  • 菜单管理
  • 鉴权校验
  • 登录,持久会话
  • 定时任务
  • 用户管理

界面上通用的包括但不限于:

界面现在一般都是窗口化的应用,点击菜单,转跳组件,所以对于前端来说能快速开发组件、方便配置路由是很重要的。除此之外还有就是UI样式能方便使用,避免复杂的编写CSS样式的工作。

针对功能上通用的点,后端有很多开源组件的实现:

Spring Boot、Spring Cloud、Apache Shiro、MyBatis、Quartz等

针对界面上通用的点,前端可以直接用VUE+ElementUI封装出一套能快速进行组件化开发的基础架子。

ruoyi框架就是完整的实现了上面的一整套的一个开箱即用的管理系统框架,后端基于Spring Boot、前端基于Vue,实现了全套管理系统的通用功能,提供了一套很方便开发的架子。

2.快速开始

2.1.仓库

仓库地址直接在github或者gitee上搜一下就是了,几万个star的项目,一搜就能搜出来:

演示地址和文档地址在项目下:

ruoyi有很多版本,一般单点版本就够用了,把代码拉下来。

2.2.环境初始化

拉起一个系统需要做什么?

数据库脚本、redis服务、前后端拉取依赖+编译、修改配置文件、最后启动。

接下来我们就进行这些步骤。

初始化数据库:

数据库用mysql,执行项目目录下的sql文件,会初始化出数据库:

配置文件:

可以看到主启动类在admin模块下,所以要修改的是admin模块的配置配置好数据库和redis。

3.使用介绍

3.1.权限与组件

使用介绍了用到的并不是原生下下来的,而是博主二开过的,因为要展示自定义组件和菜单。

登陆后我们可以看到ruoyi是个标注的窗口化的管理系统:

系统管理里面是基础的用户管理、角色管理、权限管理:

ruoyi的权限主要体现在菜单里面,每个菜单都有对应的权限码:

每个菜单对应的要转跳的组件也可以进行配置:

组件的路径就是位于前端项目view路径下的相对路径:

组件暴露出去的名称和菜单的路由地址对齐:

3.2.开发与测试

ruoyi集成了开发与测试功能:

表单构建可以通过拖动的方式生成一张张的表单以供前端使用:

代码生成,支持通过建表语句生成后端对象和前端组件:

系统接口,就是swagger,界面化的测试工具:

示例代码:

/**
     * 新增【请填写功能名称】
     */
    @Transactional
    @PreAuthorize("@ss.hasPermi('system:model:add')")
    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
    @PostMapping
    @ApiOperation("新增用户")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "model", value = "模型实体", dataType = "com.ruoyi.web.controller.system.domain.Model", dataTypeClass = Model.class)
    })
    public AjaxResult add(@RequestBody Model model)
    {
        return toAjax(modelService.insertModel(model));
    }

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

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

相关文章

智能制造中,叉车防撞报警系统的数字化管理

由于叉车的价格便宜,装载能力强等特点,在工厂得到了广泛地使用,极大提升了仓库物料的流转效率。但叉车在使用当中,也存在一些风险,甚至带来一些事故。另外一个方面,如何对仓库进行有效地数字化管理&#xf…

智能电源控制箱

在数字化浪潮的推动下,智能化管理已成为各行各业转型升级的重要方向。作为这一趋势下的佼佼者,《智能电源控制箱》凭借其卓越的性能和便捷的操作,正逐步成为网络通信、监控安防等领域不可或缺的关键设备。本文将详细介绍这款集智能网络传输、…

[论文笔记]QLoRA: Efficient Finetuning of Quantized LLMs

引言 今天带来LoRA的量化版论文笔记——QLoRA: Efficient Finetuning of Quantized LLMs 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 我们提出了QLoRA,一种高效的微调方法,它在减少内存使用…

[论文笔记] t-SNE数据可视化

pip install matplotlib scikit-learn sentence-transformers数据分类别可视化 t-SNE算法将高维数据映射到2D空间后的坐标。 t-SNE是一种用于数据降维和可视化的技术,它的作用是将原本在高维空间中的复杂数据压缩到低维空间,同时尽可能保留数据点之间的距离关系。 举例: h…

Pr:首选项 - 颜色

Pr菜单:编辑/首选项 Edit/Preferences Premiere Pro 首选项中的“颜色” Color选项卡可以设置与显示颜色相关的选项。 若启用“显示色彩管理”,可以保证在不同显示设备上保持颜色一致性,它只影响显示效果,不会更改剪辑本身的颜色数…

C语言之预处理详情

目录 前言1.预定义符号2.#define定义常量3.#define定义宏4.带有副作用的宏参数5.宏替换的规则6.宏和函数的对比7.#和##运算符7.1 #运算符7.2 ##运算符 8.命名约定9.undef10.命令行指令11.条件编译12.头文件的包含12.1 头文件包含方式12.1.1 本地头文件包含12.1.2 库文件包含 12…

还不懂BIO,NIO,AIO吗

BIO(Blocking I/O)、NIO(Non-blocking I/O)和 AIO(Asynchronous I/O)是 Java 中三种不同的 I/O 模型,主要用于处理输入 / 输出操作。 一、BIO(Blocking I/O) 定义与工作原…

主窗口的设计与开发(二)

主窗口的设计与开发(二) 前言 在上一集当中,我们完成了主窗口的初始化,主窗口包括了左中右三个区域。我们还完成了对左窗口的初始化,左窗口包括了用户头像、会话标签页按钮、好友标签页按钮以及好友申请标签页按钮。对…

JavaFX基本控件-TextField

JavaFX基本控件-TextField 常用属性textpromptTextpaddingalignmentwidthheighttooltipbordereditabledisablevisible 格式化整形格式化 实现方式Java实现fxml实现 常用属性 text 设置文本内容 textField.setText("测试数据");promptText 设置文本字段的提示文本&am…

django ubuntu 踩坑集锦

目录 1 ubantu mysql查看表结构2 导入同级目录文件出现未解析引用错误3 第三方包——tinymce富文本编辑器4 verbose_name,verbose_name_plural5 搜索路径的添加6 auto_now_add 和 auto_now7 auth_user的表结构8 在 Django 中定义 ForeignKey 字段时,必须指定 on_del…

共享内存喜欢沙县小吃

旭日新摊子好耶! 系统从0开始搭建过通信方案,本地通信方案的代码:System V IPC 里面有共享内存、消息队列、信号量 共享内存 原理 两个进程有自己的内存区域划分,共享内存被创建出的时候是归属操作系统的,还是通过…

STM32G474内部温度传感器的使用

目录 概述 1 认识STM32G474内部温度传感器 1.1 温度传感器概述 1.2 温度传感器实现原理 1.3 读取温度方法 1.4 ADC模块上温度sensor的位置框图 2 STM32Cube创建项目 2.1 配置参数 2.2 STM32Cube生成的软件架构 3 温度数据算法实现 3.1 算法介绍 3.2 源代码 概述…

【H2O2|全栈】关于HTML(1)认识HTML

HTML相关知识 目录 前言 准备工作 WEB前端是什么? HTML是什么? 如何运行HTML文件? 标签 概念 分类 双标签和单标签 行内标签和块标签 HTML文档结构 预告和回顾 UI设计相关 Markdown | Md文档相关 项目合作管理相关 后话 前…

顶踩Emlog插件源码

源码介绍 顶踩Emlog插件源码 前些天看到小刀娱乐网的文章页面有了一些变化,那就是增加了一个有价值/无价值的顶踩按钮。 样式也是非常的好看 再加上两个表情包是非常的有趣。 写到了Emlog系统,效果如上图。 如何使用: 需要在echo_log.…

Python 算法交易实验88 QTV200日常推进-关于继续前进的思考

说明 念念不忘,必有回响 最初的时候,完全不了解架构方面的东西。后来决定要搞好这一块的时候,也就是不断的琢磨,到现在4年的时间,改变已经非常大了。现在习以为常的,都是当初梦寐以求的,而且在可见的未来 &…

论文精读-Supervised Raw Video Denoising with a Benchmark Dataset on Dynamic Scenes

论文精读-Supervised Raw Video Denoising with a Benchmark Dataset on Dynamic Scenes 优势 1、构建了一个用于监督原始视频去噪的基准数据集。为了多次捕捉瞬间,我们手动为对象s创建运动。在高ISO模式下捕获每一时刻的噪声帧,并通过对多个噪声帧进行…

龙芯+FreeRTOS+LVGL实战笔记(新)——05部署主按钮

本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了改进和优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以…

行空板上YOLO和Mediapipe图片物体检测的测试

Introduction 经过前面三篇教程帖子(yolov8n在行空板上的运行(中文),yolov10n在行空板上的运行(中文),Mediapipe在行空板上的运行(中文))的介绍,…

Node.js学习记录(一)

目录 一、文件读取 readFile 二、写入文件 writeFile 三、动态路径 __dirname:表示当前文件所处的目录、path.join 四、获取路径文件名 path.basename 五、提取某文件中的css、JS、html 六、http 七、启动创建web服务器 服务器响应 八、将资源请求的 url 地址映射为文…

idea插件开发的第二天-写一个时间查看器

介绍 Demo说明 本文基于maven项目开发,idea版本为2022.3以上,jdk为1.8本文在Tools插件之上进行开发 Tools插件说明 Tools插件是一个Idea插件,此插件提供统一Spi规范,极大的降低了idea插件的开发难度,并提供开发者模块,可以极大的为开发者开发此插件提供便利Tools插件安装需…