td-web-cli 0.1.19 → 0.1.21

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
@@ -8,8 +8,8 @@
8
8
 
9
9
  - [环境要求](#环境要求)
10
10
  - [安装](#安装)
11
- - [开发](#开发)
12
11
  - [使用](#使用)
12
+ - [开发](#开发)
13
13
  - [构建](#构建)
14
14
  - [发布](#发布)
15
15
  - [项目结构](#项目结构)
@@ -18,16 +18,38 @@
18
18
 
19
19
  ## 环境要求
20
20
 
21
- - Node.js >= 20.x(推荐使用 22.x 或更高版本)
22
- - npm >= 10.x
23
- - TypeScript >= 5.x
21
+ - Node.js >= 20.18.2(推荐使用 22.x 或更高版本)
22
+ - npm >= 10.8.2
24
23
 
25
- > **注意**:部分依赖可能要求 Node.js 20 及以上版本,请根据实际情况调整。
24
+ > **注意**:部分依赖可能要求更高版本,请根据实际情况调整。
26
25
 
27
26
  ---
28
27
 
29
28
  ## 安装
30
29
 
30
+ ```bash
31
+ npm i -g td-web-cli
32
+ ```
33
+
34
+ ---
35
+
36
+ ## 使用
37
+
38
+ ### 命令行执行
39
+
40
+ ```bash
41
+ td-web-cli
42
+ ```
43
+
44
+ ### 功能说明
45
+
46
+ - 多语言 Excel 转 JSON 工具。[详细功能说明请点击这里](https://github.com/qianyuzzf/td-web-cli/blob/master/docs/i18n/excel2json.md)
47
+ - 节假日查询工具。[详细功能说明请点击这里](https://github.com/qianyuzzf/td-web-cli/blob/master/docs/tools/getHolidayTime.md)
48
+
49
+ ---
50
+
51
+ ## 开发
52
+
31
53
  1. 克隆仓库
32
54
 
33
55
  ```bash
@@ -41,10 +63,6 @@ cd td-web-cli
41
63
  npm install
42
64
  ```
43
65
 
44
- ---
45
-
46
- ## 开发
47
-
48
66
  ### 代码结构
49
67
 
50
68
  - `src/` - TypeScript 源代码目录
@@ -63,23 +81,6 @@ td-web-cli # 确保本机未全局安装该工具
63
81
 
64
82
  ---
65
83
 
66
- ## 使用
67
-
68
- ### 命令行执行
69
-
70
- 执行 CLI 工具:
71
-
72
- ```bash
73
- td-web-cli
74
- ```
75
-
76
- ### 功能说明
77
-
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)
80
-
81
- ---
82
-
83
84
  ## 构建
84
85
 
85
86
  使用 TypeScript 编译项目:
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * 获取节假日信息并打印最近三个节假日详情,节假日名称黄色,序号无颜色
3
- * 并打印请求和处理进度提示
3
+ * 并打印请求和处理进度提示,最后根据最近节假日剩余天数打印文案
4
4
  */
5
5
  export declare function getHolidayTime(): Promise<void>;
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/tools/getHolidayTime/index.ts"],"names":[],"mappings":"AA6HA;;;GAGG;AACH,wBAAsB,cAAc,kBAoCnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/tools/getHolidayTime/index.ts"],"names":[],"mappings":"AAiJA;;;GAGG;AACH,wBAAsB,cAAc,kBA4CnC"}
@@ -64,8 +64,8 @@ function getNearestHolidays(data, count = 3) {
64
64
  const end = parseDate(group.holidayDates[group.holidayDates.length - 1]);
65
65
  const relatedTransfers = transferWorkdays.filter((t) => {
66
66
  const td = parseDate(t.date);
67
- return (Math.abs(td.getTime() - start.getTime()) <= 7 * 24 * 60 * 60 * 1000 ||
68
- Math.abs(td.getTime() - end.getTime()) <= 7 * 24 * 60 * 60 * 1000);
67
+ return (td.getTime() >= start.getTime() - 7 * 24 * 60 * 60 * 1000 &&
68
+ td.getTime() <= end.getTime() + 7 * 24 * 60 * 60 * 1000);
69
69
  });
70
70
  if (relatedTransfers.length > 0) {
71
71
  group.hasTransferWorkday = true;
@@ -75,9 +75,24 @@ function getNearestHolidays(data, count = 3) {
75
75
  // 返回最近count个节假日
76
76
  return grouped.slice(0, count);
77
77
  }
78
+ /**
79
+ * 根据最近节假日的最短剩余天数,打印对应文案和表情
80
+ * @param minDays 最近节假日剩余最少天数
81
+ */
82
+ function printHolidayMessage(minDays) {
83
+ if (minDays <= 10) {
84
+ console.log('\x1b[33m%s\x1b[0m', '🎉 好开心!假期马上就到了,放松一下吧!🎉');
85
+ }
86
+ else if (minDays <= 30) {
87
+ console.log('\x1b[36m%s\x1b[0m', '🙏 祈祷时间过得快点,假期早点来临!🙏');
88
+ }
89
+ else {
90
+ console.log('\x1b[31m%s\x1b[0m', '😞 距离假期还很远,继续加油,坚持就是胜利!😞');
91
+ }
92
+ }
78
93
  /**
79
94
  * 获取节假日信息并打印最近三个节假日详情,节假日名称黄色,序号无颜色
80
- * 并打印请求和处理进度提示
95
+ * 并打印请求和处理进度提示,最后根据最近节假日剩余天数打印文案
81
96
  */
82
97
  export async function getHolidayTime() {
83
98
  try {
@@ -100,6 +115,14 @@ export async function getHolidayTime() {
100
115
  }
101
116
  console.log('\x1b[90m---------------------\x1b[0m'); // 灰色分割线
102
117
  });
118
+ // 找到最近节假日的最小剩余天数,打印对应文案
119
+ if (nearest.length > 0) {
120
+ const minDays = Math.min(...nearest.map((h) => h.daysUntil));
121
+ printHolidayMessage(minDays);
122
+ }
123
+ else {
124
+ console.log('\x1b[37m暂无未来节假日信息。\x1b[0m');
125
+ }
103
126
  logger.info('节假日信息打印完成。', true);
104
127
  }
105
128
  catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "td-web-cli",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "A CLI tool for efficiency",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -19,7 +19,24 @@
19
19
  "engines": {
20
20
  "node": ">=20"
21
21
  },
22
- "keywords": [],
22
+ "keywords": [
23
+ "td-web-cli",
24
+ "cli",
25
+ "i18n",
26
+ "国际化",
27
+ "tools",
28
+ "小工具",
29
+ "extractEntry",
30
+ "提取词条",
31
+ "json2excel",
32
+ "JSON转Excel",
33
+ "excel2json",
34
+ "Excel转JSON",
35
+ "jsonMerge",
36
+ "JSON合并",
37
+ "getHolidayTime",
38
+ "获取假期时间"
39
+ ],
23
40
  "author": "",
24
41
  "license": "ISC",
25
42
  "dependencies": {