接口地址: GET /recent-moments.json
功能描述: 获取最近发布的瞬间列表,包含logo、标题、日期和心情字段
请求示例:
# 获取最近10条瞬间
GET /recent-moments.json响应格式:
{
"success": true,
"data": [
{
"logo": "🎉",
"title": "瞬间标题",
"date": "2024-01-15",
"mood": "开心 兴奋"
},
{
"logo": "📝",
"title": "另一个瞬间",
"date": "2024-01-14",
"mood": "平静"
}
],
"count": 2,
"generatedAt": "2024-01-15T10:30:00.000Z"
}字段说明:
logo: 瞬间的图标,可能是emoji、文件URL或外部URLtitle: 瞬间的标题date: 瞬间的日期(ISO格式:YYYY-MM-DD)mood: 瞬间的心情标签,多个心情用空格分隔generatedAt: 数据生成时间(ISO格式)
错误响应:
{
"success": false,
"error": "错误描述",
"message": "详细错误信息",
"generatedAt": "2024-01-15T10:30:00.000Z"
}HTTP状态码:
200: 请求成功
- 地址:
/recent-moments.json - 特点: 在构建时生成静态JSON文件,完全支持静态部署
- 优势:
- 无需服务器运行时环境
- 可以部署到CDN
- 访问速度更快
- 支持静态托管
- 完全兼容静态导出模式(
output: export) - 构建时获取数据,部署后数据固定
技术实现:
- 复用现有的
getMoments函数,避免重复请求Notion API - 在获取完整数据后,通过
slice()和map()方法提取所需字段 - 在构建时生成静态JSON文件
- 这种方式确保数据一致性,并减少对Notion API的请求次数
注意事项:
- 该接口只返回状态为"发布"的瞬间
- 默认返回最近90天内的瞬间
- 结果按日期降序排列(最新的在前)
- 如果瞬间没有图标,logo字段将为空字符串
- 如果瞬间没有标题,title字段将为空字符串
- 如果瞬间没有心情标签,mood字段将为空字符串
- 该接口与主页面使用相同的数据源,确保数据一致性
- 固定返回最近10条记录
- 完全兼容静态导出模式(
output: export) - 数据在构建时获取,部署后不会自动更新