chaimi-keep-mcp 3.1.47-beta.6 → 3.1.47-beta.7
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/package.json +2 -1
- package/utils/validators.js +49 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chaimi-keep-mcp",
|
|
3
|
-
"version": "3.1.47-beta.
|
|
3
|
+
"version": "3.1.47-beta.7",
|
|
4
4
|
"description": "柴米记账 MCP Server - 支持 Claude、Cursor、OpenClaw、WorkBuddy 等 AI 工具直接记账",
|
|
5
5
|
"main": "server.js",
|
|
6
6
|
"bin": {
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"files": [
|
|
10
10
|
"bin/",
|
|
11
|
+
"utils/",
|
|
11
12
|
"server.js",
|
|
12
13
|
"oauth.js",
|
|
13
14
|
"SKILL.md",
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 数据校验工具函数
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 校验日期合理性
|
|
7
|
+
* @param {number|string} dateInput - 日期(毫秒级时间戳或日期字符串)
|
|
8
|
+
* @param {string} fieldName - 字段名称(用于错误提示)
|
|
9
|
+
* @returns {Object} { valid: boolean, error?: string, message?: string }
|
|
10
|
+
*/
|
|
11
|
+
function validateDate(dateInput, fieldName = '日期') {
|
|
12
|
+
const inputDate = new Date(dateInput);
|
|
13
|
+
const now = new Date();
|
|
14
|
+
const sixtyYearsAgo = new Date();
|
|
15
|
+
sixtyYearsAgo.setFullYear(now.getFullYear() - 60);
|
|
16
|
+
|
|
17
|
+
// 校验 1:日期格式是否有效
|
|
18
|
+
if (isNaN(inputDate.getTime())) {
|
|
19
|
+
return {
|
|
20
|
+
valid: false,
|
|
21
|
+
error: '日期格式无效',
|
|
22
|
+
message: `❌ ${fieldName}格式无效,请使用毫秒级时间戳(13位数字)`
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// 校验 2:日期不能是未来时间
|
|
27
|
+
if (inputDate > now) {
|
|
28
|
+
return {
|
|
29
|
+
valid: false,
|
|
30
|
+
error: '日期不能是未来时间',
|
|
31
|
+
message: `❌ ${fieldName}不能是未来时间`
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// 校验 3:日期不能是 60 年前
|
|
36
|
+
if (inputDate < sixtyYearsAgo) {
|
|
37
|
+
return {
|
|
38
|
+
valid: false,
|
|
39
|
+
error: '日期不能是60年前',
|
|
40
|
+
message: `❌ ${fieldName}不能是60年前`
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return { valid: true };
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
module.exports = {
|
|
48
|
+
validateDate
|
|
49
|
+
};
|