✨ mica-admin

一套代码,三个端:后端 · Web 管理端 · 移动 App

Spring BootJavaVueLicense

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

📦 模块导航

模块文档说明
mica-admin-server服务端Spring Boot 后端,含 framework / project 分层
mica-admin-webWeb 管理端Vben Admin 5.x 本地化(Vue 3 + Naive UI)
mica-admin-uniapp移动 Appuniapp x 跨端,iOS / Android / H5 / 小程序

🌿 分支说明

项目针对不同 Java 与 Spring Boot 版本提供两条长期维护分支:

分支JavaSpring Boot说明
mainJava 17Spring Boot 4.x主分支,推荐新项目使用
java8Java 8Spring 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

账号密码角色
admin123456超级管理员
mica123456普通用户

🏗️ 项目结构

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. 前置依赖

依赖版本备注
JDK17 / 8main 用 Java 17;java8 用 Java 8
Maven3.6+后端构建
Node.js18+前端 + App
pnpm9+前端 + App
MySQL5.7+导入 docs/database/mysql.sql
Redis6+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
WebVue 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
Appuniapp 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 —— 让 Java 开发更高效的瑞士军刀
  • vue-vben-admin —— Vue 3 中后台模板的天花板
  • uniapp —— 一套代码,8 端运行