获取指定文件夹中的HTML和JSON文件内容,专门用于卡片内容查询,具有特殊过滤规则和格式要求,响应格式与v3.62.2的 POST /api/generate/card 完全一致。
| 特性 | /api/generate/card/query/:folderName |
/api/generate/card/content/:folderName |
|---|---|---|
| 用途 | 通用目录查询 | 专门的卡片内容查询 |
| 过滤规则 | 基础过滤 | 严格过滤(排除 *response.json) |
| 响应格式 | 通用格式 | 完全匹配 v3.62.2 格式 |
| pageinfo字段 | 可能不一致 | 严格按 v3.62.2 规则 |
| 模板推测 | 基础推测 | 精确推测 |
- 方法:
GET - 路径:
/api/generate/card/content/:folderName - 认证:
authenticateUserOrDefault
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| folderName | string | 是 | 文件夹名称(sanitized topic名称) |
{
"code": 200,
"success": true,
"data": {
"topic": "人工智能",
"sanitizedTopic": "人工智能",
"templateName": "daily-knowledge-card-template.md",
"fileName": "ai_cards.json",
"filePath": "/path/to/ai_cards.json",
"content": {...}
},
"message": "卡片生成成功"
}{
"code": 200,
"success": true,
"data": {
"topic": "人工智能",
"sanitizedTopic": "人工智能",
"templateName": "cardplanet-Sandra-json",
"fileName": "artificial_intelligence_style.html",
"filePath": "/path/to/artificial_intelligence_style.html",
"content": "<!DOCTYPE html><html>...</html>",
"allFiles": [
{
"fileName": "artificial_intelligence_style.html",
"path": "/path/to/artificial_intelligence_style.html",
"content": "<!DOCTYPE html><html>...</html>",
"fileType": "html"
},
{
"fileName": "artificial_intelligence_data.json",
"path": "/path/to/artificial_intelligence_data.json",
"content": {
"cards": [...],
"metadata": {...}
},
"fileType": "json"
}
],
"pageinfo": {
"cards": [...],
"metadata": {...}
}
},
"message": "卡片生成成功"
}{
"code": 400,
"success": false,
"message": "文件夹名称不能为空"
}{
"code": 404,
"success": false,
"message": "文件夹不存在: 人工智能"
}{
"code": 404,
"success": false,
"message": "文件夹中未找到HTML或JSON文件: 人工智能"
}{
"code": 500,
"success": false,
"message": "服务器内部错误",
"error": "具体错误信息"
}- ✅ 包含
.html和.json文件 - ❌ 严格排除 包含
response的文件(如*response.json) - ❌ 排除以
.开头的隐藏文件 - ❌ 排除包含
_meta的元数据文件
- HTML + JSON:
cardplanet-Sandra-json - 仅 JSON:
daily-knowledge-card-template.md - 仅 HTML:
cardplanet-Sandra-cover - 其他:
unknown
- 优先选择 HTML 文件作为主文件
- 如无 HTML,选择 JSON 文件
- 触发条件: 仅当
templateName === 'cardplanet-Sandra-json'时添加 - 数据来源: JSON 文件的解析后内容
- 格式: 与 v3.62.2 版本完全一致
- JSON 解析失败时返回原始字符串内容
- 标记
parseError: true用于调试 - 文件读取失败时跳过该文件并记录日志
# 查询指定文件夹的卡片内容
GET /api/generate/card/content/人工智能
# 响应示例(cardplanet-Sandra-json模板)
{
"code": 200,
"success": true,
"data": {
"topic": "人工智能",
"sanitizedTopic": "人工智能",
"templateName": "cardplanet-Sandra-json",
"fileName": "artificial_intelligence_style.html",
"filePath": "/path/to/artificial_intelligence_style.html",
"content": "<!DOCTYPE html>...",
"allFiles": [...],
"pageinfo": {...}
},
"message": "卡片生成成功"
}✅ 完全兼容 v3.62.2: 此接口的响应格式与 /mnt/d/work/AI_Terminal/api-generate-card-v3.62.2-interface-doc.md 中定义的格式完全一致
✅ 前端无需修改: 前端代码可以直接复用处理 POST /api/generate/card 响应的代码
✅ pageinfo字段: 严格按照 v3.62.2 规则,仅在 cardplanet-Sandra-json 模板时添加
这个新接口专门为卡片内容查询而设计,确保:
- 格式一致性: 与生成接口保持完全相同的响应格式
- 过滤精确性: 严格过滤掉响应文件和调试文件
- 前端友好性: 无需额外的数据转换逻辑
- 向后兼容性: 完全匹配 v3.62.2 的稳定格式