This commit is contained in:
Liang Ding 2022-10-02 10:46:46 +08:00
parent 1475fd9747
commit 2155a56a7b
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
2 changed files with 10 additions and 3 deletions

View file

@ -48,8 +48,9 @@ func getBackmentionDoc(c *gin.Context) {
}
defID := arg["defID"].(string)
refTreeID := arg["refTreeID"].(string)
keyword := ""
backlinks := model.GetBackmentionDoc(defID, keyword)
backlinks := model.GetBackmentionDoc(defID, refTreeID, keyword)
ret.Data = map[string]interface{}{
"backmentions": backlinks,
}

View file

@ -164,7 +164,7 @@ type Backlink struct {
Expand bool `json:"expand"`
}
func GetBackmentionDoc(defID, keyword string) (ret []*Backlink) {
func GetBackmentionDoc(defID, refTreeID, keyword string) (ret []*Backlink) {
ret = []*Backlink{}
beforeLen := 12
sqlBlock := sql.GetBlock(defID)
@ -177,9 +177,15 @@ func GetBackmentionDoc(defID, keyword string) (ret []*Backlink) {
refs = removeDuplicatedRefs(refs) // 同一个块中引用多个相同块时反链去重 https://github.com/siyuan-note/siyuan/issues/3317
linkRefs, excludeBacklinkIDs := buildLinkRefs(rootID, refs)
mentions := buildTreeBackmention(sqlBlock, linkRefs, keyword, excludeBacklinkIDs, beforeLen)
tmpMentions := buildTreeBackmention(sqlBlock, linkRefs, keyword, excludeBacklinkIDs, beforeLen)
luteEngine := NewLute()
treeCache := map[string]*parse.Tree{}
var mentions []*Block
for _, mention := range tmpMentions {
if mention.RootID == refTreeID {
mentions = append(mentions, mention)
}
}
for _, mention := range mentions {
refTree := treeCache[mention.RootID]
if nil == refTree {