🚀 sqdaxiang Framework
📖 项目简介
SqDaXiang Framework 是一个现代化的企业级权限管理系统,采用最新的技术栈构建。
🎯 设计理念
- 🏗️ 模块化架构: 采用DDD领域驱动设计,按业务模块清晰划分
- 🔐 安全优先: 基于Sa-Token的轻量级权限认证体系
- 🎨 现代化UI: Vue3 + TypeScript + Element Plus 构建的响应式界面
- ⚡ 高性能: SpringBoot 3.x + MyBatis-Plus + Redis 高效数据处理
- 📱 移动友好: 支持PC端和移动端的响应式设计
✨ 核心特性
🔒 权限认证系统
- 多层级权限控制: 用户 → 角色 → 权限 → 菜单的完整权限体系
- 数据权限过滤: 基于组织架构的数据访问控制
- 登录安全策略: 失败锁定、密码强度校验、会话管理
- 激活码机制: 管理员激活码注册,确保用户来源可控
🏢 组织架构管理
- 树形组织结构: 支持多级组织架构管理
- 组织码关联: 用户注册时可选择组织归属
- 角色权限继承: 基于组织层级的权限继承机制
📊 系统监控与日志
- 操作日志记录: 完整的用户操作轨迹追踪
- 系统性能监控: Druid数据库连接池监控
- 接口文档: Knife4j自动生成的API文档
💾 数据管理
- 智能备份: 用户级和系统级数据备份策略
- 文件存储: 统一的文件上传下载管理
- 数据恢复: 安全的数据回滚机制
🏗️ 项目架构
后端模块结构
sqdaxiang-framework/
├── 📦 framework-common/ # 🔧 通用工具模块
│ ├── annotation/ # 自定义注解
│ ├── base/ # 基础实体类
│ ├── constant/ # 系统常量
│ ├── enums/ # 枚举定义
│ ├── exception/ # 异常体系
│ ├── result/ # 统一响应结果
│ └── utils/ # 工具类库
│ ├── PasswordUtil # 密码加密工具
│ ├── IpAddressUtil # IP地址解析
│ └── TimeFormatUtil # 时间格式化
│
├── 📦 framework-core/ # ⚙️ 核心配置模块
│ ├── config/ # 系统配置
│ │ ├── SaTokenConfig # 权限认证配置
│ │ ├── MyBatisPlusConfig # ORM配置
│ │ ├── RedisConfig # 缓存配置
│ │ └── Knife4jConfig # API文档配置
│ ├── handler/ # 全局处理器
│ │ └── GlobalExceptionHandler # 全局异常处理
│ └── interceptor/ # 拦截器
│
├── 📦 framework-system/ # 🏢 系统管理模块
│ └── modules/ # 业务模块(DDD设计)
│ ├── user/ # 👤 用户管理
│ ├── role/ # 🎭 角色管理
│ ├── menu/ # 📋 菜单管理
│ ├── org/ # 🏢 组织管理
│ ├── permission/ # 🔐 权限管理
│ └── log/ # 📊 日志管理
│
├── 📦 framework-auth/ # 🔐 认证授权模块
│ ├── controller/ # 认证接口
│ ├── service/ # 认证服务
│ └── domain/ # 认证对象
│
├── 📦 framework-dev/ # 🛠️ 开发工具模块
│ ├── backup/ # 数据备份
│ ├── file/ # 文件管理
│ └── generator/ # 代码生成
│
└── 📦 framework-admin/ # 🚀 启动模块
├── FrameworkApplication.java # 应用启动类
└── resources/ # 配置资源
└── application.yml # 主配置文件
前端项目结构
frontend/
├── 📁 src/
│ ├── 🎨 assets/ # 静态资源
│ ├── 🧩 components/ # 通用组件
│ │ ├── AccountForm/ # 账户表单组件
│ │ ├── ParticleNetwork/ # 粒子背景组件
│ │ └── ui/ # UI组件库
│ ├── 📱 views/ # 页面视图
│ │ ├── login/ # 登录页面
│ │ ├── system/ # 系统管理页面
│ │ │ ├── user/ # 用户管理
│ │ │ ├── role/ # 角色管理
│ │ │ ├── menu/ # 菜单管理
│ │ │ ├── org/ # 组织管理
│ │ │ ├── logs/ # 日志管理
│ │ │ ├── file/ # 文件管理
│ │ │ └── backup/ # 数据备份
│ │ └── index.vue # 主页仪表盘
│ ├── 🛣️ router/ # 路由配置
│ ├── 🗄️ stores/ # 状态管理
│ ├── 🔧 utils/ # 工具函数
│ └── 🎨 styles/ # 样式文件
├── 📄 package.json # 项目依赖
└── ⚙️ vite.config.ts # 构建配置
🛠️ 技术栈
🔧 后端技术栈
| 分类 | 技术 | 版本 | 说明 |
|---|---|---|---|
| 核心框架 | SpringBoot | 3.2.1 | 企业级应用框架 |
| 运行环境 | JDK | 17 | Java运行环境 |
| 权限认证 | Sa-Token | 1.44.0 | 轻量级权限认证框架 |
| ORM框架 | MyBatis-Plus | 3.5.5 | 增强版MyBatis |
| 数据库 | MySQL | 8.0+ | 关系型数据库 |
| 缓存 | Redis | 7.0+ | 内存数据库 |
| 连接池 | Druid | 1.2.21 | 数据库连接池 |
| 工具库 | Hutool | 5.8.25 | Java工具类库 |
| API文档 | Knife4j | 4.5.0 | Swagger增强版 |
| 代码简化 | Lombok | 1.18.30 | 注解处理器 |
🎨 前端技术栈
| 分类 | 技术 | 版本 | 说明 |
|---|---|---|---|
| 核心框架 | Vue | 3.5.22 | 渐进式JavaScript框架 |
| 开发语言 | TypeScript | 5.9.3 | JavaScript超集 |
| UI组件库 | Element Plus | 2.11.4 | Vue3组件库 |
| 构建工具 | Vite | 7.1.9 | 下一代前端构建工具 |
| 路由管理 | Vue Router | 4.5.1 | Vue官方路由 |
| 状态管理 | Pinia | 3.0.3 | Vue状态管理库 |
| HTTP客户端 | Axios | 1.12.2 | Promise HTTP库 |
| CSS框架 | UnoCSS | 0.66.5 | 原子化CSS引擎 |
| 表单验证 | Vee-Validate | 4.15.1 | Vue表单验证库 |
| 图标库 | Lucide Vue | 0.545.0 | 现代图标库 |
🎯 开发工具
| 工具 | 说明 |
|---|---|
| 包管理器 | pnpm 10.18.1 |
| 代码规范 | ESLint + Prettier |
| 样式规范 | Stylelint |
| Git钩子 | Simple Git Hooks |
| API测试 | Knife4j Swagger UI |
| 数据库监控 | Druid Monitor |
🚀 功能特性
✅ 已实现功能
🔐 认证授权系统
- 用户注册登录
- 🎯 管理员激活码注册(用户名+密码+激活码)
- 👥 普通用户注册(用户名+密码,可选组织码)
- 🔑 安全登录认证(SHA256+BCrypt双重加密)
- 🛡️ 登录失败锁定(连续3次错误锁定10分钟)
- 📱 粒子网络登录界面(现代化UI设计)
🏢 组织架构管理
- 激活码系统
- 🎫 激活码生成与管理(超级管理员权限)
- ⚡ 激活码校验与原子消费
- 组织码系统
- 🏷️ 组织码生成(组织管理员权限)
- 🔗 用户组织关联管理
📊 系统管理
- 权限认证 (基于Sa-Token)
- 🎭 角色权限校验
- 🎟️ Token生命周期管理
- 🔒 接口权限控制
- 文件管理
- 📁 统一文件上传下载
- 🖼️ 多格式文件预览
- 💾 文件存储管理
💾 数据管理
- 智能备份系统
- 👤 用户级数据备份
- 🗄️ 全量数据库备份
- ⏪ 数据回滚功能
- 📥 备份文件下载
- ⏰ 定时自动备份
🛠️ 开发支持
- 接口文档(Knife4j)
- 数据库监控(Druid)
- 缓存支持(Redis)
- 统一异常处理
- 操作日志记录
🚧 开发中功能
🎯 权限管理增强
- 多层级权限管理(用户-角色-权限-菜单)
- 数据权限过滤(基于组织架构)
- 菜单动态配置与权限绑定
📈 系统功能扩展
- Excel导入导出功能
- 数据字典翻译
- 系统参数配置
- 定时任务管理
🚀 快速开始
📋 环境要求
| 环境 | 版本要求 |
|---|---|
| JDK | 17+ |
| Node.js | 20.19.0+ 或 22.12.0+ |
| MySQL | 8.0+ |
| Redis | 7.0+ |
| Maven | 3.8+ |
| pnpm | 10.18.1+ |
🛠️ 安装步骤
1️⃣ 克隆项目
bash
git clone https://gitee.com/sqdaxiang/axiang-framework.git
cd sqdaxiang-framework
2️⃣ 数据库初始化
bash
# 创建数据库
CREATE DATABASE IF NOT EXISTS axiang CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
use axiang;
导入数据
mysql -u root -p axiang < axiang.sql
3️⃣ 后端启动
bash
# 编译项目
mvn clean install -DskipTests
# 启动应用
cd framework-admin
mvn spring-boot:run
4️⃣ 前端启动
bash
cd frontend
# 安装依赖
npm install pnpm
pnpm install
# 启动开发服务器
pnpm dev
🔑 默认账号
| 角色 | 用户名 | 密码 | 说明 |
|---|---|---|---|
| 超级管理员 | superAdmin |
123456 |
系统最高权限 |
| 普通管理员 | userAdmin |
123456 |
管理员权限 |
🌐 访问地址
| 服务 | 地址 | 账号密码 | 说明 |
|---|---|---|---|
| 🎨 前端应用 | http://localhost:9000 | - | Vue3管理界面 |
| 📚 API文档 | http://localhost:8080/doc.html | - | Knife4j接口文档 |
| 📊 数据库监控 | http://localhost:8080/druid | admin/admin | Druid监控面板 |
| 🔧 后端API | http://localhost:8080 | - | RESTful API |
网页展示










📄 开源协议
本项目基于 MIT License 开源协议,您可以自由使用、修改和分发。
👥 开发团队
sqdaxiang Framework v1.0.0
⭐ 如果这个项目对您有帮助,请给我们一个Star!⭐
📄 开源协议
本项目基于 MIT License 开源协议,您可以自由使用、修改和分发。
👥 开发团队
sqdaxiang Framework v1.0.0
项目地址
https://gitee.com/sqdaxiang/axiang-framework
⭐ 如果这个项目对您有帮助,请给我们一个Star!⭐