✨ mica-admin
一套代码,三个端:后端 · Web 管理端 · 移动 App
mica-admin 是一个面向中小团队的全栈低代码权限管理平台,把企业日常需要的用户 / 角色 / 菜单 / 部门 / 字典 / 文件 / 监控 / 通知全部集成在一起,定位为通用后台系统。
📦 模块导航
| 模块 | 文档 | 说明 |
|---|---|---|
| mica-admin-server | 服务端 | Spring Boot 后端,含 framework / project 分层 |
| mica-admin-web | Web 管理端 | Vben Admin 5.x 本地化(Vue 3 + Naive UI) |
| mica-admin-uniapp | 移动 App | uniapp x 跨端,iOS / Android / H5 / 小程序 |
🌿 分支说明
项目针对不同 Java 与 Spring Boot 版本提供两条长期维护分支:
| 分支 | Java | Spring Boot | 说明 |
|---|---|---|---|
main | Java 17 | Spring Boot 4.x | 主分支,推荐新项目使用 |
java8 | Java 8 | Spring Boot 2.7.18 | 兼容分支,适合仍需运行在 Java 8 的项目 |
bash
# 推荐:Java 17 + Spring Boot 4.x
git switch main
# 兼容:Java 8 + Spring Boot 2.7.x
git switch java8两个分支的构建与启动方式一致;开始开发前请确认本地 JDK 版本与所选分支匹配。
🎯 核心亮点
1. 三端一套代码,权限完全打通
- Web 端 / App 端 / 后端共用 RBAC 模型(
sys_user/sys_role/sys_menu) - 后台给用户配什么菜单/按钮,App 端就显示什么
- JWT 鉴权贯通三端
2. 🛠️ 代码生成器
跑一次 main() 就生成完整的 Controller / Service / Mapper / Vue 页面:
java
// mica-admin-server/src/test/java/.../generator/MysqlAutoGenerator.java
strategyConfig.addInclude("sys_user", "sys_role");3. 🚀 一键部署
bash
./deploy.sh
# 自动: mvn package → scp 到远端 host=tx → 远端 restartd → 清理本地包服务用 systemd 托管(script/start.sh),开箱即用。
4. 🔌 二次开发友好
通用模块不修改,二次开发只新增。App 端把扩展点统一放在 modules/extension/,后端按业务新建包即可,完全不碰 framework/。
🖼️ 在线演示
| 账号 | 密码 | 角色 |
|---|---|---|
admin | 123456 | 超级管理员 |
mica | 123456 | 普通用户 |
🏗️ 项目结构
mica-admin/ # mono-repo (单 git 仓库)
├── mica-admin-server/ # Spring Boot 后端
│ └── net.dreamlu.mica.admin
│ ├── common/ 公共常量 (ApiCode 等)
│ ├── framework/ 框架核心 (Security / MyBatis / AOP / JWT)
│ └── project/ 业务模块 (用户 / 角色 / 菜单 / 部门 / 字典 ...)
│
├── mica-admin-web/ # Web 管理端 (Vben Admin 5.x 本地化)
│ ├── src/ 业务代码
│ └── vben/ 本地化的 Vben 框架源码
│
├── mica-admin-uniapp/ # 移动 App (uniapp x)
│ └── src
│ ├── modules/auth 登录 (通用)
│ └── modules/extension 二次开发只新增
│
├── docs/ 设计文档 (App / 数据库)
├── deploy.sh 一键部署脚本
├── script/ systemd 服务脚本
└── AGENTS.md AI 编码助手规则三端同仓是为了让 AI 编码时「看见完整上下文」,便于跨模块协作。
mica-admin-uniapp/不进 Maven,是独立 npm 工程。
🚀 快速开始
0. 前置依赖
| 依赖 | 版本 | 备注 |
|---|---|---|
| JDK | 17 / 8 | main 用 Java 17;java8 用 Java 8 |
| Maven | 3.6+ | 后端构建 |
| Node.js | 18+ | 前端 + App |
| pnpm | 9+ | 前端 + App |
| MySQL | 5.7+ | 导入 docs/database/mysql.sql |
| Redis | 6+ | localhost:6379 |
1. 初始化数据库
bash
mysql -u root -p < docs/database/mysql.sql2. 启动后端
bash
mvn spring-boot:run -Dspring-boot.run.profiles=dev
# 监听 8080,API 文档: http://localhost:8080/doc.html3. 启动 Web 端 / App 端
bash
# Web 端
cd mica-admin-web && pnpm install && pnpm dev # http://localhost:5888
# App 端
cd mica-admin-uniapp && pnpm install && pnpm dev:h5 # http://localhost:5889各端详细说明见上方「模块导航」对应的子模块文档。
4. 生产构建
bash
# 后端 + 前端 一起打成 fat jar
mvn clean package -Pprod -U -Dmaven.test.skip=true🚚 技术栈
| 端 | 技术栈 |
|---|---|
| 后端 | Spring Boot 4.x(main)/ 2.7.x(java8)· Spring Security · MyBatis-Plus · Druid · Redis · JWT · RSA · Undertow · Log4j2 · mica-captcha · mica-openapi · dromara x-file-storage |
| Web | Vue 3.5 + TypeScript 5.7 + Vite 6 + Pinia 3 + Naive UI 2.44 + Tailwind CSS 4 · Vben Admin 5.x(本地化到 vben/)· Vue I18n · ECharts · VxeTable |
| App | uniapp x · Vue 3.4 + TypeScript 5 + Pinia 2 + Vite 5 · uni-ui · dayjs · pinia-plugin-persistedstate |
| 存储 | MySQL 5.7+ · Redis 6+ · 本地 / OSS 文件存储(可插拔) |
🤝 贡献
- Fork → 2. Feature Branch → 3. Commit → 4. PR
- 后端改动请补单测(
mvn test -Dtest=ClassName#methodName) - 前端改动请跑
pnpm typecheck+pnpm lint
📜 开源协议
Apache License 2.0
🌟 致谢
- mica —— 让 Java 开发更高效的瑞士军刀
- vue-vben-admin —— Vue 3 中后台模板的天花板
- uniapp —— 一套代码,8 端运行