From 51b4f68035fda6a5aa92f1ea37f0eb1304acdfc7 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Thu, 29 Dec 2022 23:02:53 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E6=94=AF=E6=8C=81=E6=B5=8F=E8=A7=88?= =?UTF-8?q?=E5=8D=A1=E5=8C=85=E5=86=85=E7=9A=84=E9=97=AA=E5=8D=A1=20https:?= =?UTF-8?q?//github.com/siyuan-note/siyuan/issues/6943?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/api/riff.go | 2 +- kernel/model/flashcard.go | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/kernel/api/riff.go b/kernel/api/riff.go index 3841a2815..c40293310 100644 --- a/kernel/api/riff.go +++ b/kernel/api/riff.go @@ -40,7 +40,7 @@ func getRiffCards(c *gin.Context) { page := int(arg["page"].(float64)) blockIDs, total, pageCount := model.GetFlashcards(deckID, page) ret.Data = map[string]interface{}{ - "blockIDs": blockIDs, + "blocks": blockIDs, "total": total, "pageCount": pageCount, } diff --git a/kernel/model/flashcard.go b/kernel/model/flashcard.go index 6c6c3f211..5d83d51cd 100644 --- a/kernel/model/flashcard.go +++ b/kernel/model/flashcard.go @@ -18,6 +18,7 @@ package model import ( "errors" + "github.com/siyuan-note/siyuan/kernel/sql" "math" "os" "path/filepath" @@ -40,8 +41,8 @@ import ( var Decks = map[string]*riff.Deck{} var deckLock = sync.Mutex{} -func GetFlashcards(deckID string, page int) (blockIDs []string, total, pageCount int) { - blockIDs = []string{} +func GetFlashcards(deckID string, page int) (blocks []*Block, total, pageCount int) { + blocks = []*Block{} deck := Decks[deckID] if nil == deck { return @@ -62,11 +63,19 @@ func GetFlashcards(deckID string, page int) (blockIDs []string, total, pageCount if end > len(allBlockIDs) { end = len(allBlockIDs) } - blockIDs = allBlockIDs[start:end] + blockIDs := allBlockIDs[start:end] total = len(allBlockIDs) pageCount = int(math.Ceil(float64(total) / float64(pageSize))) if 1 > len(blockIDs) { - blockIDs = []string{} + blocks = []*Block{} + return + } + + sqlBlocks := sql.GetBlocks(blockIDs) + blocks = fromSQLBlocks(&sqlBlocks, "", 36) + if 1 > len(blocks) { + blocks = []*Block{} + return } return }