WorkDay
本页由项目自动归档生成,源码与最新进展以 GitHub 仓库为准。
项目简介
WorkDay 是一个「工作日 / 调休 / 节假日」计算工具:给定起止日期,统计总天数、工作日、休息日、周末,以及国务院调休 / 调班的明细,并支持把日期列表导出 CSV。它以多端形式实现,覆盖 Web、微信小程序、Java 服务端、Node.js 服务端和桌面端。
备注:本地可读取的源码为上述 Web / 小程序 / Java / 桌面多端实现;博客归档分类中的鸿蒙(ArkTS)版本在本地仓库缺失,且本次 WebFetch 访问 GitHub 失败,故鸿蒙端内容以 GitHub 仓库为准。以下按本地真实代码描述。
技术栈
| 维度 | 技术 |
|---|---|
| 主要语言/框架 | TypeScript / JavaScript(Vue 3)、Java(Spring Boot)、微信小程序原生、Node.js(Express) |
| 关键依赖/库 | Vue 3 + Element Plus + Pinia + Vite + Electron(桌面端);Spring Boot 2.7 + Jedis(Java 端);Express + MongoDB + Redis + Jade(Node 端);微信小程序云开发 + Supabase |
| 数据存储 | Supabase(节假日表,anon 只读 + RLS)、MongoDB / Redis(Node 端)、本地 holidayData 兜底 |
| 运行/部署 | Cloudflare Workers(hummingg-com/workday Web)、Electron 打包多平台、微信开发者工具、Maven(Java 端) |
核心功能 / 亮点
- 工作日 / 调休区间计算:给定起止日期,统计总天数、工作日、休息日、周末,以及调休 / 调班明细,并支持导出 CSV(
hummingg-com/workday/src/components/WorkDay.vue+src/utils/holidayService.js) - 多数据源节假日服务:
holidayService采用 Supabase → 过期缓存 → 本地holidayData三级降级链路,含脏数据归一化(normalize)(hummingg-com/workday/src/utils/holidayService.js) - 微信小程序「工作日大师」:原生小程序 + 云函数
holidayQuery+ Supabase + Jest 单测(ai-coding/workday/wxmini/Mine/WorkDay) - Java 服务端:Spring Boot 2.7.13 Web 服务,Jedis 操作 Redis,Lombok(
ai-coding/workday/java/workday) - Node.js 服务端:Express + MongoDB + Redis + Jade 模板(
ai-coding/workday/nodejs/workday) - 桌面端「工作日大师」:Vue 3 + Electron + Element Plus + dayjs + xlsx,Vite 构建、electron-builder 打包 Windows / macOS / Linux(
ai-coding/workday/desktop/Workday)
目录结构
1 | workday/(多端实现,分布在两个本地仓库) |
相关链接
- GitHub 仓库:WorkDay
- 注:本地未检出鸿蒙(.ets)源码;WebFetch 访问 GitHub 失败,鸿蒙端内容以仓库为准。