---
url: https://www.dreamlu.net/mica-admin.md
---

# ✨ mica-admin

> 一套代码，三个端：**后端 · Web 管理端 · 移动 App**

[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-4.x-6DB33F?logo=springboot\&logoColor=white)](https://spring.io/projects/spring-boot)
[![Java](https://img.shields.io/badge/Java-17%2B-ED8B00?logo=openjdk\&logoColor=white)](https://www.java.com)
[![Vue](https://img.shields.io/badge/Vue-3.5-4FC08D?logo=vue.js\&logoColor=white)](https://vuejs.org)
[![License](https://img.shields.io/badge/license-Apache%202.0-green)](https://github.com/lets-mica/mica-admin/blob/main/LICENSE)

`mica-admin` 是一个面向中小团队的**全栈低代码权限管理平台**，把企业日常需要的**用户 / 角色 / 菜单 / 部门 / 字典 / 文件 / 监控 / 通知**全部集成在一起，定位为通用后台系统。

## 📦 模块导航

| 模块 | 文档 | 说明 |
| ---- | ---- | ---- |
| mica-admin-server | [服务端](/mica-admin/server/) | Spring Boot 后端，含 framework / project 分层 |
| mica-admin-web | [Web 管理端](/mica-admin/web/) | Vben Admin 5.x 本地化（Vue 3 + Naive UI） |
| mica-admin-uniapp | [移动 App](/mica-admin/uniapp/) | 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/`。

## 🖼️ 在线演示

👉 **<https://admin.dreamlu.net>**

| 账号 | 密码 | 角色 |
| ---- | ---- | ---- |
| `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.sql
```

### 2. 启动后端

```bash
mvn spring-boot:run -Dspring-boot.run.profiles=dev
# 监听 8080，API 文档: http://localhost:8080/doc.html
```

### 3. 启动 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 文件存储（可插拔） |

## 🤝 贡献

1. Fork → 2. Feature Branch → 3. Commit → 4. PR
2. 后端改动请补单测（`mvn test -Dtest=ClassName#methodName`）
3. 前端改动请跑 `pnpm typecheck` + `pnpm lint`

## 📜 开源协议

Apache License 2.0

## 🌟 致谢

* [mica](/mica/) —— 让 Java 开发更高效的瑞士军刀
* [vue-vben-admin](https://github.com/vbenjs/vue-vben-admin) —— Vue 3 中后台模板的天花板
* [uniapp](https://uniapp.dcloud.net.cn) —— 一套代码，8 端运行
