+
RuoYi-Vue 与 RuoYi-App 是基于 SpringBoot2+Vue2 打造的企业级开发框架,得到了广大开发者的喜爱和积极反馈。随着技术的迭代进步,SpringBoot3 与 Vue3 逐渐进入开发者的视野。为了满足开发者对于新技术的追求,RuoYi 官方文档提供了 SpringBoot2 至 SpringBoot3 的升级方法。与此同时,社区也涌现出了 RuoYi-Vue3、RuoYi-App-Vue3 的版本,展现了开发者社区对于技术升级的热情与努力。
然而,在升级的过程中,官方的方法为了兼顾 Java1.8 的特性与一些老旧的方法,未完全拥抱SpringBoot3 与 Java17的全部特性。而社区的 RuoYi-Vue3、RuoYi-App-Vue3 版本由于出自不同的团队之手,兼容性及整合性上存在些许不足。更为关键的是,尽管这些版本支持 TypeScript,但缺乏与之相匹配的 tsconfig.json 配置文件,这使得在主流编辑器如 VSCode 中,TypeScript 的语法提示环境并未达到最佳状态。
鉴于此,RuoYi-Geek 生态应运而生。它旨在为广大开发者提供一个既保留原版本核心特性,又整合社区版优点的全新解决方案。在RuoYi-Geek中,我们深入调研了企业开发中常用的 RuoYi 扩展,并直接在框架中集成,确保开发者能够快速上手,高效开发。同时,我们采用了最新的SpringBoot3+Vue3技术栈,彻底移除了为了兼容 Java1.8 而保留的老旧方法。更为重要的是,我们为 TypeScript 开发环境加入了常用的 tsconfig.json 配置,使得开发者在 VSCode 等编辑器中能够获得更为舒适、便捷的语法提示体验。
RuoYi-Geek不仅仅是一个简单的升级版本,更是对于 RuoYi 生态的一次全面优化与整合。我们相信,通过RuoYi-Geek 生态,开发者将能够更为高效、愉悦地开发出优秀的企业级应用。
本项目为RuoYi-Geek 生态的 RuoYi-App 部分。 注意: 本人的其他两个推荐搭配的项目
与 Ruoyi-App 相比较
**注意:**node 版本需要 16+
一下三种方式均可,感觉速度 pnpm > yarn > cnpm > npm
Vue3/Vite 版要求 node 版本^14.18.0 || >=16.0.0
npm install
cnpm install
yarn
pnpm install
npm install
npm run dev:mp-weixin
以 H5 为例 npm run dev:h5
npm run build:mp-weixin
以 H5 为例: npm run build:h5
默认是启动代码压缩的,
如果需要关闭代码压缩,可以将 vite.config.js 中的 build.minify 赋值为 false。
如果需要打开代码压缩,可以将 vite.config.js 中的 build.minify 赋值为 true。
可以通过设置参数中的 config.data 来实现页面传参
方法 | 作用 | 参数 |
---|---|---|
getData | 可以拿到上个页面通过 tab 传递的参数 | 无 |
reLaunch | 关闭所有页面,打开到应用内的某个页面 | url、config |
switchTab | 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 | url、config |
redirectTo | 关闭当前页面,跳转到应用内的某个页面 | url、config |
navigateTo | 保留当前页面,跳转到应用内的某个页面 | url、config |
navigateBack | 关闭当前页面,返回上一页面或多级页面 | config |
下面所有方法返回值都是布尔值,permission 代表权限字符串,role 代表角色字符串,复数形式代表数组。
方法 | 作用 | 参数 |
---|---|---|
hasPermi | 验证用户是否具备某权限 | permission |
hasPermiOr | 验证用户是否含有指定权限,只需包含其中一个 | permissions |
hasPermiAnd | 验证用户是否含有指定权限,必须全部拥有 | permissions |
hasRole | 验证用户是否具备某角色 | role |
hasRoleOr | 验证用户是否含有指定角色,只需包含其中一个 | roles |
hasRoleAnd | roles | roles |
content 是消息内容,option 是详细配置。
方法 | 作用 | 参数 |
---|---|---|
msg | 消息提示 | content |
msgError | 错误消息 | content |
msgSuccess | 成功消息 | content |
hideMsg | 隐藏消息 | 无 |
alert | 弹出提示 | content |
confirm | 确认窗体 | content |
showToast | 提示信息 | option |
loading | 打开遮罩层,需要手动关闭遮罩层 | content |
closeLoading | 关闭遮罩层 | 无 |
eventName 是事件名称,eventFun 是事件处理函数,请尽量避免事件插件的使用,请在组件销毁是解绑素有该组件有关的事件,避免产生 bug。
方法 | 作用 | 参数 |
---|---|---|
$on | 绑定一个事件 | eventName、eventFun |
$off | 解绑一个事件 | eventName |
$emit | 触发一个事件 | eventName、...args |
设置项 enableUUID,是否启用基于 uuid 的消息处理机制,要求当发送的消息携带 uuid 字段时,返回的消息也要携带 uuid 字段。
设置项 enableEvent,是否启用基于事件的消息处理机制,要求当希望被事件处理函数处理的消息需要携带 event 字段。
方法 | 作用 | 参数 |
---|---|---|
connect | 连接 websocke,当连接成功后触发回调函数 | 最简单的用法就是传入{url:"ws://demo"} |
send | 发送信息,当 uuid 不为空且不为 false 时,当收到携带相同 uuid 的消息时触发回调函数,只触发一次。否则由默认处理函数处理。 | msg 消息内容,会被处理成 json 字符串 uuid 唯一标识符,可以手动传入,也可以设置为 true 当为 true 时会自动生成一个 uuid 并添加到 msg 中。 |
close | 关闭连接,会触发回调函数的内容,不会触发默认关闭事件的处理函数,也不会修改默认关闭事件的处理函数。 | 无 |
on | 监听事件,当收到携带 event 的消息时会调用回调函数。 | event 事件的名称 |
off | 取消监听事件 | |
onMessage | 定义默认监听事件 | callback 默认监听事件的处理函数 |
onError | 定义异常事件 | callback 默认异常事件的处理函数 |
onClose | 定义关闭事件 | callback 默认关闭事件的处理函数 |
this.$tab; // 建议使用this.$tab进行页面跳转,理由:便于在跳转前处理其他事务
this.$auth; // 建议使用this.$auth进行鉴权操作
this.$modal; // 建议使用this.$modal打开弹窗,理由:便于以后想要使用自定义弹窗
import tab from "@/plugins/tab"; // 建议使用tab进行页面跳转,理由:便于在跳转前处理其他事务
import auth from "@/plugins/auth"; // 建议使用auth进行鉴权操作
import modal from "@/plugins/modal"; // 建议使用modal打开弹窗,理由:便于以后想要使用自定义弹窗
// 也可以使用下面的方式
import { tab, auth, modal } from "@/plugins";
建议即便暂时不使用图表也不要删除它,以后可能会用到。
(主包最低 809kb 左右)
(占用主包 582kb 左右)
(占用主包 175kb 左右,不建议删除,以防以后会用)
(按需引入,没必要删除)
import uviewPlus from "uview-plus";
// ......
app.use(uviewPlus);
![]() |
![]() |
![]() |
![]() |
Vue3 官网; uniapp 官网; uView-plus 官网; uCharts 官网; RuoYi 官网;
联系我们:
QQ 交流群:744785891
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。