一个基于 RuoYi-Vue-Plus 的后端能力和 Soybean Admin 前端特性的智能化烟厂综合管理平台
2.0.0 版本已经正式发布(工作流版本请切换 flow 分支查看),但仍然建议:
- 在生产环境使用前进行充分测试
- 关注项目更新,及时获取最新版本
- 积极反馈问题,帮助我们快速迭代
后续规划
- 多语言国际化完善
- 性能优化和稳定性提升
如果对该项目感兴趣,可以给一个 Star 支持一下,谢谢!
请大家踊跃提交 PR 和 Issue,一起完善这个项目
本项目强制使用 pnpm 构建,详细请看 安装步骤及说明
后端需要替换代码生成模板与菜单 SQL,详细请看 代码生成与菜单更新
RuoYi-Plus-Soybean 是一个智能化烟厂综合管理平台,它结合了 RuoYi-Vue-Plus 的强大后端功能和 Soybean Admin 的现代化前端特性,为烟草企业提供了完整的生产与管理解决方案。
root
├── build # 构建配置和插件
│ ├── config # 构建配置文件
│ └── plugins # Vite 插件
├── docs # 文档和模板
│ ├── java # 代码生成工具类
│ └── template # 代码生成模板
├── packages # Monorepo包
│ ├── alova # 使用Alova的HTTP客户端实现
│ ├── axios # 使用Axios的HTTP客户端实现
│ ├── color # 颜色管理工具
│ ├── hooks # 可复用的Vue组合函数
│ ├── materials # UI组件和材料
│ ├── ofetch # 使用ofetch的HTTP客户端实现
│ ├── scripts # 构建和开发脚本
│ ├── uno-preset # UnoCSS预设配置
│ └── utils # 通用工具函数
├── public # 静态资源
├── src # 主应用源代码
│ ├── assets # 静态资源(图片、图标)
│ ├── components # 可复用的 Vue 组件
│ ├── constants # 应用常量
│ ├── enum # TypeScript 枚举
│ ├── hooks # Vue 组合函数
│ ├── layouts # 页面布局
│ ├── locales # 国际化
│ ├── plugins # Vue 插件
│ ├── router # Vue Router 配置
│ ├── service # API 服务
│ ├── store # Pinia 存储模块
│ ├── styles # 全局样式
│ ├── theme # 主题配置
│ ├── typings # TypeScript 类型定义
│ ├── utils # 工具函数
│ └── views # 页面组件
└── vite.config.ts # Vite 配置
克隆仓库bash git clone https://gitee.com/xlsea/ruoyi-plus-soybean.git cd ruoyi-plus-soybean
安装 pnpm (如果未安装)
npm install pnpm -g
设置淘宝镜像bash pnpm config set registry https://registry.npmmirror.com
安装依赖bash pnpm install
运行开发服务器bash pnpm dev
构建生产版本bash pnpm build
项目提供了代码生成工具和菜单SQL更新文件,在 docs 目录下:
docs/java 目录,如果没有修改过VelocityUtils.java文件,直接替换即可docs/template 目录,请在ruoyi-generator模块的resource/vm下新建 soy文件夹,并将所有模板拷贝至soy文件夹中菜单SQL更新
docs/sql 目录# 开发环境
pnpm dev
# 测试环境
pnpm dev:test
# 生产环境
pnpm dev:prod
# 构建生产版本
pnpm build
# 构建开发版本
pnpm build:dev
# 构建测试版本
pnpm build:test
# 预览构建
pnpm preview
# 类型检查
pnpm typecheck
# 代码规范检查并修复
pnpm lint
# 路由生成
pnpm gen-route
# 提交代码
pnpm commit
# 中文提交信息
pnpm commit:zh
# 依赖包更新
pnpm update-pkg
# 清理项目
pnpm cleanup
# 发布新版本
pnpm release
项目使用ESLint进行代码检查,遵循以下规范:
代码风格:
使用Pinia进行状态管理,模块位于src/store/modules目录:
- app: 应用全局状态
- theme: 主题配置
- route: 路由信息
- tab: 标签页管理
- auth: 认证信息
- dict: 字典管理
- notice: 通知管理
项目支持多种HTTP客户端实现:
const { data, loading, error } = useRequest(() => api.getData(params));
```
// 加载状态管理
import { useLoading } from '@sa/hooks';
const { loading, startLoading, endLoading } = useLoading();
// 表格管理
import { useTable } from '@/hooks/common/table';
const { tableData, loading, getPaginationData } = useTable(fetchTableData);
```
项目包含多种业务组件:
项目优先使用 UnoCSS 来实现样式:
<div class="flex flex-col items-center justify-center p-4 m-2 bg-blue-100 dark:bg-blue-800 rounded-md">
<span class="text-lg font-bold text-center">内容</span>
</div>
项目使用vue-i18n实现国际化支持:
// 在组件中使用
import { useI18n } from 'vue-i18n';
const { t } = useI18n();
console.log(t('common.confirm'));
git checkout -b feature/amazing-feature)git commit -m 'feat: add amazing feature')git push origin feature/amazing-feature)项目使用约定式提交规范:
feat: 新功能fix: 修复Bugdocs: 文档更新style: 代码风格调整refactor: 代码重构perf: 性能优化test: 测试代码chore: 构建或工具变动更多周边生态请翻阅 周边生态 文档。
加群前请先阅读一下内容:

添加作者微信备注:加群
作者为兼职做开源,平时还需要工作,如果帮到了您可以请作者吃个盒饭

捐赠列表已移至 捐赠列表