{"id":50855909,"url":"https://github.com/lujiafa/houtu-admin","last_synced_at":"2026-06-14T18:04:12.779Z","repository":{"id":350196057,"uuid":"1013010294","full_name":"lujiafa/houtu-admin","owner":"lujiafa","description":"Enterprise-level permission management system based on Houtu framework, with frontend-backend separation (Vue 3 + Spring Boot). Supports menu/role/user/organization/position permission control, MFA two-factor authentication, multiple layout modes, and Chinese/English internationalization.","archived":false,"fork":false,"pushed_at":"2026-06-08T07:34:39.000Z","size":556,"stargazers_count":34,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-06-08T09:21:57.797Z","etag":null,"topics":["admin-system","element-plus","enterprise","houtu","i18n","java","mfa","mybatis-plus","permission-management","redis","spring-boot","spring-security","vue3"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lujiafa.png","metadata":{"files":{"readme":"README-CN.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-03T08:16:17.000Z","updated_at":"2026-06-08T07:33:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lujiafa/houtu-admin","commit_stats":null,"previous_names":["lujiafa/houtu-admin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lujiafa/houtu-admin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujiafa%2Fhoutu-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujiafa%2Fhoutu-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujiafa%2Fhoutu-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujiafa%2Fhoutu-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lujiafa","download_url":"https://codeload.github.com/lujiafa/houtu-admin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujiafa%2Fhoutu-admin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34331849,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin-system","element-plus","enterprise","houtu","i18n","java","mfa","mybatis-plus","permission-management","redis","spring-boot","spring-security","vue3"],"created_at":"2026-06-14T18:04:11.859Z","updated_at":"2026-06-14T18:04:12.754Z","avatar_url":"https://github.com/lujiafa.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Houtu Admin (后土管理平台)\n\n**基于 Houtu 框架的企业级权限管理系统**\n\n[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![JDK](https://img.shields.io/badge/JDK-17+-green.svg)](https://openjdk.org/)\n[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.5.x-brightgreen.svg)](https://spring.io/projects/spring-boot)\n[![Vue](https://img.shields.io/badge/Vue-3.x-4FC08D.svg)](https://vuejs.org/)\n[![Element Plus](https://img.shields.io/badge/Element%20Plus-latest-409EFF.svg)](https://element-plus.org/)\n\n前后端分离的权限管理系统，实现菜单、角色、用户、岗位、组织等一体化权限控制，满足企业级管理平台需求。\n\n[功能特性](#-功能特性) | [界面预览](#-界面预览) | [技术架构](#-技术架构) | [快速开始](#-快速开始) | [项目结构](#-项目结构) | [参与贡献](#-参与贡献)\n\n[English](README.md) | 中文\n\n\u003c/div\u003e\n\n---\n\n## 界面预览\n\n### 登录页\n![登录页](docs/images/login.png)\n\n### MFA 双因素认证\n![MFA 认证](docs/images/login-mfa.png)\n\n### 主页面\n![主页面](docs/images/index.png)\n\n### 个人中心\n![个人中心](docs/images/my.png)\n\n---\n\n## 功能特性\n\n### 权限管理\n- **用户管理** — 用户增删改查、状态管理、密码重置\n- **角色管理** — 角色分配、菜单权限绑定、数据权限控制\n- **菜单管理** — 多级菜单配置、按钮级权限控制、动态路由\n- **组织管理** — 树形组织架构、部门层级管理\n- **岗位管理** — 岗位编码与名称维护、用户岗位分配\n\n### 系统管理\n- **字典管理** — 系统字典类型与数据维护，支持状态控制\n- **参数管理** — 系统参数配置、动态修改\n- **公告管理** — 系统公告发布与查看\n\n### 安全 \u0026 审计\n- **登录认证** — 基于 Spring Security，支持图形验证码（Kaptcha）\n- **MFA 双因素认证** — 集成 Google Authenticator（OTP），通过 `spring.security.mfa=true` 开启（默认关闭），开启后登录需二次验证，支持扫码绑定\n- **登录日志** — 记录登录时间、IP、状态等信息\n- **操作日志** — 关键操作审计追踪\n\n### 体验增强\n- **多布局模式** — 支持正常模式、全屏模式、移动端模式，适配不同使用场景\n- **国际化 (i18n)** — 中英文双语切换，基于 Vue I18n\n- **字号切换** — 支持大、中、小三档字号，适应不同用户视觉偏好\n- **Swagger 文档** — 基于 SpringDoc OpenAPI，接口文档自动生成\n\n---\n\n## 技术架构\n\n```\n┌──────────────────────── 前端 (mp-web) ────────────────────────┐\n│  Vue 3 + Element Plus + Pinia + Vue Router + Vue I18n + Vite  │\n└───────────────────────────────┬────────────────────────────────┘\n                                │ RESTful API\n┌───────────────────────────────┼──── 后端 (mp) ────────────────────────────┐\n│                               │                                           │\n│  ┌─── 安全层 ─────────┐  ┌─── 数据层 ─────────┐  ┌─── 基础设施 ──────┐  │\n│  │ Spring Security    │  │ MyBatis Plus      │  │ Redis (缓存/会话) │  │\n│  │ Session (Redis)    │  │ MySQL             │  │ Caffeine (L2缓存) │  │\n│  │ Kaptcha 验证码     │  │ HikariCP 连接池    │  │ Log4j2 日志       │  │\n│  │ Google Auth (MFA)  │  └────────────────────┘  └───────────────────┘  │\n│  └────────────────────┘                                                  │\n│                                                                          │\n│  ┌─── Houtu 框架 ────────────────────────────────────────────────────┐   │\n│  │ houtu-web (统一参数解析/响应封装/异常处理)                          │   │\n│  │ houtu-web-swagger (SpringDoc OpenAPI 文档增强)                     │   │\n│  └───────────────────────────────────────────────────────────────────┘   │\n└──────────────────────────────────────────────────────────────────────────┘\n```\n\n### 前端技术栈\n\n| 技术 | 说明 |\n|------|------|\n| Vue 3 | 渐进式 JavaScript 框架 |\n| Element Plus | Vue 3 UI 组件库 |\n| Pinia | Vue 状态管理 |\n| Vue Router | 前端路由 |\n| Vue I18n | 国际化 |\n| Vite 5 | 下一代前端构建工具 |\n| Axios | HTTP 客户端 |\n| Iconify | 图标解决方案 |\n\n### 后端技术栈\n\n| 技术 | 说明 |\n|------|------|\n| JDK 17 | Java 运行环境 |\n| Spring Boot 3.5.x | 应用框架 |\n| Spring Security | 安全框架 |\n| Spring Session | 分布式会话管理 |\n| MyBatis Plus | ORM 增强框架 |\n| Redis + Lettuce | 缓存 \u0026 会话存储 |\n| MySQL | 关系型数据库 |\n| [Houtu](https://github.com/lujiafa/houtu-dependencies) | 企业级 Java 基础框架 |\n\n---\n\n## 快速开始\n\n### 环境要求\n\n| 环境 | 版本 |\n|------|------|\n| JDK | 17+ |\n| Maven | 3.8+ |\n| Node.js | 18+ |\n| MySQL | 8.0+ |\n| Redis | 6.0+ |\n\n### 1. 克隆项目\n\n```bash\ngit clone https://github.com/lujiafa/houtu-admin.git\ncd houtu-admin\n```\n\n### 2. 初始化数据库\n\n创建 MySQL 数据库并导入初始化脚本：\n\n```bash\nmysql -u root -p \u003c docs/sql/base.sql\n```\n\n### 3. 启动后端\n\n```bash\ncd mp\n\n# 修改数据库和 Redis 连接配置\n# 编辑 src/main/resources/application-dev.yml\n\n# 启动\nmvn spring-boot:run\n```\n\n后端服务默认启动在 `http://localhost:9090`。\n\n### 4. 启动前端\n\n```bash\ncd mp-web\n\nnpm install\n\nnpm run serve:dev\n```\n\n前端服务默认启动在 `http://localhost:81`。\n\n---\n\n## 项目结构\n\n```\nhoutu-admin\n├── mp/                          # 后端 (Spring Boot)\n│   └── src/main/java/\n│       └── com/xx/mp/\n│           ├── aspect/          # AOP 切面\n│           ├── config/          # 配置类\n│           │   └── security/    # Spring Security 配置\n│           ├── module/\n│           │   ├── base/        # 基础模块 (登录/菜单/用户中心/MFA)\n│           │   └── sys/         # 系统管理模块\n│           │       ├── controller/  # 接口层\n│           │       ├── dao/         # 数据访问层\n│           │       ├── entity/      # 实体类\n│           │       ├── service/     # 业务逻辑层\n│           │       └── vo/          # 视图对象\n│           ├── support/         # 通用支撑\n│           └── util/            # 工具类\n├── mp-web/                      # 前端 (Vue 3)\n│   └── src/\n│       ├── components/          # 公共组件\n│       ├── layout/              # 布局组件\n│       ├── locale/              # 国际化资源\n│       ├── router/              # 路由配置\n│       ├── store/               # Pinia 状态管理\n│       ├── utils/               # 工具函数\n│       └── views/               # 页面视图\n│           ├── UserManage/      # 用户管理\n│           ├── RoleManage/      # 角色管理\n│           ├── MenuManage/      # 菜单管理\n│           ├── OrgManage/       # 组织管理\n│           ├── PostManage/      # 岗位管理\n│           ├── DictManage/      # 字典管理\n│           ├── ParamsManage/    # 参数管理\n│           ├── Announcement/    # 公告管理\n│           ├── LoginLog/        # 登录日志\n│           ├── OptLog/          # 操作日志\n│           └── ...\n└── docs/\n    └── sql/                     # 数据库脚本\n        └── base.sql\n```\n\n---\n\n## 关联项目\n\n| 项目 | 说明 |\n|------|------|\n| [houtu-dependencies](https://github.com/lujiafa/houtu-dependencies) | Houtu 基础框架 — 提供 Web 增强、缓存、安全、Spring Cloud 扩展等企业级基础设施 |\n\n---\n\n## 参与贡献\n\n欢迎各种形式的贡献：\n\n- **报告问题** — 使用 [Issues](https://github.com/lujiafa/houtu-admin/issues) 提交 Bug 或功能建议\n- **提交代码** — Fork 仓库 → 创建功能分支 → 提交 Pull Request\n- **完善文档** — 修正错误、补充示例、改进说明\n- **测试反馈** — 在不同环境下测试并反馈兼容性\n\n---\n\n## 许可证\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flujiafa%2Fhoutu-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flujiafa%2Fhoutu-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flujiafa%2Fhoutu-admin/lists"}