mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-17 15:10:12 +01:00
🎨 改进删除闪卡
This commit is contained in:
parent
89fb0664f1
commit
3f88597b7d
3 changed files with 9 additions and 9 deletions
|
|
@ -176,7 +176,6 @@ export const openCardByData = (cardsData: ICard[], html = "") => {
|
||||||
fetchPost("/api/riff/reviewRiffCard", {
|
fetchPost("/api/riff/reviewRiffCard", {
|
||||||
deckID: blocks[index].deckID,
|
deckID: blocks[index].deckID,
|
||||||
cardID: blocks[index].cardID,
|
cardID: blocks[index].cardID,
|
||||||
blockID: blocks[index].blockID,
|
|
||||||
rating: parseInt(type)
|
rating: parseInt(type)
|
||||||
}, () => {
|
}, () => {
|
||||||
index++;
|
index++;
|
||||||
|
|
|
||||||
|
|
@ -76,9 +76,8 @@ func reviewRiffCard(c *gin.Context) {
|
||||||
|
|
||||||
deckID := arg["deckID"].(string)
|
deckID := arg["deckID"].(string)
|
||||||
cardID := arg["cardID"].(string)
|
cardID := arg["cardID"].(string)
|
||||||
blockID := arg["blockID"].(string)
|
|
||||||
rating := int(arg["rating"].(float64))
|
rating := int(arg["rating"].(float64))
|
||||||
err := model.ReviewFlashcard(deckID, cardID, blockID, riff.Rating(rating))
|
err := model.ReviewFlashcard(deckID, cardID, riff.Rating(rating))
|
||||||
if nil != err {
|
if nil != err {
|
||||||
ret.Code = -1
|
ret.Code = -1
|
||||||
ret.Msg = err.Error()
|
ret.Msg = err.Error()
|
||||||
|
|
@ -148,9 +147,11 @@ func removeRiffCards(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if "" != deckID {
|
||||||
deck := model.Decks[deckID]
|
deck := model.Decks[deckID]
|
||||||
ret.Data = deckData(deck)
|
ret.Data = deckData(deck)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func addRiffCards(c *gin.Context) {
|
func addRiffCards(c *gin.Context) {
|
||||||
ret := gulu.Ret.NewResult()
|
ret := gulu.Ret.NewResult()
|
||||||
|
|
|
||||||
|
|
@ -134,7 +134,7 @@ func getCardsBlocks(cards []riff.Card, page int) (blocks []*Block, total, pageCo
|
||||||
// reviewCardCache <cardID, card> 用于复习时缓存卡片,以便支持撤销。
|
// reviewCardCache <cardID, card> 用于复习时缓存卡片,以便支持撤销。
|
||||||
var reviewCardCache = map[string]riff.Card{}
|
var reviewCardCache = map[string]riff.Card{}
|
||||||
|
|
||||||
func ReviewFlashcard(deckID, cardID, blockID string, rating riff.Rating) (err error) {
|
func ReviewFlashcard(deckID, cardID string, rating riff.Rating) (err error) {
|
||||||
deckLock.Lock()
|
deckLock.Lock()
|
||||||
defer deckLock.Unlock()
|
defer deckLock.Unlock()
|
||||||
|
|
||||||
|
|
@ -150,16 +150,16 @@ func ReviewFlashcard(deckID, cardID, blockID string, rating riff.Rating) (err er
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if cachedCard := reviewCardCache[card.ID()]; nil != cachedCard {
|
if cachedCard := reviewCardCache[cardID]; nil != cachedCard {
|
||||||
// 命中缓存说明这张卡片已经复习过了,这次调用复习是撤销后再次复习
|
// 命中缓存说明这张卡片已经复习过了,这次调用复习是撤销后再次复习
|
||||||
// 将缓存的卡片重新覆盖回卡包中,以恢复最开始复习前的状态
|
// 将缓存的卡片重新覆盖回卡包中,以恢复最开始复习前的状态
|
||||||
deck.SetCard(cachedCard)
|
deck.SetCard(cachedCard)
|
||||||
} else {
|
} else {
|
||||||
// 首次复习该卡片,将卡片缓存以便后续支持撤销后再次复习
|
// 首次复习该卡片,将卡片缓存以便后续支持撤销后再次复习
|
||||||
reviewCardCache[card.ID()] = card
|
reviewCardCache[cardID] = card
|
||||||
}
|
}
|
||||||
|
|
||||||
deck.Review(blockID, rating)
|
deck.Review(cardID, rating)
|
||||||
err = deck.Save()
|
err = deck.Save()
|
||||||
if nil != err {
|
if nil != err {
|
||||||
logging.LogErrorf("save deck [%s] failed: %s", deckID, err)
|
logging.LogErrorf("save deck [%s] failed: %s", deckID, err)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue