应用生态
本页收录 RuoYi Plus Market 各应用的基本信息、形态与分类。
所有应用都来自各自插件目录下的 app.json 清单(如 RuoYi-Vue-Plus/plugins/ruoyi-mall/app.json)。 清单描述的是一个应用的全部可分发内容:应用编码与版本、入口产物(后端 jar / 前端 ESM)、 整棵菜单树(含按钮权限)、以及随包执行的迁移脚本。
本页数据由 npm run gen:apps 扫描各插件目录的清单生成,产物是 .vitepress/data/apps.json。要改数据请改清单,不要改本文档。
应用清单
| 应用 | 编码 | 版本 | 形态 | 菜单 | 后端类 | 一句话 |
|---|---|---|---|---|---|---|
| 企业数据 | enterprise | 1.0.1 | 前后端一体 | 共 8(页面 2 / 按钮 6) | 3 | 企业库:企业工商信息的查询、新增、修改、删除与 Excel 导入导出,并提供对外门户接口。 |
| 考试系统 | exam | 1.0.1 | 前后端一体 | 共 32(页面 7 / 按钮 25) | 14 | 考试系统:题库分类、题目、试卷、考试安排、考试记录与在线答题。 |
| 财务管理 | finance | 1.0.0 | 纯前端 | 共 4(页面 4 / 按钮 0) | 0 | 财务管理:聚合商城订单收款、售后退款与会员余额流水,提供财务流水 / 会员退款 / 会员收入三个财务视图。 |
| 图床管理 | gallery | 1.0.5 | 前后端一体 | 共 30(页面 7 / 按钮 23) | 16 | 多租户图床与相册:图片、分类、标签、相册、访问日志与存储配置。 |
| 即时通讯 | im | 1.0.0 | 前后端一体 | 共 71(页面 10 / 按钮 61) | 10 | 即时通讯:工作台、会话、消息、联系人、好友申请与群聊(含入群申请)。 |
| 商城管理 | mall | 1.0.1 | 前后端一体 | 共 176(页面 34 / 按钮 142) | 66 | 商城管理:商品与 SKU、订单与售后、营销活动、优惠券、商家与数据统计。 |
| 会员管理 | member | 1.0.1 | 前后端一体 | 共 68(页面 10 / 按钮 58) | 22 | 会员中心:会员档案、等级、余额、积分、成长值、徽章、签到与收货地址。 |
| 支付管理 | pay | 1.0.0 | 前后端一体 | 共 22(页面 5 / 按钮 17) | 21 | 支付中心:支付应用、支付渠道(支付宝 / 微信 / 余额)、支付订单与退款单。 |
| 报价管理 | quote | 1.0.1 | 前后端一体 | 共 16(页面 2 / 按钮 14) | 9 | 报价单与价格库:客户报价单、明细加价、税率运费、价格库导入导出。 |
| 社交互动 | social | 1.0.1 | 前后端一体 | 共 69(页面 14 / 按钮 55) | 27 | 社交互动:关注、收藏、评论、点赞、分享、拉黑与互动统计。 |
口径说明:
- 形态取清单的产物声明,不是"有没有菜单"——详见下面的「应用形态说明」。
- 菜单含顶层目录(
M)、页面(C)与页面下的按钮权限(F)三种节点, 因此"共 N"是整棵树的节点数。 - 后端类是该插件
backend/目录下的 Java 源文件数。清单里没有assets.backend时为 0。
按分类分组
业务管理
| 应用 | 顶层菜单 | 大概是干什么的 |
|---|---|---|
| 企业数据 | 企业数据 | 企业库:企业工商信息的查询、新增、修改、删除与 Excel 导入导出,并提供对外门户接口。 |
| 财务管理 | 财务管理 | 财务管理:聚合商城订单收款、售后退款与会员余额流水,提供财务流水 / 会员退款 / 会员收入三个财务视图。 |
| 报价管理 | 报价管理 | 报价单与价格库:客户报价单、明细加价、税率运费、价格库导入导出。 |
财务管理是一个跨应用聚合视图:它自己的菜单只有「财务流水 / 会员退款 / 会员收入」三个页面, 读的是商城与会员应用已有的接口,因此不单独提供后端产物。
在线教育
| 应用 | 顶层菜单 | 大概是干什么的 |
|---|---|---|
| 考试系统 | 考试系统 | 考试系统:题库分类、题目、试卷、考试安排、考试记录与在线答题。 |
菜单声明的二级节点:考试配置、题库分类、题目管理、试卷管理、考试安排、考试记录。
内容与媒体
| 应用 | 顶层菜单 | 大概是干什么的 |
|---|---|---|
| 图床管理 | 图床管理 | 多租户图床与相册:图片、分类、标签、相册、访问日志与存储配置。 |
菜单声明的二级节点:图床配置、分类管理、标签管理、图片管理、相册管理、图片访问日志。
协作与沟通
| 应用 | 顶层菜单 | 大概是干什么的 |
|---|---|---|
| 即时通讯 | 即时通讯 | 即时通讯:工作台、会话、消息、联系人、好友申请与群聊(含入群申请)。 |
菜单声明的二级节点:即使通信配置、工作台、会话管理、消息记录、联系人管理、好友申请、群聊管理、 群成员管理、入群申请。
电商
| 应用 | 顶层菜单 | 大概是干什么的 |
|---|---|---|
| 商城管理 | 商城管理 | 商城管理:商品与 SKU、订单与售后、营销活动、优惠券、商家与数据统计。 |
| 支付管理 | 支付管理 | 支付中心:支付应用、支付渠道(支付宝 / 微信 / 余额)、支付订单与退款单。 |
商城管理的菜单声明的二级节点:商城配置、商城统计总览、商品管理、订单管理、商家管理、营销管理、 优惠券管理、数据统计。支付管理的菜单声明的二级节点:支付应用、支付渠道、支付订单、退款订单。
用户运营
| 应用 | 顶层菜单 | 大概是干什么的 |
|---|---|---|
| 会员管理 | 会员管理 | 会员中心:会员档案、等级、余额、积分、成长值、徽章、签到与收货地址。 |
| 社交互动 | 社交互动 | 社交互动:关注、收藏、评论、点赞、分享、拉黑与互动统计。 |
会员管理的菜单声明的二级节点:会员列表、会员等级、会员收货地址、会员徽章、会员余额、会员积分、 会员成长值、会员徽章发放、会员每日签到。社交互动的菜单声明的二级节点:关注管理、互动管理。
关于"大概是干什么的"
这一列只取自清单的 summary 字段与清单里菜单的 name,不额外推断功能。 需要更细的功能清单时,请直接读该应用 app.json 的 menus。
工程规模
以下数字同样来自 apps.json:
| 指标 | 数值 |
|---|---|
| 应用总数 | 10 |
| 分类数 | 6 |
| 菜单节点总数 | 496(页面 95 / 按钮 401) |
| 后端 Java 源文件总数 | 188 |
| 迁移脚本总数 | 23 |
后端类数量少,说明抽离得比较彻底:应用的实体、BO / VO、Mapper 接口与 XML、Service 接口 都留在平台的 *-api 契约模块里(如 ruoyi-mall-api、ruoyi-gallery-api), 插件目录里只剩控制器、服务实现与监听器这一类真正的实现类。 契约在 reactor 内、实现在 plugins/ 下,消费方只编译契约,插件改实现不需要宿主重新编译。
因此上表按应用统计的 188 个类,不等于该应用在平台里的全部代码量;要理解一个应用由哪些部分 组成,请看 应用市场 与 插件运行时。
应用形态说明
清单用两个字段声明形态:assets.backend(后端 jar)与 assets.frontend(前端 ESM 入口)。 按这两个字段的有无,应用分为三种:
| 形态 | 清单声明 | 含义 |
|---|---|---|
| 前后端一体 | 两者都有 | 后端接口与前端页面都随包分发;当前 9 个应用是这种。 |
| 纯前端 | 只有 assets.frontend | 不提供后端产物,页面直接调用平台或其它应用已有的接口。财务管理是这种。 |
| 纯后端 | 只有 assets.backend | 只提供接口、没有页面。当前没有这种应用。 |
纯前端应用是合法形态,不是"还没写完"的中间状态:平台对 assets.backend 为空做了判空处理, 安装时仍然会把前端产物落位下来。打包侧同样支持——package.ps1 在清单只写了 assets.frontend 时会跳过后端构建与 jar 组装(因此也不需要 JDK 与 Maven)。
纯前端应用仍然需要 JDK 才能签名
跳过的只是后端构建。包签名工具是 Java 写的,发布时仍要执行签名, 所以打包机依然需要 JDK。
自己做一个应用
一个应用就是"一个插件目录 + 一份 app.json 清单 + 一份前端工程 + 若干迁移脚本"。 从清单字段含义、后端插件与远程前端工程的写法,到菜单声明、迁移脚本与本地调试, 完整步骤见 插件开发:
- 清单格式 ——
app.json每个字段的含义,包括assets与menus。 - 后端插件 与 前端远程应用 —— 两侧各自的工程结构与构建方式。
- 菜单声明 —— 菜单树怎么写进清单,以及它和权限标识的关系。
- 迁移脚本 与 种子数据 —— 表结构与应用自带数据随包分发。
- 本地开发 —— 不打包也能调试插件。
- 把宿主模块抽成应用 —— 已经写在宿主里的业务模块怎么搬出来。