前言
1.从事软件行业近十年,所造所想皆为他人,应了那句话 [遍身罗绮者,不是养蚕人],遂生出了为自己写了一个属于自己的软件,功能虽小,却实用,代码生成、 数据迁移 、脚步管理皆为日常工作辅助,其他功能皆为隐私保护和生活记录。他日如果离开此行业,这个软件便是我留下的印记。
2.本软件从https://gitee.com/ten-ken/personal-manage 孵化,仓库私有,开源仓库不具有离线在线及不具有跨平台的能力,本软件公共模块全使用了.netstandarnd2.0进行封装,虽然UI层仍然是基于.netframework4.6+这种框架,但后面相对仅UI层迁移到跨平台下的UI框架(如MAUI和Avalonia UI ),成本就很低了。
关于项目的ReadMe
项目简介
personal-manage 是一个功能丰富的个人/团队开发效率管理工具与快速开发平台。项目历经多年迭代,从最初的简单工具逐渐演化为一个支持多数据库 、多语言代码生成 、系统管理 以及自动化运维的综合性桌面应用系统。
该项目的核心亮点在于其架构兼容性 (支持 .NET Framework 至 .NET 9.0)以及强大的数据库逆向工程与代码生成能力。它不仅是代码片段和账号的保险箱,更是一个集成了 FTP、Python 脚本、水印处理、二维码自定义生成等实用工具的开发者工具箱。
核心功能
1. 跨平台架构支持
- .NET Standard 2.0 核心库:统一了 UI 与业务逻辑层。
- 广泛兼容性 :支持在
.NET Framework 4.6.2 - 4.8.2传统环境以及.NET Core 3.0至.NET 9.0现代环境中运行。 - 双模式运行:开创了离线(本地 SQLite)和在线(WebApi/Multi-DB)模式的自由切换。
2. 代码生成器 (Code Generator)
- 多语言支持 :
- Java (JOOQ):通过内置的 Java 工具生成 POJO、DAO、Records、Tables 等全套 JOOQ 源码。
- C# (NVelocity) :基于 NVelocity 模板引擎生成 【C#/Java/Html/Vue/C++/Python/Golang等】 实体、Service、Controller、UI代码,目前支持数据库包含支持
MySQL,SQLite,Oracle,SQL Server,PostgreSQL五种类型。
- 数据库逆向 :支持
MySQL,SQLite,Oracle,SQL Server,PostgreSQL的表结构反向读取。 - 模板管理:支持模板分组、代码片段管理及项目关联。
3. 数据库工具箱
- 数据库同步 :
- 结构同步:对比不同库(支持 SQLite 互相同步)的表结构并迁移。
- 数据迁移:支持异构数据库(如 SQLite 到 MySQL,MySQL 到 PostgreSQL)之间的数据迁移(单表限制 5 万条内)。
- 备份恢复:集成 MySQL 备份/恢复命令行封装。
4. 实用工具集
- Python 脚本管理:内置 Python 虚拟环境管理、依赖安装、脚本运行支持。
- FTP 客户端:内置 FTP 上传下载工具。
- 水印工具:支持图片(PNG/JPG)和 PDF 文档的水印添加,支持锚点拖动定位。
- 条码/二维码生成:支持动态表头(8个卡槽)和中间 LOGO 图片的二维码/条形码批量生成。
- 内置浏览器:集成 MiniBlink 浏览器内核,用于网页内容展示。
- 临时文件管理:方便相关项目或任务的文件管理,具有时效性
技术架构
项目采用经典的分层架构设计,确保业务逻辑与界面分离。
技术栈
- UI 框架 :Windows Forms (WinForms),集成 AntdUI 组件库。
- 浏览器内核 :MiniBlink (基于 Chrome/Blink)。
- 数据访问层 (DAL) :
- 原生支持
SQLite(默认)。 - 扩展支持
MySQL,Oracle,PostgreSQL,SQL Server。
- 原生支持
- ORM/查询构造器 :
- 仿 MyBatis-Plus 的
LambdarWrapper查询方式。 - 基于反射的通用 CRUD (
BaseDAL,BaseBLL)。
- 仿 MyBatis-Plus 的
- Office 处理 :
Aspose.Cells,Aspose.Words,Aspose.Pdf。
项目结构概览
personal-manage.UI:主界面层,WinForms 窗体。personal-manage.BLL:业务逻辑层,处理核心业务规则。personal-manage.DAL:数据访问层,封装 SQL 操作与数据库适配器。personal-manage.Common:公共工具类(加密、日志、Http 请求、本地文件处理)。personal-manage.Models:实体类与数据结构定义。MiniBlinkPinvoke:封装浏览器控件的动态库调用。MyWfControls:自定义的 WinForms 控件库(分页、按钮、任务管理等)。
功能模块详解
代码片段与项目管理
- 支持建立多个代码项目,每个项目下可管理独立的代码片段(Code Snippet)。
- 支持 Java, C#, Python, SQL 等多种语言的语法高亮展示与编辑。
- 快捷的代码复制与模板应用功能。
账号与隐私管理
- 账号加密管理:使用 RSA 加密存储敏感账号密码。
- 二级密码验证:打开特定模块(如账号管理)时需输入管理密码。
- 支持附件(二进制文件)直接关联到账号记录中。
数据库连接与配置
- 支持在同一项目中配置多个数据库连接(IP/Port/DbName 不同)。
- 动态切换数据源进行代码生成或数据迁移。
更新日志 (V3.x 精选)
V3.3.0 (最新主要版本)
- 双向异步:服务调用层的CURD及上传下载相关操作的实现异步不阻塞,控制层和UI层的相关强堵塞性操作的从同步可转为异步,本质是重写并兼任 同步和异步的函数式调用。
- 新增临时文件功能:类似邮件功能,包含标题、备注以及多个附件 便于在独立查看和下载,因为在微信这类工具查找文件也很麻烦,其次这个具有时效性、安全性及隐私性。
V3.2.2
- 架构重构:UI 部分全部迁移至 .NetStandard 2.0,实现了跨 .NET 版本的支持。
- WebApi 集成:支持基于 .NET 8.0 的 WebApi 模式。
- 业务转发:使用动态代理和 AOP 实现业务转发和回调。
V3.0.6
- 条码增强:二维码和条形码功能支持 8 个动态【卡槽】存放动态表头的数据。
- 一对多关系:将"一项目一数据库"修改为"一对多",支持项目内管理多个不同数据库。
- 水印优化:支持锚点拖动,精准定位水印。
V2.3.0 - V2.5.0
- UI 升级:引入 AntdUI,界面更加现代、精简。
- 数据库支持:新增 PostgreSQL 数据库支持及代码生成。
- Python 环境:新增 Python 脚本管理模块,支持虚拟环境和依赖管理。
- 文件管理:新增文件加密解密、FTP 客户端、内置浏览器等功能。
- 新增注册功能和控制台功能(数据库连接加密和生成密保sql脚本)
- CMD命令行 支持更多额外参数 备份数据库



V0.5.0-V2.0.0
https://gitee.com/ten-ken/personal-manage 相当于是这个项目中的所有功能,后面2.0+版本就是针对架构的迁移,AntdUI的引入,业务底层代码的封装及优化等等。
安装与运行
- 环境准备 :
- 确保安装了 .NET SDK (推荐 .NET 6.0 或 .NET 8.0 版本) 或 .NET Framework 4.6+。
- 开发工具推荐使用 Visual Studio 2022。
- 获取代码:
bash
git clone https://gitee.com/ten-ken/personal-manage.git
- 编译运行 :
- 使用 Visual Studio 打开
personal-manage.UI解决方案或主项目。 - 还原 NuGet 包(主要依赖包括 AntdUI, Aspose, MiniBlinkPinvoke 等)。
- 设置启动项为
personal-manage.UI,编译并运行。
- 使用 Visual Studio 打开
附录
配置文件说明
App.config/Web.config(如果有):数据库连接字符串配置(默认CoreDbContextConnection)。- 数据库 :项目运行后会自动生成
personal-manage.db(SQLite) 用于存储基础配置和业务数据。