如何在若依框架中自定义添加一个页面

news/2025/1/21 0:53:14/

 

目录

        前提条件:

1. 在 Vue 前端添加页面

2. 在 Spring Boot 后端添加页面

3. 数据交互(前后端)


再开发过程中,我们通常希望在 若依管理系统(RuoYi)中自定义添加一个页面,通常需要按照以下步骤操作。(适用于 Vue.js 前端Spring Boot 后端

前提条件:

  • 已经搭建好 若依框架 环境,并能够正常运行。
  • 已经熟悉 Vue.jsSpring Boot 的基本开发流程。

1. 在 Vue 前端添加页面

步骤 1:创建 Vue 组件

  1. src/views 目录下,创建一个新的文件夹和 Vue 文件,例如:src/views/customPage/CustomPage.vue

  2. 添加基本的 Vue 组件代码:

<template><div class="custom-page"><h1>自定义页面</h1><p>这是一个自定义的 Vue 页面。</p></div>
</template><script>
export default {name: "CustomPage"
}
</script><style scoped>
.custom-page {padding: 20px;
}
</style>

步骤 2:在路由中添加页面

  1. 打开 src/router/index.js,将新页面添加到 Vue 路由中:
import Vue from 'vue'
import Router from 'vue-router'
import Layout from '@/layout'// 引入新页面组件
import CustomPage from '@/views/customPage/CustomPage'Vue.use(Router)export const constantRoutes = [{path: '/',component: Layout,children: [{path: 'customPage',  // 新页面的路由地址name: 'CustomPage',component: CustomPage,  // 引入刚才创建的页面meta: { title: '自定义页面', icon: 'el-icon-edit' }  // 设置页面标题和图标}]}
]const createRouter = () => new Router({scrollBehavior: () => ({ y: 0 }),routes: constantRoutes
})const router = createRouter()export default router

步骤 3:在左侧菜单中添加路由

  1. 打开 src/layout/components/Sidebar.vue,在侧边栏菜单中添加自定义页面的菜单项:
<template><el-menu:default-active="activeIndex"class="el-menu-vertical-demo"background-color="#324157"text-color="#bfcbd9"active-text-color="#409EFF"><el-menu-item index="1"><router-link to="/customPage"><i class="el-icon-edit"></i><span slot="title">自定义页面</span></router-link></el-menu-item></el-menu>
</template>

步骤 4:重新编译并运行前端

在开发模式下运行 Vue 项目,使用命令:

npm run dev

然后访问 http://localhost:8080/customPage 即可查看自定义页面。


2. 在 Spring Boot 后端添加页面

步骤 1:创建 Controller

src/main/java/com/ruoyi/web/controller 下创建一个新的控制器类,例如:CustomPageController.java

package com.ruoyi.web.controller.system;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;@Controller
public class CustomPageController {@GetMapping("/customPage")public String customPage() {return "redirect:/index.html#/customPage";}
}

步骤 2:配置前端资源

如果你需要后端支持某些静态文件或前端接口,可以在 Spring Boot 中配置访问权限和静态资源的映射。

例如,在 application.ymlapplication.properties 中进行配置:

spring:resources:static-locations: classpath:/static/, file:/path/to/your/static/files/

步骤 3:后端数据接口(可选)

如果需要在自定义页面中展示动态数据,可以通过 @RestController 来实现数据接口:

package com.ruoyi.web.controller.system;import com.ruoyi.common.core.domain.AjaxResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class CustomPageDataController {@GetMapping("/api/customPageData")public AjaxResult getCustomPageData() {// 假设返回一个数据对象return AjaxResult.success("This is custom page data");}
}

3. 数据交互(前后端)

步骤 1:前端获取后端数据

  1. CustomPage.vue 中,使用 axios 请求后端接口:
<template><div class="custom-page"><h1>自定义页面</h1><p>{{ pageData }}</p></div>
</template><script>
import axios from 'axios'export default {name: "CustomPage",data() {return {pageData: ""}},created() {axios.get("/api/customPageData").then(response => {this.pageData = response.data.msg;}).catch(error => {console.log(error);})}
}
</script>

步骤 2:重新编译并运行

  1. 确保前端和后端都已经启动并正常运行。
  2. 访问自定义页面,检查数据是否正确展示。

总结

  1. 前端(Vue)

    • 创建一个新的 Vue 组件(如 CustomPage.vue)。
    • 在 Vue 路由中配置路由和菜单项。
    • 可根据需求从后端获取动态数据。
  2. 后端(Spring Boot)

    • 创建新的 Controller 类,处理页面请求。
    • 如果需要动态数据,提供 RESTful 接口。

通过这些步骤,你可以在若依框架中成功添加并自定义一个页面。


http://www.ppmy.cn/news/1564797.html

相关文章

Android SystemUI——CarSystemBar添加到窗口(十)

上一篇文章我们看到了车载状态栏 CarSystemBar 视图的创建流程,这里我们继续分析将车载状态栏添加到 Windows 窗口中。 一、添加状态栏到窗口 前面我们已经分析了构建视图对象容器和构建视图对象内容,接下来我们继续分析 attachNavBarWindows() 方法将视图对象添加到 Window…

02内存结构篇(D1_自动内存管理)

目录 一、内存管理 1. C/C程序员 2. Java程序员 二、运行时数据区 1. 程序计数器 2. Java虚拟机栈 3. 本地方法栈 4. Java堆 5. 方法区 运行时常量池 三、Hotspot运行时数据区 四、分配JVM内存空间 分配堆的大小 分配方法区的大小 分配线程空间的大小 一、内存管…

基于SSM实现的乡村振兴文化平台系统功能实现八

一、前言介绍&#xff1a; 1.1 项目摘要 农耕文明是广大群众在几千年的农业生产生活中智慧的结晶&#xff0c;不仅是乡土文化的核心和精髓&#xff0c;还是中华文明的起源和基因。因此&#xff0c;传承和发扬优秀乡村文化&#xff0c;是传承农耕文明的必然要求。 文化振兴是乡…

【Vim Masterclass 笔记19】S08L36 + L37:第八章 Vim 可视化模式同步练习(含点评课内容)

文章目录 S08L36 Exercise 10 - Visual Mode1 训练目标2 操作指令2.1. 打开 visual-practice.txt 文件2.2. 字符级可视化模式练习 Characterwise Visual Mode2.3. 文本行可视化模式练习 Linewise Visual Mode2.4. 区块级可视化模式练习 Blockwise Visual Mode 3 退出 Vim S08L3…

K近邻算法实战——电影分类算法

文章目录 一、k最近邻算法的原理二、k最近邻算法过程详解三、kNN算法的注意事项1. k值的选取2. 距离的度量(1)欧氏距离(2)曼哈顿距离(3)切比雪夫距离3. 特征归一化四、k最近邻算法案例分享1. 电影分类kNN算法实战五、kNN算法优缺点一、k最近邻算法的原理 简单来说,kNN可…

Rust 数据类型详解

一、标量类型&#xff08;Scalar Types&#xff09; 标量类型代表一个单独的值。Rust 中有四大基本标量类型&#xff1a;整数&#xff08;integer&#xff09;、浮点数&#xff08;floating-point number&#xff09;、布尔&#xff08;boolean&#xff09;和字符&#xff08;…

学习ASP.NET Core的身份认证(基于JwtBearer的身份认证6)

重新创建WebApi项目&#xff0c;安装Microsoft.AspNetCore.Authentication.JwtBearer包&#xff0c;将之前JwtBearer测试项目中的初始化函数&#xff0c;jwt配置类、token生成类全部挪到项目中。   重新编写login函数&#xff0c;之前测试Cookie和Session认证时用的函数适合m…

【RK3588 docker编译问题】

问题集合 问题1&#xff1a; 编译lunch出现问题 12:31:21 Build sandboxing disabled due to nsjail error. 12:31:22 Build sandboxing disabled due to nsjail error. In file included from build/make/core/config.mk:313: In file included from build/make/core/envset…