Browse Source

docs: 完善项目文档

1. 补充技术栈详细说明 2. 完善项目结构说明 3. 细化功能模块说明 4. 添加开发指南 5. 补充分支管理和提交规范
web
hyh 3 months ago
parent
commit
845357e59b
  1. 169
      README.md
  2. 232
      src/CellularManagement.WebUI/README.md

169
README.md

@ -1,48 +1,139 @@
# CellularManagement 项目说明
## 项目概述
CellularManagement 是一个基于 Clean Architecture 架构的蜂窝网络管理系统。该项目采用领域驱动设计(DDD)原则,实现了高度模块化和可维护的代码结构。
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 令牌认证
- 基于角色的访问控制 (RBAC)
- 细粒度的权限管理
- 权限代码化存储
- 多角色权限合并
- 角色管理
- 缓存服务
- JWT令牌管理
- 密钥轮换服务
- WebSocket实时通信
- 实时消息推送
- 连接管理
- 消息管道处理
- 分布式WebSocket管理
- 性能监控
### 用户认证与授权
- JWT 令牌认证
- 基于标准的 JWT 规范
- 支持令牌刷新机制
- 自动令牌过期处理
- 基于角色的访问控制 (RBAC)
- 灵活的角色定义
- 角色继承关系
- 动态角色分配
- 细粒度的权限管理
- 功能级权限控制
- 数据级权限控制
- 操作级权限控制
- 权限代码化存储
- 统一的权限标识符
- 权限分组管理
- 权限描述文档
- 多角色权限合并
- 自动权限去重
- 权限优先级处理
- 权限冲突解决
### 角色管理
- 角色创建与编辑
- 角色权限分配
- 角色继承关系
- 角色用户管理
### 缓存服务
- 分布式缓存支持
- 多级缓存策略
- 缓存自动失效
- 缓存预热机制
### JWT令牌管理
- 令牌生成与验证
- 令牌刷新机制
- 令牌黑名单
- 安全策略配置
### 密钥轮换服务
- 自动密钥轮换
- 密钥版本管理
- 密钥备份恢复
- 安全审计日志
### WebSocket实时通信
- 实时消息推送
- 点对点消息
- 广播消息
- 分组消息
- 连接管理
- 连接状态监控
- 自动重连机制
- 心跳检测
- 消息管道处理
- 消息过滤
- 消息转换
- 消息路由
- 分布式WebSocket管理
- 集群支持
- 会话共享
- 负载均衡
- 性能监控
- 连接数统计
- 消息吞吐量
- 延迟监控
## 开发环境要求
- .NET 8.0 SDK
- 最新的 .NET 开发工具
- 跨平台支持
- Visual Studio 2022 或 VS Code
- 完整的 IDE 支持
- 调试工具
- 代码分析
- SQL Server (可选,根据实际需求)
- 支持其他数据库
- 数据迁移工具
## 如何运行
1. 克隆项目
@ -62,12 +153,56 @@ 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 项目

232
src/CellularManagement.WebUI/README.md

@ -14,6 +14,7 @@
- 🔔 通知系统
- 🔍 搜索功能
- 👤 用户管理
- 👥 角色权限管理
## 角色管理功能
@ -28,93 +29,184 @@
- 采用 Ant Design 组件库构建 UI
- 使用 React Hooks 进行状态管理
- 遵循 Clean Architecture 架构设计
- 使用 Axios 进行 API 请求
- 使用 React Query 进行数据缓存和状态管理
- 使用 React Hook Form 进行表单管理
- 使用 Zod 进行数据验证
### 目录结构
```
src/
├── pages/
│ └── roles/
│ └── RolesView.tsx # 角色管理页面
│ ├── RolesView.tsx # 角色管理页面
│ ├── RoleForm.tsx # 角色表单组件
│ └── RolePermissions.tsx # 角色权限管理
├── components/
│ └── roles/ # 角色相关组件
│ └── roles/
│ ├── RoleList.tsx # 角色列表组件
│ ├── RoleCard.tsx # 角色卡片组件
│ └── PermissionTree.tsx # 权限树组件
├── services/
│ └── roleService.ts # 角色服务
├── hooks/
│ └── useRoles.ts # 角色相关 Hook
└── types/
└── role.ts # 角色类型定义
│ ├── useRoles.ts # 角色相关 Hook
│ └── usePermissions.ts # 权限相关 Hook
├── types/
│ ├── role.ts # 角色类型定义
│ └── permission.ts # 权限类型定义
└── utils/
└── roleUtils.ts # 角色相关工具函数
```
### 使用说明
1. 角色列表页面:展示所有角色信息
2. 新建角色:点击"新建角色"按钮
3. 编辑角色:点击角色列表中的"编辑"按钮
4. 删除角色:点击角色列表中的"删除"按钮
1. 角色列表页面
- 展示所有角色信息
- 支持分页、排序和筛选
- 显示角色名称、描述、创建时间等信息
- 提供快速操作按钮
2. 新建角色
- 点击"新建角色"按钮
- 填写角色基本信息
- 配置角色权限
- 提交表单创建角色
3. 编辑角色
- 点击角色列表中的"编辑"按钮
- 修改角色信息
- 更新权限配置
- 保存更改
4. 删除角色
- 点击角色列表中的"删除"按钮
- 确认删除操作
- 系统自动更新角色列表
### API 接口
- GET /api/roles - 获取角色列表
- GET /api/roles/{id} - 获取单个角色
- POST /api/roles - 创建角色
- PUT /api/roles/{id} - 更新角色
- DELETE /api/roles/{id} - 删除角色
## 开始使用
1. 克隆项目
```bash
git clone https://github.com/yourusername/cellular-management-webui.git
cd cellular-management-webui
```
2. 安装依赖
```bash
npm install
```
3. 启动开发服务器
```bash
npm run dev
```
4. 构建生产版本
```bash
npm run build
- GET /api/roles
- 获取角色列表
- 支持分页、排序和筛选
- 返回角色数组
- GET /api/roles/{id}
- 获取单个角色详情
- 包含角色基本信息和权限配置
- 返回角色对象
- POST /api/roles
- 创建新角色
- 请求体:角色信息对象
- 返回创建的角色对象
- PUT /api/roles/{id}
- 更新角色信息
- 请求体:更新的角色信息
- 返回更新后的角色对象
- DELETE /api/roles/{id}
- 删除指定角色
- 返回删除成功状态
### 数据模型
```typescript
interface Role {
id: string;
name: string;
description: string;
permissions: Permission[];
createdAt: string;
updatedAt: string;
}
interface Permission {
id: string;
name: string;
code: string;
description: string;
type: 'menu' | 'operation';
parentId?: string;
}
```
## 项目结构
```
src/
├── components/ # 组件
│ ├── layout/ # 布局组件
│ └── ui/ # UI 组件
├── pages/ # 页面
├── routes/ # 路由配置
├── hooks/ # 自定义 Hooks
├── utils/ # 工具函数
├── assets/ # 静态资源
├── App.tsx # 应用入口
└── main.tsx # 主入口
```
## 技术栈
- [Vite](https://vitejs.dev/)
- [React](https://reactjs.org/)
- [TypeScript](https://www.typescriptlang.org/)
- [Tailwind CSS](https://tailwindcss.com/)
- [Shadcn UI](https://ui.shadcn.com/)
- [React Router](https://reactrouter.com/)
- [Zustand](https://github.com/pmndrs/zustand)
## 贡献
欢迎提交 Issue 和 Pull Request!
### 开发指南
1. 环境要求
- Node.js >= 16
- npm >= 7
- Git
2. 开发流程
```bash
# 克隆项目
git clone https://github.com/yourusername/cellular-management-webui.git
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 运行测试
npm test
# 构建生产版本
npm run build
```
3. 代码规范
- 使用 ESLint 进行代码检查
- 使用 Prettier 进行代码格式化
- 遵循 TypeScript 严格模式
- 使用 Git Flow 工作流
4. 测试规范
- 单元测试覆盖率 > 80%
- 使用 Jest 和 React Testing Library
- 编写集成测试和端到端测试
### 部署说明
1. 构建项目
```bash
npm run build
```
2. 部署步骤
- 将构建产物部署到 Web 服务器
- 配置 Nginx 反向代理
- 设置环境变量
- 配置 SSL 证书
3. 环境变量
```env
VITE_API_BASE_URL=https://api.example.com
VITE_APP_TITLE=Cellular Management
```
### 性能优化
- 使用 React.lazy 进行代码分割
- 实现组件级别的缓存
- 优化图片和静态资源
- 使用 Service Worker 实现离线功能
### 安全措施
- 实现 CSRF 防护
- 使用 HTTPS
- 实现请求限流
- 数据加密传输
- XSS 防护
## 贡献指南
1. Fork 项目
2. 创建特性分支
3. 提交更改
4. 推送到分支
5. 创建 Pull Request
## 版本历史
- v1.0.0 (2024-03-xx)
- 初始版本发布
- 实现基础功能
- 添加角色管理模块
## 许可证
MIT
Loading…
Cancel
Save