Ruoyi 快速开发平台

Ruoyi 快速开发平台

  • 一、官网
  • 二、准备工作
    • 2.1 环境要求
    • 2.2 必要配置
  • 三、运行系统
    • 3.1 后端运行
    • 3.2 前端安装及运行
  • 四、自定义开发
    • 4.1 新增业务模块
    • 4.2 代码生成
      • 4.2.1 创建菜单
      • 4.2.2 后端代码
      • 4.2.3 前端代码


1

一、官网

  链接: 前后端分离版本

1
回到目录

二、准备工作

2.1 环境要求

1

2.2 必要配置

  1. 源码下载:
      前往Gitee下载页面( https://gitee.com/y_project/RuoYi-Vue (opens new window))下载解压到工作目录
  2. 开发环境:idea(2023以上版本)、maven(3.0以上版本)、jdk(1.8版本)
  3. 导入:将源码导入idea
  4. 创建数据库ry-vue(库名可自定义)并导入数据脚本:ry_2021xxxx.sql,quartz.sql
  5. 修改数据库连接,编辑resources目录下的application-druid.yml
# 数据源配置
spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriverClassName: com.mysql.cj.jdbc.Driverdruid:# 主库数据源master:url: 数据库地址username: 数据库账号password: 数据库密码

  这里根据需要可以配置多个数据源,master和slave用于将业务数据库和系统数据库分开。

示例如下:
2
6. 修改服务器配置,编辑resources目录下的application.yml

# 开发环境配置
server:# 服务器的HTTP端口,默认为80port: 端口servlet:# 应用的访问路径context-path: /应用路径

示例如下:
3

回到目录

三、运行系统

提示:
  因为本项目是前后端完全分离的,所以需要前后端都单独启动好,才能进行访问。前端安装完node后,最好设置下淘宝的镜像源,不建议使用cnpm(可能会出现奇怪的问题)

3.1 后端运行

启动后端项目,通过debug启动,配置参数:RuoYiApplication.java
3
点击运行,初次运行可能报错,需要重新加载一下maven信息:
4
出现如下图表示启动成功:
5
回到目录

3.2 前端安装及运行

  1. 前端项目第一次运行需要安装依赖包,执行命令:npm install

强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。

npm install --registry=https://registry.npmmirror.com

5

  1. 前端项目本地运行命令:npm run dev
    6

  2. 运行成功后,登录网页,默认用户名\密码:admin\admin123
    7

具体运行命令看package.json中scripts属性,详细如下:
  scripts配置是在一个基于Vue.js项目的package.json文件中定义的,它使用npm或yarn作为包管理工具来执行各种命令。每个命令都对应一个开发或部署过程中的不同任务。下面是对这些命令的简要说明:

  • dev
    命令: “vue-cli-service serve”
    说明: 这个命令用于启动开发服务器。它会监听源代码的更改,并自动重新加载页面以反映这些更改。这是开发过程中最常用的命令之一,因为它提供了一个实时的开发环境。
  • build:prod
    命令: “vue-cli-service build”
    说明: 这个命令用于构建生产环境的项目。它会将Vue组件、JavaScript、CSS等文件打包成一个或多个文件,通常包括一个或多个.js文件、.css文件,以及一个或多个资源文件(如图片、字体等)。这些文件被优化以减少加载时间,并准备好部署到生产服务器上。
  • build:stage
    命令: “vue-cli-service build --mode staging”
    说明: 类似于build:prod,但这个命令通过–mode staging参数指定了一个不同的环境模式(在这个例子中是“staging”或“测试环境”)。这允许你根据不同的环境(如开发、测试、生产)来定制构建过程,比如通过环境变量来启用或禁用某些功能或特性。
  • preview
    命令: “node build/index.js --preview”
    说明: 这个命令看起来是项目特定的,不是Vue CLI直接提供的。它可能是一个自定义脚本,用于在本地或远程服务器上预览构建后的项目。通过–preview参数,这个脚本可能执行了一些特定的预览设置或操作。
  • lint
    命令: “eslint --ext .js,.vue src”
    说明: 这个命令使用ESLint来检查src目录下的.js和.vue文件的代码质量。ESLint是一个静态代码分析工具,用于识别JavaScript代码中的模式,并帮助你按照预定的编码标准

回到目录

四、自定义开发

4.1 新增业务模块

  1. 新建模块
    1
  2. pom.xml文件中添加模块
    2
    回到目录

4.2 代码生成

  1. 建表,在mysql slave(从库-业务库)数据库中创建表
  2. 在页面上选择 系统工具->代码生成 -> 导入
    2
  3. 选择 创建的表 ,进行导入
    3
  4. 选择 刚刚导入的表,点击“生成代码”,下载待本地

4
5. 解压缩下载的zip文件

其中:

  • main是后端java代码
  • vue是前端代码
  • xx.sql是创建菜单的sql语句

回到目录

4.2.1 创建菜单

  1. 打开xxxMenu.sql文件
    1
  2. 在mysql的主数据库中执行sql语句
    1
    执行完后,在数据库的sys_menu中将看到刚刚新增的菜单,如果有自定义菜单,也可以在这边按照规定格式新增或编辑修改。
    1
    对于系统对字段赋值有特殊要求的,参考其他菜单进行赋值,如:
    3> 这里的模块名称(perms)也可以根据实际情况进行修改,但是更改后,代码中要与更改的内容保持一致。

回到目录

4.2.2 后端代码

  1. 将后端代码,根据目录提示,放入对应的文件夹中,如果没有该文件夹则手动创建,包含如下domain\mapper\service
    1
  • 对于domain/xxx.java,进去导入关联包,并删除get/set函数,在文件头新增如下注解,适应springboot编程:
@AllArgsConstructor
@NoArgsConstructor
@Data

1

  • 对于/service/impl/xxImpl.java,需要在文件头增加注解,指定数据源。
@DataSource(DataSourceType.SLAVE)

2

  • 对于其他文件,可根据实际情况,调整文件内容。
  1. 对于目录下的controller文件,需要放置到xx-admin/src/main/com.xx/web/controller/模块名称 下面

注意:如果4.2.1节创建菜单时修改了模块名称(perms),这边controller文件中的RequestMapping也要同步进行修改.

1
回到目录

4.2.3 前端代码

  1. 将下载的文件夹vue/api/模块名/xx.js文件复制到前端代码:src/api/模块名下面

注意:如果4.2.1节创建菜单时修改了模块名称(perms),这边js文件中的所有的url也要同步进行修改.
3

  1. 将下载的文件夹vue/views/模块名/xx.vue文件复制到前端代码:src/views/模块名/菜单名/下面
    4

这是前端页面,可更改这里的代码对前端进行页面的优化

回到目录

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

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

相关文章

【C语言】链式队列的实现

队列基本概念 首先我们要了解什么是队列,队列里面包含什么。 队列是线性表的一种是一种先进先出(First In Fi Out)的数据结构。在需要排队的场景下有很强的应用性。有数组队列也有链式队列,数组实现的队列时间复杂度太大&#x…

【数据结构】链式二叉树的实现和思路分析及二叉树OJ

【数据结构】链式二叉树的实现和思路分析及二叉树OJ 🔥个人主页:大白的编程日记 🔥专栏:数据结构 文章目录 【数据结构】链式二叉树的实现和思路分析及二叉树OJ前言一.链式二叉树的定义及结构二.链式二叉树的遍历2.1前序遍历2.2中…

Typora 【最新1.8.6】版本安装下载教程 (轻量级 Markdown 编辑器),图文步骤详解,免费领取(软件可激活使用)

文章目录 软件介绍软件下载安装步骤激活步骤 软件介绍 Typora 是一款专为 Markdown 爱好者设计的文本编辑器,它结合了简洁的界面设计与强大的 Markdown 渲染能力,为用户提供了一个流畅、高效的写作环境。以下是对 Typora 更详细的介绍: 核心特…

课程学习前提约束(拓扑排序练习)

很显然的拓扑排序 class Solution { public:bool canFinish(int numCourses, vector<vector<int>>& prerequisites) {int n numCourses;vector<int> record(n1,0);queue<int> q;vector<vector<int>> graph(n 1);for (int i 0; i &l…

nfs和web服务器的搭建

&#xff08;一&#xff09;web服务器的搭建 1.配置基本环境 要点有&#xff0c;yum源&#xff0c;包含nginx和阿里云&#xff08;或者腾讯云或者华为云&#xff09;&#xff0c;这里的相关知识可以参考之前的yum配置笔记 2.安装nginx yum -y install nginx 3.验证并且开启服…

源码编译安装,及nginx服务控制、监控块

1.源码编译安装&#xff1a; [root17dns ~]# wget https://nginx.org/download/nginx-1.27.0.tar.gz 2.解压&#xff1a; [root17dns ~]# tar -zxvf nginx-1.27.0.tar.gz 3.安装gcc等工具 [root17dns ~]# yum -y install gcc gcc-c [root17dns ~]# yum -y install make lrzsz …

24年第三届钉钉杯大学生大数据挑战赛浅析

需要完整资料&#xff0c;请关注WX&#xff1a;“小何数模”&#xff01; 本次钉钉杯大数据挑战赛的赛题已正式出炉&#xff0c;无论是赛题难度还是认可度&#xff0c;该比赛都是仅次于数模国赛的独一档&#xff0c;可以用于国赛前的练手训练。考虑到大家解题实属不易&#xf…

如何学习Doris:糙快猛的大数据之路(从入门到专家)

引言:大数据世界的新玩家 还记得我第一次听说"Doris"这个名字时的情景吗?那是在一个炎热的夏日午后,我正在办公室里为接下来的大数据项目发愁。作为一个刚刚跨行到大数据领域的新手,我感觉自己就像是被丢进了深海的小鱼—周围全是陌生的概念和技术。 就在这时,我的…

Django实战:开启数字化任务管理的新纪元

&#x1f680; Django实战&#xff1a;开启数字化任务管理的新纪元 &#x1f310; &#x1f4d6; 引言 在数字化转型的浪潮中&#xff0c;任务管理的智能化成为提升组织效能的关键。今天&#xff0c;我将带领大家深入了解我们最新开发的OFTS系统——一款创新的组织任务管理软…

双指针-【3,4,5,6,7,8】

第三题&#xff1a;快乐数 . - 力扣&#xff08;LeetCode&#xff09;. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/happy-number/算法思想&#xff1a; 1.每个…

SpringBoot上传超大文件导致OOM,完美解决办法

问题描述 上传大文件报错: Caused by: java.lang.OutOfMemoryError at java.io.ByteArrayOutputStream.hugeCapacity(ByteArrayOutputStream.java:123) ~[?:1.8.0_381] at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:117) ~[?:1.8.0_381] …

调用百度的大模型API接口实现AI对话!手把手教程!

本文介绍如何使用百度的大模型API接口实现一个AI对话项目 1 注册百度云 2 获取API接口 3 配置环境 4 代码编写与运行 5 chat models 1 注册百度云 搜索百度云&#xff0c;打开官网注册&#xff0c;充值一点点大米&#xff08;收费很低&#xff0c;大概生成几个句子花费一毛…

FRP配置内网穿透52版本以上适用

简述 适用frp配置内网穿透来说我们需要进行简单的区分&#xff0c;具有公网IP的服务器我们简称为服务端&#xff0c;内网的服务器我们可以简称为客户端&#xff0c;frp需要针对不同的服务器配置不同的文件 下载安装包 Linux下载地址 https://github.com/fatedier/frp/relea…

好的STEM编程语言有哪些?

STEM是科学&#xff08;Science&#xff09;&#xff0c;技术&#xff08;Technology&#xff09;&#xff0c;工程&#xff08;Engineering&#xff09;&#xff0c;数学&#xff08;Mathematics&#xff09;四门学科英文首字母的缩写&#xff0c;STEM教育简单来说就是在通过在…

如何通过✅ IPIDEA代理IP,轻松实现数据采集和市场拓展工作(下)

如何通过✅ IPIDEA代理IP&#xff0c;轻松实现数据采集和市场拓展工作 如何通过✅ IPIDEA代理IP&#xff0c;轻松实现数据采集和市场拓展工作前言IPIDEA爬虫实战实战Demo演示总结 如何通过✅ IPIDEA代理IP&#xff0c;轻松实现数据采集和市场拓展工作 前言 在当今全球化市场的…

微信小游戏之三消(三)道具相关方法

设计一个 game class。负责了游戏的核心控制逻辑&#xff0c;包括游戏状态管理、方块和道具的生成与效果处理&#xff0c;以及游戏的重新开始和复活流程。通过这些方法&#xff0c;脚本实现了游戏的基本玩法和用户交互。 主要游戏控制方法 gameStart()&#xff1a;开始游戏&am…

MySQL常见指令

MySQL中的数据类型 大致分为五种&#xff1a;数值&#xff0c;日期和时间&#xff0c;字符串&#xff0c;json&#xff0c;空间类型 每种类型也包括也一些不同的子类型&#xff0c;根据需要来选择。 如数值类型包括整数类型和浮点数类型 整数类型根据占用的存储空间的不同 又…

Cocos Creator2D游戏开发(7)-飞机大战(5)-让子弹飞

飞机大战(5)-碰撞及积分 参考敌机的生成 子弹由飞机生成,放在player_node节点子弹重复使用,要使用预制体;子弹新增了动画 ①创建一个预制体 命名为playerBullet_prefab ② 双击预制体将bullet1图片拖入预制体 保存,关闭(场景编辑器里面的) ③ 发射子弹 player加入代码 prop…

听说它可以让代码更优雅

一提到静态代码检查工具这个词应该比较好理解&#xff0c;所谓静态代码检查工具就是检查静态代码的工具&#xff0c;完美~ 言归正传&#xff0c;相信很多程序员朋友都听说过静态代码检查工具这个概念&#xff0c;它可能是我们IDE里的某一个插件&#xff0c;可能是计算机中的一…