# DevExpress252-2026 **Repository Path**: null_347_6860/dev-express252-2026 ## Basic Information - **Project Name**: DevExpress252-2026 - **Description**: 学习DevExpressXaf25.2项目 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-16 - **Last Updated**: 2026-02-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Qys2y.Net - 基于 DevExpress XAF 的企业级应用框架 ## 📋 项目简介 Qys2y.Net 是一个基于 DevExpress XAF (eXpress Application Framework) 构建的企业级应用程序框架。该项目采用了多模块化架构设计,支持 Blazor Server 和 Windows Forms 两种客户端界面,提供完整的用户认证、角色管理和权限控制系统。 ## 🏗️ 项目架构 ``` Qys2y.Net/ ├── Qys2y.Net.Blazor.Server/ # Blazor Server 客户端 ├── Qys2y.Net.Win/ # Windows Forms 客户端 └── Qys2y.Net.Module/ # 共享业务模块 ``` ## ✨ 核心特性 ### 🔐 安全认证系统 - **JWT 令牌认证**:基于标准的 JWT 认证机制,支持令牌生成和验证 - **用户管理**:完整的用户生命周期管理,包括用户创建、修改、禁用 - **角色权限**:灵活的角色权限体系,支持细粒度的权限配置 - **密码策略**:支持密码加密存储和首次登录强制修改密码 ### 🎯 权限管理体系 - **类型权限**:控制用户对不同业务对象的访问权限 - **对象权限**:基于业务规则的细粒度对象级权限控制 - **成员权限**:字段级别的读取/写入权限管理 - **操作权限**:控制界面操作的可用性 - **导航权限**:管理用户可访问的导航菜单项 ### 🖥️ 多客户端支持 - **Blazor Server**:现代化的 Web 界面,支持响应式设计 - **Windows Forms**:传统桌面应用,适合企业内部使用 ## 🚀 快速开始 ### 环境要求 - .NET 6.0 或更高版本 - DevExpress Universal 订阅(版本 22.2 或更新) - SQL Server / 其他数据库 ### 安装步骤 1. **克隆项目** ```bash git clone https://gitee.com/null_347_6860/dev-express252-2026.git ``` 2. **还原 NuGet 包** ```bash dotnet restore ``` 3. **配置数据库连接** 编辑 `Qys2y.Net.Blazor.Server/appsettings.json` 或 `Qys2y.Net.Win/App.config`: ```json { "ConnectionStrings": { "ConnectionString": "Server=your_server;Database=your_db;User Id=sa;Password=your_password;" } } ``` 4. **初始化数据库** ```bash # 在 Blazor Server 项目中运行 dotnet run --migrate-database ``` 5. **启动应用** ```bash # 启动 Blazor Server dotnet run --project Qys2y.Net/Qys2y.Net.Blazor.Server # 或启动 Windows Forms dotnet run --project Qys2y.Net/Qys2y.Net.Win ``` ### 默认账户 首次运行将自动创建管理员账户: - **用户名**:`Admin` - **密码**:`(空密码,首次登录需设置)` ## 📁 项目结构说明 ### Qys2y.Net.Module / 业务模块 包含所有共享业务逻辑和数据模型: | 类名 | 说明 | |------|------| | `Q_User` | 用户实体,包含用户名、手机号、密码等属性 | | `Q_Role` | 角色实体,继承自基础角色类 | | `Q_RoleBase` | 角色基类,定义权限集合 | | `Q_TypePermissionsObject` | 类型权限配置 | | `Q_ObjectPermissionsObject` | 对象权限配置 | | `Q_MemberPermissionsObject` | 成员权限配置 | | `Q_ActionPermissionObject` | 操作权限配置 | | `Q_NavigationPermissionsObject` | 导航权限配置 | | `ApplicationUser` | 应用程序用户,实现安全接口 | | `ApplicationUserLoginInfo` | 用户登录信息记录 | ### Qys2y.Net.Blazor.Server / Blazor 服务端 提供 Blazor Web 界面支持: | 文件 | 说明 | |------|------| | `Startup.cs` | 应用启动配置 | | `BlazorApplication.cs` | Blazor 应用主类 | | `BlazorModule.cs` | Blazor 模块定义 | | `Program.cs` | 程序入口 | | `AuthenticationController.cs` | JWT 认证 API 控制器 | | `JwtTokenProviderService.cs` | JWT 令牌提供程序 | ### Qys2y.Net.Win / Windows 客户端 提供 Windows 桌面应用支持: | 文件 | 说明 | |------|------| | `WinApplication.cs` | Windows 应用主类 | | `WinModule.cs` | Windows 模块定义 | | `Program.cs` | 程序入口 | | `XafSplashScreen.cs` | 启动画面 | ## 🔧 配置说明 ### JWT 配置 在 `appsettings.json` 中配置 JWT 相关参数: ```json { "Jwt": { "SecretKey": "your-secret-key", "Issuer": "qys2y.net", "Audience": "qys2y.net", "ExpirationMinutes": 60 } } ``` ### 权限策略配置 系统支持两种权限策略模式,可在 `Q_RoleBase` 类中配置: - **AllowSelected**:仅允许显式配置的权限 - **AllowEverything**:允许所有操作(管理角色) ## 📝 API 参考 ### 认证接口 ``` POST /api/Authentication/Authenticate Content-Type: application/json { "userName": "Admin", "password": "your_password" } ``` **响应**: ```json { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", "expiresIn": 3600 } ``` ## 🛠️ 开发指南 ### 添加新业务对象 1. 在 `Qys2y.Net.Module/BusinessObjects` 中创建实体类 2. 继承 `BaseObject` 或相应基类 3. 定义属性和关联关系 4. 运行数据库更新(自动迁移) ### 自定义权限 ```csharp public class MyBusinessObject : BaseObject { // 定义业务逻辑 } ``` ### 创建新模块 参考现有模块结构,确保实现必要的模块接口。 ## 📄 许可证 本项目基于 [LICENSE.txt](LICENSE.txt) 中指定的许可证发布。 ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request。 ## 📞 技术支持 如有问题,请通过 Gitee 平台联系项目维护者。 --- **技术栈**:.NET 6+ | DevExpress XAF | Blazor Server | Windows Forms | XPO | JWT