当前位置: 首页 > news >正文

基于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/枚举,角色、任务状态、优先级统一。
  • 数据模型核心是UsersTasksAuditLogs,并包含任务RowVersion并发字段。

业务功能

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

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

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

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

部署方式

  • 服务端(Windows Service)已是“可视化安装/运维”方案:service-manager.cmd打开 GUI,支持Install/ReinstallStartStopConfigureOpen 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(发布目录同名文件优先生效)。

http://www.jsqmd.com/news/548321/

相关文章:

  • 数据治理平台选型,真正应该看哪几件事
  • Nomic-Embed-Text-V2-MoE面试宝典:揭秘大模型向量化技术在Java八股文中的考点
  • 嵌入式系统国际化时间处理与C语言实现
  • 2026最新电脑预装软件卸载工具哪个好?无捆绑软件卸载工具推荐与对比
  • Lychee-Rerank与传统检索算法对比:BM25 vs. 语义排序的实战分析
  • ReAct、CoT、ToT大模型推理框架:小白入门指南+程序员实战技巧(收藏必备)
  • 从安全卫士到AI指挥官:周鸿祎的“AI突围”实录!
  • Phi-4-reasoning-vision-15B多场景落地:医疗报告图像理解与关键信息抽取
  • Linux环境下P2P异地组网实操:无需公网IP,实现跨地域服务器互联
  • Slickflow.NET 基于 AI 大模型实现智能客服多轮问答系统
  • 多任务并行控制:OpenClaw管理nanobot的5个并发工作流
  • Qwen3-1.7B效果展示:看这个1.7B参数模型如何生成高质量中文内容
  • 2026年3月服务好的仓储货架品牌口碑推荐分析揭秘,博物馆库房货架/仓储中型货架/物流库房货架,仓储货架生产厂家哪个好 - 品牌推荐师
  • Phi-3-mini-128k-instruct Chainlit集成:支持Markdown渲染、LaTeX公式与代码高亮
  • 开源吐槽:技术社区的进化动力
  • 收藏!大模型技能助你年薪百万,程序员小白抓住AI红利核心钥匙!
  • 沃虎电子:CHIP LAN在以太网接口小型化设计中的应用解析
  • 通义千问AI打车上线,超级智能体插件引流App时怎么防参数丢失?
  • Realistic Vision V5.1 复古与未来风碰撞:赛博朋克城市中的古典人物肖像
  • 外勤管理系统推荐清单:如何按行业与管理目标精准选型? - 企业数字化观察家
  • LFM2.5-1.2B-Thinking-GGUF效果展示:Thinking链路后处理实测对比图
  • 小白程序员必看:手把手教你玩转大模型意图识别,建议收藏!
  • 1元一包的“干脆面”,为什么一年卖了近5亿包?——从康师傅财报看休闲食品的“新风口”!
  • 2026公众号排版终极指南:5步提升效率的保姆级教程 - 小小智慧树~
  • CLIP-GmP-ViT-L-14真实案例:医学影像报告关键词→对应CT/MRI图精准检索
  • 零项目经验也能拿大厂offer?计算机应届生面试复盘
  • 5分钟上手fft npainting lama:零基础也能轻松去除图片水印
  • 从打字员到编排师:小白程序员必备的AI编程进阶指南(收藏版)
  • Cocos Creator 开发2D游戏与小程序游戏
  • Pixel Dream Workshop 生成原理可视化:用PPT动画阐释扩散模型的工作机制