This commit is contained in:
Liang Ding 2022-12-29 21:46:35 +08:00
parent c4ba046898
commit 7d450f88eb
No known key found for this signature in database
GPG Key ID: 136F30F901A2231D
3 changed files with 26 additions and 4 deletions

View File

@ -27,7 +27,7 @@ import (
"github.com/siyuan-note/siyuan/kernel/util"
)
func searchRiffCards(c *gin.Context) {
func getRiffCards(c *gin.Context) {
ret := gulu.Ret.NewResult()
defer c.JSON(http.StatusOK, ret)
@ -37,7 +37,8 @@ func searchRiffCards(c *gin.Context) {
}
deckID := arg["deckID"].(string)
blockIDs := model.SearchFlashcard(deckID)
page := int(arg["page"].(float64))
blockIDs := model.GetFlashcards(deckID, page)
ret.Data = map[string]interface{}{
"blockIDs": blockIDs,
}

View File

@ -308,7 +308,7 @@ func ServeAPI(ginServer *gin.Engine) {
ginServer.Handle("POST", "/api/riff/removeRiffCards", model.CheckAuth, removeRiffCards)
ginServer.Handle("POST", "/api/riff/getRiffDueCards", model.CheckAuth, getRiffDueCards)
ginServer.Handle("POST", "/api/riff/reviewRiffCard", model.CheckAuth, reviewRiffCard)
ginServer.Handle("POST", "/api/riff/searchRiffCards", model.CheckAuth, searchRiffCards)
ginServer.Handle("POST", "/api/riff/getRiffCards", model.CheckAuth, getRiffCards)
ginServer.Handle("POST", "/api/notification/pushMsg", model.CheckAuth, pushMsg)
ginServer.Handle("POST", "/api/notification/pushErrMsg", model.CheckAuth, pushErrMsg)

View File

@ -20,6 +20,7 @@ import (
"errors"
"os"
"path/filepath"
"sort"
"strings"
"sync"
"time"
@ -38,7 +39,27 @@ import (
var Decks = map[string]*riff.Deck{}
var deckLock = sync.Mutex{}
func SearchFlashcard(deckID string) (blockIDs []string) {
func GetFlashcards(deckID string, page int) (blockIDs []string) {
deck := Decks[deckID]
if nil == deck {
return
}
var allBlockIDs []string
for bID, _ := range deck.BlockCard {
allBlockIDs = append(allBlockIDs, bID)
}
sort.Strings(allBlockIDs)
start := (page - 1) * 20
end := page * 20
if start > len(allBlockIDs) {
return
}
if end > len(allBlockIDs) {
end = len(allBlockIDs)
}
blockIDs = allBlockIDs[start:end]
return
}