【若依 | day35 1-基础应用】

部署运行你感兴趣的模型镜像

配置环境,以及了解一下平台的操作

飞书:基础应用篇 - 飞书云文档


一、若依框架概述

Q1: 若依框架是什么?有哪些版本选择?

若依(RuoYi)是一个基于Spring Boot的权限管理系统,提供了丰富的功能模块和灵活的架构设计。主要版本包括:

  • 前后端混合版本:传统Web应用,适合快速开发

  • 前后端分离版本(RuoYi-Vue):SpringBoot + Vue.js,现代化开发首选

  • 微服务版本(RuoYi-Cloud):基于Spring Cloud的大型分布式系统

  • 移动端版本(RuoYi-App):Uniapp跨平台开发

技术栈推荐:RuoYi-Vue + Vue3 + Element Plus

二、环境搭建指南

Q2: 如何快速搭建若依开发环境?

环境要求

  • JDK 11、MySQL 8、Redis 5、Maven 3.6、Node 16

后端搭建步骤

bash

# 1. 克隆项目
git clone https://gitee.com/y_project/RuoYi-Vue.git

# 2. 创建数据库并导入SQL
create schema ry-vue;
# 执行 sql/ry_2024xxxx.sql

# 3. 修改数据库配置
# ruoyi-admin/resources/application-druid.yml
spring:
  datasource:
    druid:
      master:
        url: jdbc:mysql://localhost:3306/ry-vue
        username: root
        password: 123456

# 4. 配置Redis
# application.yml
redis:
  host: localhost
  port: 6379
  password: 123456

前端搭建步骤

bash

# 1. 克隆Vue3版本
git clone https://gitee.com/ys-gitee/RuoYi-Vue3.git

# 2. 安装依赖
npm install --registry=https://registry.npmmirror.com

# 3. 启动项目
npm run dev

三、代码生成器实战

Q3: 如何使用代码生成器快速开发业务模块?

以课程管理为例

  1. 准备数据表

sql

CREATE TABLE `course` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `code` varchar(50) DEFAULT NULL COMMENT '课程编码',
  `subject` varchar(50) DEFAULT NULL COMMENT '课程学科',
  `name` varchar(100) DEFAULT NULL COMMENT '课程名称',
  `price` decimal(10,2) DEFAULT NULL COMMENT '价格',
  PRIMARY KEY (`id`)
);
  1. 系统导入

    • 登录系统 → 系统工具 → 代码生成 → 导入课程表

  2. 配置生成信息

    • 设置字段描述、Java类型、查询方式、显示类型等

  3. 生成代码

    • 点击生成按钮,下载ruoyi.zip

    • 包含后端代码、前端代码、菜单SQL

  4. 导入代码

    • 执行菜单SQL

    • 后端代码复制到ruoyi-admin模块

    • 前端代码复制到ruoyi-ui模块

四、核心功能详解

Q4: 若依的权限系统是如何工作的?

RBAC模型

  • 用户 → 角色 → 权限(菜单权限)

  • 核心表:sys_user、sys_role、sys_menu、sys_user_role

权限控制流程

  1. 用户登录获取token

  2. 访问接口时通过@PreAuthorize注解校验权限

  3. 前端通过v-hasPermi指令控制按钮显示

创建用户权限示例

java

// 后端权限控制
@PreAuthorize("@ss.hasPermi('course:course:list')")
@GetMapping("/list")
public TableDataInfo list(Course course) {
    // ...
}

vue

<!-- 前端权限控制 -->
<el-button v-hasPermi="['course:course:add']">新增</el-button>

Q5: 数据字典如何使用?

应用场景:性别、状态、类型等静态数据

使用步骤

  1. 系统管理 → 字典管理 → 新增字典类型

  2. 添加字典数据

  3. 代码生成时选择字典类型

  4. 前端自动渲染下拉选项

Q6: 如何配置定时任务?

创建定时任务示例

java

// 1. 创建任务类
@Component("demoTask")
public class DemoTask {
    public void businessMethod() {
        System.out.println("执行时间:" + new Date());
    }
}

// 2. 系统监控 → 定时任务 → 新增
// 调用目标字符串:demoTask.businessMethod
// 执行表达式:0/5 * * * * ? (每5秒执行)

五、项目结构解析

Q7: 后端项目模块如何划分?

text

com.ruoyi
├── ruoyi-admin          // 后台服务模块(启动类)
├── ruoyi-common         // 通用工具模块
├── ruoyi-framework      // 框架核心模块
├── ruoyi-system         // 系统代码模块
├── ruoyi-generator      // 代码生成模块
└── ruoyi-quartz         // 定时任务模块

核心配置文件

  • application.yml:项目主配置

  • application-druid.yml:数据源配置

  • logback.xml:日志配置

Q8: 前端项目结构是怎样的?

text

ruoyi-vue3
├── src
│   ├── api              // 接口请求
│   ├── assets           // 静态资源
│   ├── components       // 公共组件
│   ├── router           // 路由配置
│   ├── store            // 状态管理
│   └── views            // 页面组件
├── package.json         // 项目配置
└── vue.config.js        // Vue配置

六、二次开发实战

Q9: 如何进行模块定制开发?

修改项目信息
使用若依框架修改器一键修改包名、项目名等

新建业务模块

  1. 在父工程下创建子模块

  2. 在父pom.xml中版本锁定

  3. 在ruoyi-admin中添加模块依赖

主子表开发示例(菜品管理)

sql

-- 主表:菜品信息
CREATE TABLE `dish` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(100) DEFAULT NULL COMMENT '菜品名称',
  `price` decimal(10,2) DEFAULT NULL COMMENT '售价',
  `status` tinyint DEFAULT '1' COMMENT '售卖状态',
  PRIMARY KEY (`id')
);

-- 子表:菜品口味
CREATE TABLE `dish_flavor` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `dish_id` bigint DEFAULT NULL COMMENT '菜品id',
  `name` varchar(50) DEFAULT NULL COMMENT '口味名称',
  `value` varchar(500) DEFAULT NULL COMMENT '口味列表',
  PRIMARY KEY (`id`)
);

Q10: 如何自定义页面样式和功能?

更换系统标识

  1. 替换public/favicon.icosrc/assets/logo/logo.png

  2. 修改index.html中的title

  3. 更新.env.development中的VITE_APP_TITLE

主题定制

javascript

// src/settings.js
module.exports = {
  title: '我的管理系统',
  theme: '#409EFF',
  sideTheme: 'theme-dark'
}

组件升级改造

  • 使用Element Plus组件增强用户体验

  • 集成OSS图片上传

  • 自定义字典渲染逻辑

七、常见问题解决

Q11: 项目启动常见问题?

  1. 依赖下载失败:配置Maven镜像源

  2. 数据库连接失败:检查MySQL服务、用户名密码

  3. Redis连接失败:检查Redis服务、密码配置

  4. 端口占用:修改server.port配置

  5. 前端依赖安装失败:使用npm镜像源

Q12: 代码生成后不生效?

  1. 执行Maven clean再重新启动

  2. 检查代码是否复制到正确位置

  3. 确认菜单SQL已执行

  4. 检查权限配置是否正确

学习建议

  1. 循序渐进:从环境搭建 → 代码生成 → 功能定制 → 源码理解

  2. 实战驱动:结合具体业务需求进行开发练习

  3. 源码学习:重点理解权限控制、数据流转等核心机制

  4. 社区参与:加入官方社区,关注版本更新和最佳实践

若依框架作为成熟的企业级开发平台,掌握其核心用法能够显著提升开发效率。建议在学习过程中多动手实践,遇到问题善用官方文档和社区资源。

进一步学习

  • 官方文档:https://doc.ruoyi.vip

  • 视频教程:黑马程序员若依框架课程

  • 实战项目:CRM系统、外卖管理系统等企业级应用

您可能感兴趣的与本文相关的镜像

Seed-Coder-8B-Base

Seed-Coder-8B-Base

文本生成
Seed-Coder

Seed-Coder是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体,由字节团队开源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值