找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4484

积分

0

好友

578

主题
发表于 昨天 03:19 | 查看: 12| 回复: 0

做过上位机的朋友,应该都遇到过类似情况:每次接新项目,登录、权限、菜单这些基础功能都要重新搭一遍。业务还没开始写,前面几天已经耗在这些重复劳动上了。所以很多人会找一个差不多的项目来改。

最近我发现一个开源 WinForms 上位机模板,把这些基础能力都提前做好了。它叫 WinformTemplate,一个开箱即用的上位机客户端模板,还自带 AI 二开能力。

WinformTemplate GitHub 仓库主页截图

下面我挑几个比较实用的功能详细说一下。

AI 二开 Skill:把项目规范交给 AI

最让我感兴趣的是它的 AI 二开 Skill。它会先把项目开发规范整理好,后续开发直接照着用。项目把为 WinForms 二次开发而设计的 Skill 放到了 .claude/skills.codex/skills 目录下,Claude 和 Codex 都可以直接使用。

以后让 AI 修改项目时,不用每次从头解释项目结构和编码规范。

Claude 与 Codex 的 WinForms Skill 目录结构

比如新增一个业务模块时,Skill 会要求 AI 按照现有项目结构组织代码:

Model → Repository → Service → ViewModel → UI

数据访问层还要分别考虑 EF、WebAPI、Local 三种数据源,DI、菜单、权限、MockData 和测试也都有各自要求。

一些容易踩到的坑也已经写进规则里:

  1. UI 和 ViewModel 不能直接对 DbContextHttpClient 进行操作。
  2. 分页、搜索、排序要下放到 Repository。
  3. 当 WebAPI 断开时,要区分“服务不可用”和“没有查到数据”。

在我看来,这套 Skill 更像是给 AI 准备的一份项目开发手册。只要告诉它“帮我添加一个 Order 订单模块”,它就能根据规则判断模块应该放在哪里、要创建哪些文件、数据层怎么连接、菜单和权限怎么配置、最后要跑哪些测试。

AI 二开指令示例:新增 Order 订单模块

因为整个过程都基于仓库里已有的规范生成,代码风格会比较一致,后面修改时也不容易越改越乱。我实际测下来,一个最小可运行的模块,差不多半小时就能生成出来。

AI 按 Skill 规范创建 Order 模块的执行过程

登录与权限:基础能力已内置

密码使用 PBKDF2 加盐哈希存储,密码保存这块不需要自己再单独设计。

角色权限也不只是把菜单隐藏起来。用户进入页面之后,系统会再进行一次权限校验,这样就能防止用户绕过菜单直接访问页面。

角色权限管理界面及菜单权限配置

三种数据源:一行配置切换

做上位机项目时,联调环境经常会变化,数据源切换往往比较麻烦。这个模板支持 EF、WebAPI、Local 三种数据源,只要修改 config.json 中的 Default 值,就能切换当前使用的数据源。

开发阶段如果数据库还没准备好,可以先使用 Local 数据源,读取本地 JSON 假数据,把界面和业务流程先跑起来。到了现场之后可以切换到 EF,默认使用 SQLite,项目里也保留了 MySQL 的配置入口。如果需要分布式部署,则可以使用 WebAPI,项目还提供了独立的服务端仓库。

Demo Notes EF 数据源列表界面

后端没有启动时,前端也不会直接崩溃,而是会给出数据源未连接的提示。

AntdUI 界面:更现代的观感

如果直接使用原生 WinForms 控件,做出来的界面给客户演示时,视觉效果有时确实不太占优势。AntdUI 把 Ant Design 的设计思想带到了 C# 中,而且控件也都重新绘制了。登录页、账户管理、角色管理等页面已经准备好,配色和交互看起来都比较现代,拿来做项目原型或基础后台会方便一些。

账户管理界面截图

Product 样例基本演示了常见的数据管理操作。分页、搜索、排序、批量操作等功能都已实现,Excel 导入导出也已经做好。如果要做一个普通的数据管理页面,这些功能已经足够了。

产品管理数据列表界面

跑起来门槛很低

装好 .NET 8 SDK,把项目 clone 下来,再完成 restore、build、run 这三步,基本就能启动。

克隆构建运行 WinformTemplate 的命令

第一次运行时,项目会自动把本地的配置复制过来。账号是 admin,密码是 123456。

想体验 AI 二开的话,可以把需求直接交给 Agent,让它根据项目规范尝试添加一个模块,这样能更直接看到这套 Skill 的效果。

需要的朋友可以试一下。


开源地址:https://github.com/agentthink/winform-base-template



上一篇:SSH互信配置教程:两台Linux主机免密登录完整操作步骤
下一篇:GitHub开源实战:真机跑过才收录的ESP32项目清单
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-9-3 20:08 , Processed in 1.247715 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表