td-web-cli 0.1.16 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -76,6 +76,7 @@ td-web-cli
76
76
  ### 功能说明
77
77
 
78
78
  - 多语言 Excel 转 JSON 工具。[详细功能说明请点击这里](https://github.com/qianyuzzf/td-web-cli/blob/master/docs/i18n/excel2json.md)
79
+ - 获取假期时间工具。[详细功能说明请点击这里](https://github.com/qianyuzzf/td-web-cli/blob/master/docs/tools/getHolidayTime.md)
79
80
 
80
81
  ---
81
82
 
@@ -113,18 +114,19 @@ npm run release
113
114
 
114
115
  ```
115
116
  .
116
- ├── src/ # TypeScript 源代码
117
- │ └── index.ts # 入口文件
118
- ├── dist/ # 编译输出目录
119
- ├── release.js # 发布脚本
120
- ├── setting.json # 配置文件
121
- ├── package.json # 项目配置
122
- ├── tsconfig.json # TypeScript 配置
123
- ├── README.md # 项目说明文件
124
- ├── .gitignore # Git 忽略文件
125
- ├── .prettierignore # Prettier 忽略文件
126
- ├── .prettierrc # Prettier 配置文件
127
- └── package-lock.json # 依赖锁定文件
117
+ ├── src/ # TypeScript 源代码目录,存放项目的核心业务代码
118
+ │ └── index.ts # 入口文件,程序的启动点
119
+ ├── dist/ # 编译输出目录,存放 TypeScript 编译后的 JavaScript 文件
120
+ ├── docs/ # 项目文档目录,包含功能说明、使用手册、设计文档等
121
+ ├── release.js # 发布脚本,自动化完成版本发布相关操作
122
+ ├── setting.json # 配置文件,存放项目运行所需的配置信息
123
+ ├── package.json # npm 项目配置文件,定义依赖、脚本和元信息
124
+ ├── tsconfig.json # TypeScript 配置文件,指定编译选项和项目结构
125
+ ├── README.md # 项目说明文件,提供项目简介、安装使用等基础信息
126
+ ├── .gitignore # Git 忽略文件,指定不纳入版本控制的文件或目录
127
+ ├── .prettierignore # Prettier 忽略文件,指定格式化工具忽略的文件或目录
128
+ ├── .prettierrc # Prettier 配置文件,定义代码格式化规则
129
+ └── package-lock.json # 依赖锁定文件,确保安装依赖版本一致
128
130
  ```
129
131
 
130
132
  ---
@@ -0,0 +1,68 @@
1
+ # 节假日查询工具
2
+
3
+ 该工具基于节假日数据接口,实现获取指定年份的节假日信息,并计算从今天起最近的几个节假日详情,支持调休日识别和节假日连续日期合并,方便用户快速了解即将到来的假期安排。
4
+
5
+ ---
6
+
7
+ ## 主要功能
8
+
9
+ 1. **节假日数据请求**
10
+ - 动态请求指定年份的节假日 JSON 数据,支持多地区扩展。
11
+
12
+ 2. **节假日与调休日区分**
13
+ - 过滤并区分公共节假日(public_holiday)和调休日(transfer_workday),分别处理。
14
+
15
+ 3. **节假日连续日期合并**
16
+ - 将连续日期且名称相同的节假日合并为一个节日区间,输出更友好的节假日信息。
17
+
18
+ 4. **调休日匹配**
19
+ - 对每个节日区间匹配前后7天内的调休日,标记并列出相关调休日日期。
20
+
21
+ 5. **距离计算**
22
+ - 计算每个节假日距离今天还有多少天,便于用户判断假期时间。
23
+
24
+ 6. **控制台彩色打印**
25
+ - 使用不同颜色高亮节假日名称、距离天数、放假日期及调休日,提升阅读体验。
26
+
27
+ 7. **异常捕获与日志记录**
28
+ - 捕获请求和处理异常,记录详细日志,确保程序稳定运行。
29
+
30
+ ---
31
+
32
+ ## 使用说明
33
+
34
+ 1. 运行程序时,自动获取当前年份节假日数据。
35
+ 2. 程序会计算并打印距离今天最近的三个节假日的详细信息。
36
+ 3. 控制台输出包括节假日名称(黄色加粗)、距离天数(绿色)、放假日期(紫色)、调休日(红色)等。
37
+ 4. 如发生异常,程序会记录错误日志并退出。
38
+
39
+ ---
40
+
41
+ ## 代码结构简述
42
+
43
+ - **接口定义**
44
+ - `HolidayDate`:节假日单条记录,包含日期、名称和类型。
45
+ - `HolidayData`:节假日数据集合,包含年份、地区和日期列表。
46
+ - `HolidaySummary`:节假日汇总信息,包含名称、距离天数、放假日期及调休日信息。
47
+
48
+ - **核心函数**
49
+ - `getNearestHolidays(data, count)`:计算从今天起最近的若干节假日汇总信息,合并连续节日并匹配调休日。
50
+ - `getHolidayTime()`:异步函数,负责请求数据、调用计算函数并打印结果,含异常处理和日志记录。
51
+
52
+ - **辅助逻辑**
53
+ - 日期解析确保时区正确。
54
+ - 节假日排序和筛选保证输出顺序和准确性。
55
+ - 调休日匹配采用时间窗口策略。
56
+
57
+ ---
58
+
59
+ ## 备注
60
+
61
+ - 调休日匹配时间窗口为节假日区间前后7天内。
62
+ - 输出节假日数量默认3个,可通过参数调整。
63
+ - 控制台颜色使用 ANSI 转义码,兼容大多数终端。
64
+ - 程序依赖外部 API 和日志工具,请确保相关模块正确配置。
65
+
66
+ ---
67
+
68
+ 欢迎反馈和贡献!
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "td-web-cli",
3
- "version": "0.1.16",
3
+ "version": "0.1.18",
4
4
  "description": "A CLI tool for efficiency",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",