You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hyh b1f1de1e5f test 3 days ago
.config Initial commit 3 months ago
docs feat: 完善JWT认证和用户管理功能 3 months ago
scripts 添加登录日志功能和相关配置 3 months ago
src test 3 days ago
.gitignore chore: 更新.gitignore忽略日志文件 5 days ago
README.md docs: 添加 norm 分支说明文档 3 months ago
X1.sln 添加X1.DynamicClientCore动态客户端核心模块 - 新增动态HTTP客户端功能 - 更新解决方案文件 1 week ago
modify.md 重构 NetworkStackConfig 和 Stack_CoreIMS_Binding 6 days ago
update-database.ps1 重命名CellularManagement为X1(不含WebUI),并修复所有引用,避免乱码 1 month ago

README.md

CellularManagement 项目说明

项目概述

CellularManagement 是一个基于 Clean Architecture 架构的蜂窝网络管理系统。该项目采用领域驱动设计(DDD)原则,实现了高度模块化和可维护的代码结构。系统提供了完整的用户认证、权限管理、实时通信等功能,适用于大规模分布式部署场景。

技术栈

  • .NET 8.0
    • 最新的 .NET 运行时和框架特性
    • 高性能的异步编程模型
    • 内置的依赖注入容器
  • Entity Framework Core
    • 支持多种数据库提供程序
    • 强大的 LINQ 查询功能
    • 自动迁移和数据库版本控制
  • ASP.NET Core
    • RESTful API 支持
    • WebSocket 实时通信
    • 中间件管道
  • Clean Architecture
    • 清晰的层次结构
    • 依赖倒置原则
    • 领域驱动设计
  • DDD (领域驱动设计)
    • 领域模型
    • 聚合根
    • 值对象
    • 领域事件
  • WebSocket
    • 实时双向通信
    • 连接状态管理
    • 消息广播

项目结构

CellularManagement/
├── src/
│   ├── CellularManagement.Application/     # 应用层
│   │   ├── Common/                        # 通用组件
│   │   ├── Features/                      # 功能模块
│   │   └── Services/                      # 应用服务
│   ├── CellularManagement.Domain/          # 领域层
│   │   ├── Entities/                      # 领域实体
│   │   ├── Events/                        # 领域事件
│   │   ├── Interfaces/                    # 领域接口
│   │   └── ValueObjects/                  # 值对象
│   ├── CellularManagement.Infrastructure/  # 基础设施层
│   │   ├── Persistence/                   # 数据持久化
│   │   ├── Services/                      # 基础设施服务
│   │   └── Identity/                      # 身份认证
│   └── CellularManagement.WebApi/          # 表现层
│       ├── Controllers/                   # API 控制器
│       ├── Middleware/                    # 中间件
│       └── Filters/                       # 过滤器

主要功能

用户认证与授权

  • JWT 令牌认证
    • 基于标准的 JWT 规范
    • 支持令牌刷新机制
    • 自动令牌过期处理
  • 基于角色的访问控制 (RBAC)
    • 灵活的角色定义
    • 角色继承关系
    • 动态角色分配
  • 细粒度的权限管理
    • 功能级权限控制
    • 数据级权限控制
    • 操作级权限控制
  • 权限代码化存储
    • 统一的权限标识符
    • 权限分组管理
    • 权限描述文档
  • 多角色权限合并
    • 自动权限去重
    • 权限优先级处理
    • 权限冲突解决

角色管理

  • 角色创建与编辑
  • 角色权限分配
  • 角色继承关系
  • 角色用户管理

缓存服务

  • 分布式缓存支持
  • 多级缓存策略
  • 缓存自动失效
  • 缓存预热机制

JWT令牌管理

  • 令牌生成与验证
  • 令牌刷新机制
  • 令牌黑名单
  • 安全策略配置

密钥轮换服务

  • 自动密钥轮换
  • 密钥版本管理
  • 密钥备份恢复
  • 安全审计日志

WebSocket实时通信

  • 实时消息推送
    • 点对点消息
    • 广播消息
    • 分组消息
  • 连接管理
    • 连接状态监控
    • 自动重连机制
    • 心跳检测
  • 消息管道处理
    • 消息过滤
    • 消息转换
    • 消息路由
  • 分布式WebSocket管理
    • 集群支持
    • 会话共享
    • 负载均衡
  • 性能监控
    • 连接数统计
    • 消息吞吐量
    • 延迟监控

角色管理模块

角色管理模块提供了完整的角色 CRUD 操作,采用 CQRS 模式实现,将命令和查询职责分离。

功能特性

  • 创建角色
  • 删除角色
  • 获取单个角色
  • 获取所有角色

API 端点

方法 端点 描述
POST /api/roles/create 创建新角色
DELETE /api/roles/{id} 删除角色
GET /api/roles/{id} 获取单个角色
GET /api/roles 获取所有角色

代码结构

Features/Roles/
├── Commands/
│   ├── CreateRole/
│   │   ├── CreateRoleCommand.cs
│   │   ├── CreateRoleCommandHandler.cs
│   │   └── CreateRoleResponse.cs
│   ├── DeleteRole/
│   │   ├── DeleteRoleCommand.cs
│   │   ├── DeleteRoleCommandHandler.cs
│   │   └── DeleteRoleResponse.cs
│   └── RoleCommandHandler.cs
└── Queries/
    ├── GetRole/
    │   ├── GetRoleQuery.cs
    │   └── GetRoleResponse.cs
    ├── GetAllRolesQuery.cs
    └── RoleQueryHandler.cs

设计模式

  • CQRS(命令查询职责分离)
  • 单一职责原则
  • 依赖注入
  • 异常处理
  • 日志记录

开发环境要求

  • .NET 8.0 SDK
    • 最新的 .NET 开发工具
    • 跨平台支持
  • Visual Studio 2022 或 VS Code
    • 完整的 IDE 支持
    • 调试工具
    • 代码分析
  • SQL Server (可选,根据实际需求)
    • 支持其他数据库
    • 数据迁移工具

如何运行

  1. 克隆项目
git clone http://47.120.42.247:13001/root/CellularManagement.git
  1. 还原依赖
dotnet restore
  1. 运行项目
dotnet run --project src/CellularManagement.WebApi

项目特点

  • 采用 Clean Architecture 架构,实现关注点分离
    • 清晰的层次结构
    • 依赖倒置原则
    • 领域驱动设计
  • 使用 DDD 设计模式,提高代码可维护性
    • 领域模型
    • 聚合根
    • 值对象
  • 模块化设计,便于扩展和维护
    • 功能模块化
    • 插件化架构
    • 配置驱动
  • 完善的依赖注入机制
    • 自动注册
    • 生命周期管理
    • 作用域控制
  • 实时通信支持
    • WebSocket
    • 消息队列
    • 事件总线
  • 分布式架构支持
    • 服务发现
    • 负载均衡
    • 配置中心
  • 性能监控和指标收集
    • 性能计数器
    • 健康检查
    • 日志追踪

开发指南

代码规范

  • 遵循 C# 编码规范
  • 使用 XML 文档注释
  • 编写单元测试
  • 代码审查流程

分支管理

  • master: 主分支,稳定版本
  • develop: 开发分支
  • feature/*: 功能分支
  • hotfix/*: 紧急修复分支

提交规范

  • feat: 新功能
  • fix: 修复
  • docs: 文档
  • style: 格式
  • refactor: 重构
  • test: 测试
  • chore: 构建

贡献指南

  1. Fork 项目
  2. 创建特性分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request

许可证

MIT License

分支说明

norm 分支

  • 创建时间:2024年
  • 分支目的:规范化代码结构和实现
  • 主要更新:
    • 代码结构优化
    • 命名规范统一
    • 注释完善
    • 文档更新