Appearance
第一次启动 RuoYi Vue Pro:跑通后端和管理端
前两篇已经把 CostFlow 的代码基线和本地开发环境准备好了。
这一篇我们的目标很简单:先确认作为开发基线的 RuoYi Vue Pro 本身能够正常运行。
只有这个基础链路没有问题,后面开启 AI 模块、接入模型以及继续开发 CostFlow 时,出现问题才更容易定位。
初始化原项目数据库
创建 ruoyi-vue-pro 数据库
RuoYi Vue Pro 本身已经提供了完整的初始化 SQL。
先在本地 MySQL 中创建一个数据库:
sql
CREATE DATABASE `ruoyi-vue-pro`
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;数据库名称建议直接保持为:
text
ruoyi-vue-pro因为我们当前版本的本地配置默认也是连接这个数据库。
导入 RuoYi Vue Pro 初始化 SQL
RuoYi Vue Pro 原项目的初始化 SQL:
text
backend/sql/mysql/ruoyi-vue-pro.sql不要把这份文件复制到 CostFlow 根目录的 sql/,后面也不会直接在这份上游 SQL 上继续追加 CostFlow 表。
这份 SQL 本身包含系统、基础设施等当前原项目启动需要的表和初始化数据。
使用 Navicat 或者其他数据库工具,把 backend/sql/mysql/ruoyi-vue-pro.sql 完整导入刚刚创建的 ruoyi-vue-pro 数据库即可。
例如使用 MySQL 命令行时,可以执行:
bash
mysql -u root -p ruoyi-vue-pro < backend/sql/mysql/ruoyi-vue-pro.sql如果平时使用 Navicat、DataGrip、DBeaver 等工具,直接执行这份 SQL 文件也可以。
导入完成以后简单看一下数据库,能够看到诸如下面这些表,就说明基础数据库已经初始化完成:
text
system_users
system_role
system_menu
infra_config
infra_api_access_log
...修改本地配置
后端默认已经启用了:
yaml
spring:
profiles:
active: local因此本地启动时主要使用:
text
backend/yudao-server/src/main/resources/application-local.yaml目前需要确认的主要就是两个外部依赖:MySQL 和 Redis。其他模块的配置暂时不要随意调整。
配置 MySQL 连接
打开 backend/yudao-server/src/main/resources/application-local.yaml,找到数据源配置。当前代码默认类似:
yaml
spring:
datasource:
dynamic:
primary: master
datasource:
master:
url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true
username: root
password: 123456
slave:
lazy: true
url: jdbc:mysql://127.0.0.1:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true
username: root
password: 123456修改数据库地址、端口、数据库名称、用户名和密码为你本地 MySQL 的配置。
slave 当前开启了懒加载,而且默认同样指向本地这一个数据库。现阶段并不需要真正搭建主从数据库,保持它和 master 使用同一套本地连接即可。
配置 Redis 连接
继续在 application-local.yaml 中找到 Redis:
yaml
spring:
data:
redis:
host: 127.0.0.1
port: 6379
database: 0根据本地环境修改 Redis 地址、端口、数据库名称、用户名和密码。
启动后端项目
启动 yudao-server
RuoYi Vue Pro 后端是一个 Maven 多模块单体项目,Spring Boot 启动入口位于:
text
backend/
└── yudao-server/
└── src/main/java/
└── cn/iocoder/yudao/server/
└── YudaoServerApplication.java对应启动类就是 YudaoServerApplication。使用 IDEA 打开 backend/,等待 Maven 依赖加载完成以后,直接运行这个启动类即可。
第一次启动需要下载 Maven 依赖,时间可能稍长一些,这是正常的。
当前 local 配置下后端监听 48080 端口,也就是:
text
http://localhost:48080如果启动失败,优先检查这些基础问题:
- JDK 是否为 17;
- MySQL 是否已经启动,数据库是否已经导入;
- MySQL 用户名和密码是否正确;
- Redis 是否已经启动;
- 48080 是否被其他程序占用。
当前阶段尽量不要直接修改代码。
确认后端正常运行
启动完成以后,先看控制台。只要 Spring Boot 已经正常启动,并且没有因为数据库、Redis 或端口问题退出,就说明后端已经运行起来。
也可以直接访问:
text
http://localhost:48080/actuator/health当前本地配置已经开放 Actuator 端点,正常情况下应该能够看到:
json
{
"status": "UP"
}启动管理端
安装前端依赖
进入 frontend/,安装依赖:
bash
pnpm install如果第一次安装时间比较长,让 pnpm 正常完成即可,不要因为几条普通 warning 就随意修改依赖版本。
安装结束以后,会生成:
text
frontend/node_modules/启动 Vue3 管理端
安装完成后执行:
bash
pnpm dev本地环境配置 .env.local 已经默认把后端地址指向:
text
http://localhost:48080接口前缀则是:
text
/admin-api所以前后端本身已经能够按照默认配置连接起来,不需要另外修改 API 地址。请求关系实际上就是:
text
Vue3 管理端
↓
http://localhost:48080/admin-api
↓
yudao-server前端基础配置中当前 VITE_PORT=80,因此默认开发地址通常是:
text
http://localhost如果 80 端口已经被 Nginx 或其他程序使用,再把 VITE_PORT=80 调整成一个空闲端口,例如:
env
VITE_PORT=3000这只是本地开发端口,不影响后面的 CostFlow 实现。
登录后台
打开管理端以后,应该能够看到 RuoYi Vue Pro 原本的登录页面。固定的前端配置中已经给出了默认登录信息。
初始化数据库中同样存在 admin 管理员账号。
登录成功以后,可以随便打开几个基础页面,实际了解一下这个项目到底是什么样子。理解清楚业务以后,我们后续看代码才会更加容易理解。
另外,不要因为看到后台还有大量商城、工作流、CRM 等模块,就开始清理模块,报错的原因就是我们没有开启这些模块,暂时不用管,只要确保一些基础设施没有问题即可。
交给 Coding Agent
如果已经在使用本地 Coding Agent,请直接让它完成。
下一步
现在已经确认:
text
RuoYi Vue Pro
前端 ✓
后端 ✓
MySQL ✓
Redis ✓
登录 ✓接下来才轮到这个项目真正和 AI 产生关系。
下一篇先认识作为开发基线的 RuoYi Vue Pro 原项目,了解它的模块划分、启动结构和后续阅读源码的切入点。
再下一篇才会开启当前默认关闭的 yudao-module-ai,补齐它真正运行需要的依赖、配置和数据库结构。