每次启动一个新的后台管理项目,我们似乎都在重复完成相同的工作:
用户、角色、菜单、部门、字典、文件管理、操作日志、登录认证、按钮权限……
这些功能并不新鲜,却几乎是每个企业级项目绕不开的基础设施。更麻烦的是,当系统还需要同时支持 Web 管理端、移动 App 和小程序时,认证流程、权限模型和接口规范往往又要重新适配一遍。
为了解决这些重复问题,我们持续维护并开源了 mica-admin。
mica-admin 是一套面向中小团队和企业应用的模块化单体权限管理平台,集成 Spring Boot 后端、Vue 3 Web 管理端和 uniapp x 移动端,可以直接作为新项目的基础框架,也可以用于现有业务系统的二次开发。
为什么选择 mica-admin?
1. 后端、Web、移动端统一管理
mica-admin 采用 mono-repo 方式组织代码,在一个仓库中同时维护:
- Spring Boot 后端服务
- Vue 3 Web 管理端
- uniapp x 移动 App
- 数据库脚本与部署工具
三端共用同一套用户、角色、菜单和权限模型。
管理员在后台配置的菜单与按钮权限,可以被 Web 端和移动端统一消费,减少多端开发中权限逻辑重复实现的问题。
项目结构清晰,后端负责认证、授权和业务接口,Web 端用于系统管理,移动端则可以构建 Android、iOS、H5 和微信小程序等应用。
2. 开箱即用的 RBAC 权限体系
权限管理是 mica-admin 的核心能力。
系统已经提供:
- 用户管理
- 角色管理
- 菜单管理
- 部门管理
- 字典管理
- 按钮级权限控制
- JWT 登录认证
- RSA 密码加密
- 算术图形验证码
- 登录与操作日志
后端基于 Spring Security 和 JWT 完成身份认证,前端通过动态路由和权限指令控制菜单、页面及按钮的访问范围。
对于新项目来说,不需要重新设计一套登录和权限体系,只需要在现有能力上增加业务模块即可。
3. 同时提供 Java 17 和 Java 8 版本
考虑到新项目与存量系统的运行环境不同,mica-admin 提供两条长期维护分支:
| 分支 | Java | Spring Boot | 适用场景 |
|---|---|---|---|
main | Java 17 | Spring Boot 4.x | 推荐新项目使用 |
java8 | Java 8 | Spring Boot 2.7.x | 兼容仍运行在 Java 8 环境中的项目 |
新项目可以直接选择 main,使用更新的 Java 与 Spring Boot 技术栈;已有 Java 8 基础设施的团队,也可以从 java8 分支平滑开始。
# Java 17 + Spring Boot 4.x
git switch main
# Java 8 + Spring Boot 2.7.x
git switch java8
两条分支保持相近的项目结构和使用方式,降低升级或迁移成本。
4. Vue 3 + Vben Admin 5.x 管理端
Web 管理端基于 Vue 3、TypeScript、Vite、Pinia 和 Naive UI 构建,并将 Vben Admin 5.x 框架源码本地化到项目中。
主要技术包括:
- Vue 3
- TypeScript
- Vite
- Pinia
- Naive UI
- Tailwind CSS
- Vue I18n
- ECharts
- VxeTable
动态菜单由后端权限数据驱动,页面路由可以根据用户权限自动生成。项目也对 mica-admin 后端的登录、验证码、RSA 加密和接口响应格式进行了完整适配。
5. uniapp x 移动端支持
除了传统的后台管理页面,mica-admin 还提供独立的 uniapp x 移动端工程。
移动端复用后端的认证流程与 RBAC 权限模型,可以面向以下平台进行开发:
- Android
- iOS
- H5
- 微信小程序
项目预留了独立的二次开发目录,通用模块与业务扩展相互隔离,方便团队持续升级基础能力,同时减少业务代码与框架代码之间的冲突。
6. 适合二次开发的模块化结构
mica-admin 采用模块化单体架构。
相比一开始就引入复杂的微服务体系,模块化单体更容易开发、调试和部署,也更适合中小团队快速交付业务。
后端将公共能力、框架能力和业务模块分开组织:
common 公共常量与基础定义
framework Security、JWT、MyBatis、日志等框架能力
project 用户、角色、菜单及其他业务模块
新增业务时,可以在业务模块中独立扩展,避免直接修改底层框架代码。
当项目规模真正需要服务拆分时,清晰的模块边界也能为后续演进提供基础。
7. 代码生成与低代码能力
项目集成 MyBatis-Plus 代码生成器,可以根据数据库表生成常用的后端代码结构,包括:
- Entity
- Mapper
- Service
- Controller
同时,项目还集成了 Magic-API,可用于部分接口的快速开发和管理。
这些能力并不是为了替代正常的软件设计,而是希望减少重复模板代码,让开发者把更多时间放在真正的业务逻辑上。
8. 构建和部署更加简单
开发环境下,可以分别启动后端和 Web 管理端:
# 启动后端
mvn spring-boot:run -Dspring-boot.run.profiles=dev
# 启动 Web 管理端
cd mica-admin-web
pnpm install
pnpm dev
生产环境可以通过 Maven Profile 同时构建前后端:
mvn clean package -Pprod -U -Dmaven.test.skip=true
构建完成后,前端资源会被打入后端 Jar,部署时只需要管理一个服务进程。
项目还提供了基于 systemd 的启动脚本和一键发布脚本,适合传统服务器部署场景。
mica-admin 适合哪些项目?
mica-admin 比较适合以下场景:
- 企业内部管理系统
- SaaS 产品管理后台
- CRM、ERP、OA 等业务系统
- 物联网设备管理平台
- 同时需要 Web 和移动端的项目
- 希望快速搭建 RBAC 权限体系的团队
- 仍需兼容 Java 8 的存量系统
- 准备使用 Java 17 和 Spring Boot 4.x 的新项目
如果你的项目需要的是一套结构清晰、能够直接开发业务、又不过度复杂的后台基础框架,mica-admin 会是一个值得尝试的选择。
在线体验
在线演示:admin.dreamlu.net
演示账号:
管理员:admin / 123456
普通用户:mica / 123456
请勿在演示环境中录入敏感或真实业务数据。
项目地址
GitHub:github.com/lets-mica/m…
Gitee:gitee.com/dreamlu/mic…
开源协议:Apache License 2.0。
如果 mica-admin 对你的项目有所帮助,欢迎点一个 Star、提交 Issue 或参与 PR。也欢迎基于它构建自己的业务系统,并将使用体验反馈给我们。
让基础能力保持稳定,让团队把时间留给真正有价值的业务。