功能描述
此 API 端点 POST /api/riff/reviewRiffCard
用于记录用户对指定闪卡的复习结果。
当用户完成一张闪卡的复习并对其掌握程度进行评分后,调用此 API 来更新该卡片的学习进度和下一次的到期时间。这是闪卡间隔重复学习算法的核心部分。
请求参数
请求体必须是 JSON 格式,包含以下参数:
deckID
(string): 必填。被复习卡片所在的卡包 ID。cardID
(string): 必填。被复习的卡片 ID。rating
(integer): 必填。用户对卡片掌握程度的评分。这个评分直接影响卡片的下一次复习间隔。- 评分通常是一个从 1 到 4 的整数,代表不同的掌握程度(例如:1=忘记, 2=困难, 3=良好, 4=掌握)。具体数值的含义取决于思源笔记内部的间隔重复算法 (基于 SM-2 算法)。
reviewedCards
(array of objects): 可选。一个对象数组,每个对象包含一个cardID
字段,表示当前复习会话中已经复习过的卡片列表。- 例如:
[{ "cardID": "20230101..." }, { "cardID": "20230102..." }]
- 这个参数可能用于避免短时间内重复复习同一张卡,或用于某些统计目的。如果不需要,可以省略此字段或传递一个空数组
[]
。
- 例如:
请求示例:
{
"deckID": "deck-english-vocab",
"cardID": "20240520100000-abcdefg",
"rating": 3, // 用户觉得掌握得"良好"
"reviewedCards": [
{ "cardID": "20240520095500-hijklmn" },
{ "cardID": "20240520095800-opqrstu" }
]
}
请求示例 (不传递 reviewedCards):
{
"deckID": "deck-programming-concepts",
"cardID": "20240521110000-vwxyz01",
"rating": 4 // 用户觉得完全"掌握"
}
响应结果
成功的请求将返回一个 JSON 对象,code
为 0,data
为 null
,表示卡片复习状态已成功更新。
{
"code": 0,
"msg": "",
"data": null
}
如果操作失败(例如参数无效、ID 不存在、评分超出范围等),将返回非 0 的 code
和具体的错误信息 msg
。
{
"code": -1,
"msg": "Card not found", // 示例错误信息
"data": null
}
在线测试
您可以在下方输入参数进行在线测试。这将实际更新指定卡片的复习状态。