基于windows的个人/团队的时间管理工具

前言

最近事情比较多,经常漏掉一些工作上面的事情。而电脑的日历不好用,自己的系统打开又麻烦,所以我就在想能不能在我的windows上开发一个时间管理工具。

于是构思来了。

系统框架

部署/运维
服务层 ASP.NET Core
客户端层
HTTP + Bearer Token
数据层 SQL Server
AppDbContext
Users
Tasks
AuditLogs
用户
WPF客户端

DevTimeManager.Client.exe
LoginWindow

账号密码/当前系统账户登录
WidgetWindow

个人任务浮窗
AdminWindow

管理后台
TaskReminderService

09:00/14:30提醒
appsettings.client.json

ApiBaseUrl
Program.cs

JWT鉴权 + EF Core + 自动迁移/种子
AuthController

/login

/login/by-username
TasksController

/mine /complete /defer
AdminController

用户/任务管理 + CSV导入导出
MeController

/me
service-manager.cmd

可视化安装/启停/配置
Windows Service

DevTimeManager.Api
InstallDir

C:\\Services\\DevTimeManager.Api

  • 当前是 3 层项目结构:API、Client、Shared
  • DevTimeManager.Api:ASP.NET Core + EF Core + JWT,启动时注册鉴权、数据库上下文并执行迁移与种子
  • DevTimeManager.Client:WPF 桌面端,当前启动入口已是登录页 LoginWindow
  • DevTimeManager.Shared:前后端共用 DTO/枚举,角色、任务状态、优先级统一。
  • 数据模型核心是 Users、Tasks、AuditLogs,并包含任务 RowVersion 并发字段。

业务功能

  • 登录与鉴权:支持账号密码登录、按当前 Windows 用户名登录,服务端签发 JWT。

  • 开发者端(浮动窗):查看个人任务、完成任务、延后任务、收缩展开、悬浮显示。

  • 管理后台:用户管理(增改删)、任务管理(增改删)、任务按人筛选、CSV 导入导出。

  • 提醒能力:登录后启动全局提醒服务,在 09:00/14:30 统计"今日到期且未完成"并弹 Windows 通知,状态落盘 task-reminders.json;含 xuyalin 当日即时测试提醒逻辑。

部署方式

  • 服务端(Windows Service)已是"可视化安装/运维"方案:service-manager.cmd 打开 GUI,支持 Install/Reinstall、Start、Stop、Configure、Open Config,见 README.txt
  • 服务端安装包位置:artifacts/dist/DevTimeManager.Api.ServerInstaller 与 zip 包 artifacts/dist/DevTimeManager.Api.ServerInstaller.zip。
  • 服务监听默认 http://0.0.0.0:51619(表示监听本机所有网卡),客户端应配置真实服务器 IP。
  • 客户端为免安装便携分发,当前产物目录是 artifacts/dist/client-portable,主程序见 DevTimeManager.Client.exe。
  • 客户端 API 地址配置在同目录 appsettings.client.json。

项目概况

这是一个「时间管理工具」:WPF 客户端 + ASP.NET Core API + SQL Server,客户端按角色进入开发者浮窗或管理后台,服务端统一鉴权与数据管理。

解决方案由 3 个核心项目组成:Api、Client、Shared,见 DevTimeManager.sln。

关键代码(服务端)

启动与中间件主入口:注册 JWT、EF Core、控制器,并在启动时执行迁移和种子数据,见 Program.cs。

数据库模型与约束:Users / Tasks / AuditLogs,任务包含 RowVersion(并发字段),见 AppDbContext.cs。

登录接口:支持账号密码登录 + 按用户名直接登录,见 AuthController.cs。

个人任务接口:开发者获取自己的任务、完成任务、延期任务,见 TasksController.cs。

管理后台接口:用户管理、任务管理、CSV 导入导出,见 AdminController.cs。

种子初始化:管理员/开发者默认账号及示例任务,见 DbSeeder.cs。

关键代码(客户端)

应用入口:当前启动页为登录窗口,见 App.xaml。

登录流:登录后按角色跳转 AdminWindow 或 WidgetWindow,并初始化全局服务,见 LoginWindow.xaml.cs。

浮窗核心:任务展示、完成/延期、收缩展开、悬浮交互,见 WidgetWindow.xaml.cs。

管理后台核心:账户管理、任务编辑、CSV 导入导出,见 AdminWindow.xaml.cs。

API 调用封装:客户端所有 HTTP 调用统一在这里,见 ApiClient.cs。

提醒服务:登录后启动,按 09:00/14:30统计"今日到期未完成"并弹 Windows 通知,见 TaskReminderService.cs 和 WindowsNotificationService.cs。

全局服务入口:维护当前 ApiClient 与提醒服务生命周期,见 AppServices.cs。

关键代码(共享模型)

角色/任务状态/优先级枚举:见 Enums.cs。

任务 DTO:见 TaskItemDto.cs。

登录与管理请求模型:见 AuthDtos.cs、AdminDtos.cs、UserAdminDtos.cs。

部署与配置

服务端可视化安装/启停/配置入口: ServiceManager.ps1(由 service-manager.cmd 启动)。

服务端配置:数据库连接、JWT、种子账号见 appsettings.json。

客户端连接地址:见 appsettings.client.json(发布目录同名文件优先生效)。

相关推荐
kakakahahahaha28 分钟前
Windows电脑卡死恢复流程:任务管理器、Ctrl Alt Delete、explorer与DWM重启
windows·电脑·笔记本电脑·软件需求·电脑卡死
kakakahahahaha1 小时前
Windows鼠标失灵排查:Ctrl Alt Delete、Mouse Keys、USB控制器与驱动修复
windows·驱动开发·电脑·笔记本电脑·软件需求
Vex2une1 小时前
Windows 资源监视器发展史:从任务管理器附件到系统级诊断利器
windows·系统监控·任务管理器·诊断工具·etw·resmon·资源监视器
Vex2une2 小时前
Windows 事件查看器发展史:从 NT 3.1 黑匣子到企业级安全日志平台
windows·事件日志·事件查看器·event viewer·etw·eventvwr·系统诊断
sukalot2 小时前
Windows 驱动实例分析系列:libwdi 驱动分析 - libwdi 篇(七)
windows
开开心心就好3 小时前
以图搜图找重复图片,本地工具离线就能用
javascript·智能手机·ffmpeg·c#·ocr·word·音视频
QQ_21696290964 小时前
基于C#(Asp.net)电竞陪玩信息管理系统的设计与实现
java·大数据·spring boot·微信小程序·c#·云计算·asp.net
cuijiecheng20184 小时前
Windows 下使用 GitHub Private Repository 管理私人 Visual Studio/C++ 项目
windows·github·visual studio
未来之窗软件服务13 小时前
C# 截图源码支持自动保存-东方仙盟
c#·仙盟创梦ide·东方仙盟·电脑工具
搬砖的小码农_Sky13 小时前
AI Agent:如何处理Claude Code 最近版本(2026年更新)引入的模型上下文限制
人工智能·windows·ai·ai编程