{"repo":"Mustenaka/WinformTemplate","free":true,"listed":false,"github":"https://github.com/Mustenaka/WinformTemplate","clone":"git clone https://github.com/Mustenaka/WinformTemplate.git","description":"Winform Template（Winform .NET 模板程序）| 使用AntdUI进行View构建，内涵各种常用工具库和方法，同时项目本身做成skill，可以支持快速vibe coding二次开发","language":"C#","stars":16,"topics":["antdui","template","winform","csharp","csharp-code","skill"],"license":"MIT","category":"saas-starters-boilerplates","readme_excerpt":"WinformTemplate WinformTemplate 是一个基于 .NET 8、WinForms、AntdUI 的桌面客户端模板。当前版本已经包含登录、角色权限、菜单导航、Product 业务样例、DemoNote 三数据源演示，以及可对接的独立 WebAPI 服务端。 项目目标是让二次开发从“拷贝样例模块并按规范扩展”开始，而不是每次重新搭建 WinForms、MVVM、仓储、权限和数据源切换基础设施。 项目截图 登录 账户与角色 Product 管理样例 DemoNote 三数据源演示 当前能力 - WinForms 桌面客户端，UI 使用 AntdUI。 - 自研轻量 MVVM： ObservableObject 、 BaseViewModel 、 RelayCommand 、绑定扩展。 - UI - ViewModel - Service - Repository 单向业务链路，UI 不直接访问数据库或 HTTP。 - Sys、Template 模块支持按配置切换 Ef 、 WebApi 、 Local 仓储实现。 - DemoNote 提供 EF、WebAPI、Local 三个固定页面，用同一套实体和 ViewModel 对照三种数据源。 - 默认 SQLite 首次运行自动建库和写入种子数据。 - 基于角色的菜单过滤和导航二次鉴权，菜单 key 使用 SysMenu.SmUrl 。 - Product 样例覆盖分页、搜索、排序、增删改、批量操作、Excel 导出。 - WebAPI 失败和业务未命中分离：传输不可达抛 DataSourceUnavailableException ，业务未命中返回空结果、 null 或 false 。 快速开始 环境要求： - Windows - .NET 8 SDK 客户端命令： 首次运行时，程序会从 WinformTemplate/Resources/Config/config.example.json 复制生成本地 config.json 。真实 config.json 不入库，数据库密码、服务地址等本地配置只保存在本机。 演示账号 账号 密码 默认权限 --- --- --- admin 123456 账户、角色、Product、DemoNote EF/WebAPI/Local operator 123456 账户管理 生产环境必须修改默认密码。密码使用 PBKDF2 加盐哈希，配置项 Security.UpgradeLegacyPasswordHashOnLogin 用于兼容并迁移旧哈希。 数据源配置 配置文件位于 WinformTemplate/Resources/Config/config.json ： Sys 和 Template 通过 AddModuleRepository 按模块切换仓储实现： - Ef ：EF Core 直连本地数据库，默认 SQLite，也保留 MySQL 配置入口。 - WebApi ：按 docs/api-contract.md 调用 REST 服务。 - Local ：从 Resources/MockData/ .json 读取种子数据，CRUD 只在进程内生效。 DemoNote 是教学对照模块，三个页面固定绑定三种仓储： 菜单 key 页面 数据源 --- --- --- /demo/note-ef EfDemoNoteControl 客户端 SQLite /demo/note-api ApiDemoNoteControl WinformTem","default_branch":null,"files":null,"tree":[],"storefront":"/r/Mustenaka","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Mustenaka/WinformTemplate/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}