# axiang-framework
**Repository Path**: sqdaxiang/axiang-framework
## Basic Information
- **Project Name**: axiang-framework
- **Description**: axiang架构开发
- **Primary Language**: Unknown
- **License**: EPL-1.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-11-19
- **Last Updated**: 2026-02-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 🚀 sqdaxiang Framework
## 📖 项目简介
SQDaxiang Framework 是一个现代化的企业级权限管理系统,采用最新的技术栈构建。
### 🎯 设计理念
- **🏗️ 模块化架构**: 采用DDD领域驱动设计,按业务模块清晰划分
- **🔐 安全优先**: 基于Sa-Token的轻量级权限认证体系
- **🎨 现代化UI**: Vue3 + TypeScript + Element Plus 构建的响应式界面
- **⚡ 高性能**: SpringBoot 3.x + MyBatis-Plus + Redis 高效数据处理
- **📱 移动友好**: 支持PC端和移动端的响应式设计
## ✨ 核心特性
### 🔒 权限认证系统
- **多层级权限控制**: 用户 → 角色 → 权限 → 菜单的完整权限体系
- **数据权限过滤**: 基于组织架构的数据访问控制
- **登录安全策略**: 失败锁定、密码强度校验、会话管理
- **激活码机制**: 管理员激活码注册,确保用户来源可控
### 🏢 组织架构管理
- **树形组织结构**: 支持多级组织架构管理
- **组织码关联**: 用户注册时可选择组织归属
- **角色权限继承**: 基于组织层级的权限继承机制
### 📊 系统监控与日志
- **操作日志记录**: 完整的用户操作轨迹追踪
- **系统性能监控**: Druid数据库连接池监控
- **接口文档**: Knife4j自动生成的API文档
### 💾 数据管理
- **智能备份**: 支持用户级和系统级数据备份策略,提供定时自动备份和手动备份功能
- **文件存储**: 统一的文件上传下载管理,支持多格式文件预览和安全的文件访问控制
- **数据恢复**: 安全的数据回滚机制,支持按时间点恢复和版本回退
- **数据同步**: 跨平台数据同步功能,确保数据一致性
### ⛓️ 区块链
- **FISCO BCOS 集成**: 提供可视化配置界面,将复杂的命令行操作转化为简单易用的功能,大幅降低技术门槛
- **Podman Rootless 容器化**: 采用 Podman Rootless 技术实现容器化隔离,以普通用户身份启动容器,无需系统级权限,规避安全风险和单点故障
- **实例隔离**: 借助 Network Namespace 和独立存储卷实现各区块链实例的网络拓扑、账本数据、链上状态完全解耦,避免实例间干扰
- **高并发支持**: 在标准硬件环境下可支持 1000+ 区块链实例并发运行,系统负载稳定,资源占用优化
## 📸 界面展示
点击展开查看界面截图























## 🏗️ 项目架构
### 后端模块结构
```
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/ # 文件管理
│ ├── dataCenter/ # 数据中心
│ └── log/ # 日志管理
│
├── 📦 framework-fiscobcos/ # ⛓️ 区块链管理模块
│ ├── controller/ # 区块链接口
│ ├── service/ # 区块链服务
│ ├── domain/ # 领域对象
│ └── resources/ # 资源文件
│ ├── docker/ # Dockerfile
│ └── scripts/ # 构建脚本
│
└── 📦 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),提供清晰的API文档
- **数据库监控**(Druid),实时监控数据库性能
- **缓存支持**(Redis),提升系统响应速度
- **统一异常处理**,规范化错误响应格式
- **操作日志记录**,完整追踪用户操作轨迹
#### ⛓️ 区块链管理(FISCO BCOS)
- **链实例管理**
- 🔗 创建链实例(支持简单模式和配置文件模式),满足不同部署需求
- ▶️ 启动/停止链实例,实现灵活的实例控制
- 🗑️ 删除链实例,安全清理区块链资源
- 📋 查看链详情和配置,提供完整的实例信息
- **容器化部署**
- 🐳 基于 Podman Rootless 的容器管理,提升系统安全性
- 📦 内置 FISCO BCOS 镜像构建,简化部署流程
- 🔄 容器状态自动同步,确保实例状态实时更新
- **安全隔离机制**
- 🛡️ Network Namespace 网络隔离,实现各区块链实例网络完全解耦
- 💾 独立存储卷(Volume)管理,保障账本数据独立性
- 🌐 获取容器 IP 地址,便于网络配置管理
- **高性能支持**
- ⚡ 容器资源超分(Overcommit)与 I/O 多路复用(IO Multiplexing)
- 🚀 支持 1000+ 区块链实例并发运行,系统负载稳定
## 🚀 快速开始
### 📋 环境要求
| 环境 | 版本要求 | 说明 |
|------|----------|------|
| **JDK** | 17+ | Java 运行环境 |
| **Node.js** | 18+ | 前端运行环境 |
| **MySQL** | 8.0+ | 关系型数据库 |
| **Redis** | 7.0+ | 缓存数据库 |
| **Maven** | 3.8+ | 后端构建工具 |
| **pnpm** | 8+ | 前端包管理器 |
| **Podman** | 4.0+ | 容器运行时(区块链模块需要) |
### 🛠️ 安装步骤
#### 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 | superAdmin/123456 | Druid监控面板 |
| **🔧 后端API** | http://localhost:8080 | - | RESTful API |
## 📚 模块文档
各模块详细文档请参阅:
| 模块 | 文档 | 说明 |
|------|------|------|
| **framework-common** | [README](./framework-common/README.md) | 公共工具、注解、异常处理 |
| **framework-core** | [README](./framework-core/README.md) | 核心配置、全局处理器 |
| **framework-auth** | [README](./framework-auth/README.md) | 认证授权、激活码管理 |
| **framework-system** | [README](./framework-system/README.md) | 用户、角色、菜单、权限 |
| **framework-dev** | [README](./framework-dev/README.md) | 文件、日志、备份管理 |
| **framework-fiscobcos** | [README](./framework-fiscobcos/README.md) | 区块链管理、Podman 配置 |
| **framework-admin** | [README](./framework-admin/README.md) | 启动模块、配置说明 |
| **frontend** | [README](./frontend/README.md) | Vue 3 前端开发指南 |
## 📄 开源协议
本项目基于 [MIT License](LICENSE) 开源协议,您可以自由使用、修改和分发。
## 👥 开发团队
**sqdaxiang Framework** v1.0.0
---
**⭐ 如果这个项目对您有帮助,请给我们一个Star!⭐**