diff --git a/README.md b/README.md
index 2cbb281b0b1fa347689a0c48c63dafbdd996b45e..085732f5c732124e8dbfe9e97714bc82f9077c18 100644
--- a/README.md
+++ b/README.md
@@ -1,357 +1,116 @@
-# WenAntdUI
-
-控件使用了AntdUI https://gitee.com/AntdUI/AntdUI
-
-### 首次运行会自动初始化Sqlite 在运行目录下创建一个 data.db
-## 首次登录账户:admin 密码:admin
-
-
-| 功能 | 状态 |
-| :------: | :---: |
-| AOT发布 | ✅ |
-| 字典管理 | ✅ |
-| 用户管理 | ✅ |
-| 菜单管理 | ✅ |
-| 权限管理 | ✅ |
-| 用户设置 | ✅ |
-
-### 启动项目
-
-
-| 文件 | 项目 | 说明 | 进度 |
-| :---: | :--------------------------- | :---------------------------------------- | :---: |
-| gRPC | gRPC测试项目(演示示例项目) | | |
-| | Wen.GrpcClient | 客户端项目示例代码 | ✅ |
-| | Wen.GrpcService | 服务端项目示例代码 | ✅ |
-| Test | 项目测试功能测试代码 | | |
-| | ConsoleAppAotTest | 控制台AOT测试代码(SqlSugarCore) | ✅ |
-| | WinFormsAppAotTest | winform Aot(SqlSugarCore)测试 | ✅ |
-| | WinFormsAppFreeSqlAotTest | winform Aot (FreeSql) | ✅ |
-| | WinFormsAppTestHub | SignalR 客户端测试 | ✅ |
-| 项目 | 主要应用项目功能 | | |
-| | WebServer | 前后分离服务器项目(内含WebApi和SignalR) | ✅ |
-| | Wen.Models | Model层,主要声明实体 | ✅ |
-| | Wen.Core | 中间层,后续基础引用功能基本迁移到此处 | ✅ |
-| | WenAntdUI | 应用功能层,插件,封装组件等 | ✅ |
-| | WenAntdUI.Demo | 项目引用示例 | ✅ |
-
-## 内部运行集成 一行代码搞定一个完整的管理系统基础功能
-
-
-
-### 数据演示
-需要体验最新测试功能可以设置启动数据库 DataSource=..\\..\\..\\..\\data.db
-
-~~~
-internal static class Program
-{
- ///
- /// The main entry point for the application.
- ///
- [STAThread]
- static void Main()
- {
- App.Run(services =>
- {
- services.AddControlServices(Assembly.GetExecutingAssembly());
- });
- }
-}
-~~~
-
-### 集成启动方式
-应用WenAntdUI,可以使用顶级语言
-~~~
-App.Run();//只需要此代码即可启动一个项目
-
-//services 主要是注入服务,将项目控件注入到服务中。
-App.Run(services =>
-{
- services.AddControlServices(Assembly.GetExecutingAssembly());
-});
-
-//AddControlServices 内部封装了Control注入功能,只需要传递程序集即可
-~~~
-
-~~~
-//很多开发项目,需要使用注册机功能,也只需要在 App.Run修改,即可一个完整注册机功能,硬件信息生成唯一注册码
-App.Run(services =>
-{
- services.AddControlServices(Assembly.GetExecutingAssembly());
-},true); //此处增加
-~~~
-
-
-
-### 加密解密KEY请自行生成替换 Wen.Core.Helps AesRsaHelp中
-
-~~~
- public static string RsaFromPem { get; set; } = @"-----BEGIN PUBLIC KEY-----
-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxot7LoZAVHZDhlGE8e6/
-WqTmgmGZhVepofQhhynB/jTA69lMXoKfcXJMr/8Zyfdug97re7NkJX8Jei4cJlEv
-nyzNRrY1tz1+dkrISYi0nBkwaDMTd2Wsw63QjcqZl1yCTVT6jboNR/0a7hyb2gwt
-5cXW2ylgVZ6PttOUPXb3ZF8oWLe1BVWfcQXFIlErqVjsY3iFgcNxCucvYhiDzcbm
-qHFIbUj9760E666Ws3Io32OQK1EkkdufqNuL1gm9/9qYXE0KChGzetnFfhtOGmvK
-cPp3os07zdeeFOdKbwCbZjUxSy2a/6IKvEWilONNPNSMBxcc70oci565CtrIdyah
-IQIDAQAB
------END PUBLIC KEY-----";
-
- public static string AesKey = "u4GP+xHwd3slNDYCVeOvDpbe0eLJz7XpaEj46SA9EtM=";
- public static string AesIv = "8Daxh29YSAjUBulFYoMhdw==";
-~~~
-
-## 功能集成
-内部集成了 枚举,字典等样式识别
-
-全局采用注入方式,Page控件可以使用注入方式,直接调用
-
-~~~
-[Description("角色管理")] //此处为菜单选择注释
-public partial class SysRolePage : UserControl
-{
- private readonly IFreeSql fsql;
- private readonly MenuService menuService;
- public SysRolePage(IFreeSql fsql, MenuService menuService)
- {
- this.fsql = fsql;
- this.menuService = menuService;
- InitializeComponent();
-
- this.adminTable1.SetColumns();
- this.adminTable1.Query();
-
- InitMenuItem();
-
- this.adminTable1.CellClick += AdminTable1_CellClick;
- }
-}
-~~~
-
-### AdminTable
-
-封装控件 AdminTable 只需要一行代码即可实现一个表增删改查
-
-
-~~~
-this.adminTable1.SetColumns();
-
-[Index($"index_{nameof(SysRole)}_{nameof(RoleName)}", nameof(RoleName), true)]
-public class SysRole
-{
- ///
- /// 获得/设置 角色名称
- ///
- [DisplayName("角色名称")]
- [Col] //自动编辑功能,需要在属性上面 加上 Col 特性
- [Key]
- public string? RoleName { get; set; }
-
- ///
- /// 获得/设置 角色描述
- ///
- [DisplayName("角色描述")]
- [Col]
- public string? Description { get; set; }
-}
-~~~
-
-自定义构建列
-~~~
-this.adminTable1.SetColumn()
- .Add(a => a.Name, 288, c => c.SetTree(nameof(SysMenuDto.Childs)))
- .Add(a => a.Code)
- .Add(a => a.ParentCode)
- .Add(a => a.OrderNo)
- .Add(a => a.IconImage)
- .Add(a => a.MenuType)
- .Add(a => a.Description)
- .Add(a => a.ControlType);
-~~~
-
-查询数据
-~~~
-this.adminTable1.QueryData = async e =>
-{
- e.IsExpand = true;
- return fsql.Select()
- .WhereIf(!string.IsNullOrWhiteSpace(e.QueryText), a => a.Name.Contains(e.QueryText))
- .ToTreeList();
-};
-this.adminTable1.Query(); //手动执行查询
-~~~
-
-
-
-
-## 字典管理
-
-
-| 功能 | 状态 |
-| :------: | :---: |
-| 增删改查 | ✅ |
-
-
-
-## 菜单管理
-
-
-| 功能 | 状态 |
-| :--------: | :---: |
-| 增删改查 | ✅ |
-| 页面控件 | ✅ |
-| 自定义样式 | ✅ |
-
-开发中无需考虑 new ,可以使用注入方式 ,在构造函数中使用
-~~~
-public partial class UserControlTestTable : UserControl
-{
- public UserControlTestTable(IFreeSql fsq1)
- {
- InitializeComponent();
- adminTable1.SetColumns();
- }
-}
-
-//需要提前注入,若是采用插件方式开发,此处可以调用外部插件直接注入dll文件
-App.Run(services =>
-{
- services.AddControlServices(Assembly.GetExecutingAssembly());
-}, true);
-~~~
-
-### 完成注入后即可在菜单选中使用
-
-
-
-
-## 角色管理
-
-
-| 功能 | 状态 |
-| :------: | :---: |
-| 增删改查 | ✅ |
-| 分配权限 | ✅ |
-
-
-
-## 用户管理
-
-
-| 功能 | 状态 |
-| :------: | :---: |
-| 增删改查 | ✅ |
-| 分配角色 | ✅ |
-| 重置密码 | ✅ |
-
-
-
-## 用户信息设置
-
-
-| 功能 | 状态 |
-| :------: | :---: |
-| 更改密码 | ✅ |
-| 修改图像 | ✅ |
-
-图像存储在SQL中。
-
-
-## 封装组件演示
-
-
-| 功能 | 状态 |
-| :------------------- | :---: |
-| 前后端分离增删改查 | ✅ |
-| 图像选择组件 | ✅ |
-| 字典选择组件 | ✅ |
-| 上传功能集成组件 | ✅ |
-| 下载功能集成组件 | ✅ |
-| Model编辑组件 | ✅ |
-| 双向绑定 | ✅ |
-| Auth组件(按钮权限) | ✅ |
-
-### 前后分离通用查询方式虽然方便,慎用慎用!!!
-
-### 出于安全考虑,不集成在 AdminTable,若需要使用,只要替换增删改查代码即可
-
-### 查询数据
-
-需要需要提供类型 搜索内容 页码 单页数
-
-~~~
-var client = new ApiClient();
-var res = await client.GetListAsync(typeof(SysDict), "", true, 1, 5);
-this.table1.DataSource = res.Data;
-~~~
-
-### 更新数据
-
-~~~
-var client = new ApiClient();
-var res = client.UpdateObject(item);
-await RefreshDataAsync();
-~~~
-
-### 删除数据
-
-~~~
-var client = new ApiClient();
-var res = client.DeleteObject(item);
-await RefreshDataAsync();
-~~~
-
-### 插入数据
-
-~~~
-var client = new ApiClient();
-var res = client.InsertObject(item);
-await RefreshDataAsync();
-~~~
-
-### Model编辑组件
-
-使用方式
-
-~~~
-this.modelEditControl1.GetItemBuilder(value)
- .Add(a => a.Color)
- .Add(a => a.Name)
- .Add(a => a.CreateTime)
- .Add(a => a.Image)
- //.Add(a => a.Aa)
- //.Add(a => a.Name, content: new DictSelect("1"))
- .Add(a => a.KK)
- .Add(a => a.Dict)
- .Add(a => a.KKd)
- .Add(a => a.Typ)
- .Add(a => a.TestEditControlTest, content: new TestEditControl())
- .Add(a => a.Check);
-~~~
-
-更新数据
-
-~~~
- this.modelEditControl1.Model = obj;
-~~~
-
-### Auth组件(按钮权限)
-
-设计页面拖入 Auth ,然后点击按钮,按钮上就会多一个属性
-
-
-
-
-![alt text][def]
-
-AdminTable 增删改 权限设置方法
-
-~~~
- this.auth1.SetAuth(this.adminTable1, "useradmin");
- //菜单中请设置权限 useradmin:edit, useradmin:delete, useradmin:add
-~~~
-
-
+# WenAntdUI
-[def]: Image/PixPin_2025-04-17_14-59-28.png
+WenAntdUI 是一个基于 .NET 的 WinForms 开发框架,它提供了一套完整的管理系统基础功能,帮助开发者快速构建企业级桌面应用程序。
+
+## 特性
+
+- **Sqlite 初始化**:首次运行项目时,系统会自动在运行目录下初始化一个名为 `data.db` 的 Sqlite 数据库。
+- **用户认证**:默认登录账户为 `admin`,密码为 `admin`。
+- **基础功能模块**:
+ - 字典管理
+ value => header.Icon = value; - 菜单管理
+ - 角色管理
+ - 用户管理
+ - 文件管理
+- **封装组件**:
+ - AdminTable(表格管理)
+ - Auth(按钮权限)
+ - ModelEdit(模型编辑)
+ - DictSelect(字典选择)
+ - UserInfo(用户信息)
+ - MenuControlTypeSelect(菜单控件类型选择)
+
+## 使用说明
+
+### 登录信息
+首次登录账户为 admin,密码为 admin。
+
+### 数据库
+系统使用 Sqlite 作为默认数据库,数据库文件名为 data.db,位于运行目录下。你也可以通过配置文件更改数据库类型(支持 SQL Server �://wenantd-ui-dotnet.com")]
+- [Gitee 仓库](https://gitee.com/wenantd-ui-dotnet/wenantd-ui)
+
+## 加密与安全
+加密解密功能由 AesRsaHelp 类实现,位于 Wen.Core.Helps 命名空间。出于安全考虑,通用查询功能默认不集成在 AdminTable 中,若需要使用,替换相应的增删改查代码即可。
+
+## 功能演示
+- 数据管理:支持查询、更新、删除、插入数据。
+- 封装组件:演示了如何使用封装组件进行开发。
+- 数据绑定:支持与数据库实体类的绑定。
+
+## 示例代码
+- **Form1.cs**:演示了如何使用 WenAntdUI 的基础控件。
+- **TableTest.cs**:展示了数据表格与绑定源的使用。
+- **SysUserPage.cs**:实现了用户管理页面。
+- **SysDictPage.cs**:实现了字典管理页面。
+- **SysRolePage.cs**:实现了角色管理页面。
+- **UserInfoPage.cs**:实现了用户信息设置页面。
+
+## 贡献指南
+欢迎贡献代码和提出建议。请在 Gitee 上提交 Pull Request 和 Issues。
+
+## 许可证
+本项目遵循 MIT 许可证,详情请参阅 LICENSE 文件。
+
+## 图像资源
+部分图像资源位于 Image 目录,用于界面演示和图标显示。
+
+## 相关项目
+- Wen.GrpcService:gRPC 服务模块。
+- Wen.Models:数据模型定义。
+- Wen.Core:核心功能模块。
+- WebServer:Web API 服务模块。
+
+## 配置
+配置文件位于 WenAntdUI 项目下的 appsettings.json 和 appsettings.Development.json。
+
+## 构建
+- 使用 .NET SDK 进行构建。
+- 配置文件构建路径为 WenAntdUI.csproj。
+
+## 依赖注入
+通过 WenAntdUI.Extensions.ControlServiceHelpExtension 添加控制服务。
+
+## 用户界面
+- 使用 AntdUI 作为 UI 控件库。
+- 提供了多样的表单和控件,如 MenuForm, WenForm, SettingsForm �://wenantd-ui-dotnet.com")]
+- [Gitee 仓库](https://gitee.com/wenantd-ui-dotnet/wenantd-ui)
+
+## 加密与安全
+加密解密功能由 AesRsaHelp 类实现,位于 Wen.Core.Helps 命名空间。出于安全考虑,通用查询功能默认不集成在 AdminTable 中,若需要使用,替换相应的增删改查代码即可。
+
+## 功能演示
+- 数据管理:支持查询、更新、删除、插入数据。
+- 封装组件:演示了如何使用封装组件进行开发。
+- 数据绑定:支持与数据库实体类的绑定。
+
+## 示例代码
+- **Form1.cs**:演示了如何使用 WenAntdUI 的基础控件。
+- **TableTest.cs**:展示了数据表格与绑定源的使用。
+- **SysUserPage.cs**:实现了用户管理页面。
+- **SysDictPage.cs**:实现了字典管理页面。
+- **SysRolePage.cs**:实现了角色管理页面。
+- **UserInfoPage.cs**:实现了用户信息设置页面。
+
+## 贡献指南
+欢迎贡献代码和提出建议。请在 Gitee 上提交 Pull Request 和 Issues。
+
+## 许可证
+本项目遵循 MIT 许可证,详情请参阅 LICENSE 文件。
+
+## 图像资源
+部分图像资源位于 Image 目录,用于界面演示和图标显示。
+
+## 相关项目
+- Wen.GrpcService:gRPC 服务模块。
+- Wen.Models:数据模型定义。
+- Wen.Core:核心功能模块。
+- WebServer:Web API 服务模块。
+
+## 配置
+配置文件位于 WenAntdUI 项目下的 appsettings.json 和 appsettings.Development.json。
+
+## 构建
+- 使用 .NET SDK 进行构建。
+- 配置文件构建路径为 WenAntdUI.csproj。
\ No newline at end of file