From d7e7e1642270593bbdf3f827f3bdc5a7aa376035 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Tue, 19 Jul 2022 01:05:39 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E7=BB=86=E5=8C=96=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E8=BF=9B=E5=BA=A6=20https://github.com/siyuan-note/siyuan/issu?= =?UTF-8?q?es/5451?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/repository.go | 13 ++++++++----- kernel/model/sync.go | 6 ++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/kernel/model/repository.go b/kernel/model/repository.go index 61adb7745..241eb3956 100644 --- a/kernel/model/repository.go +++ b/kernel/model/repository.go @@ -662,44 +662,47 @@ func subscribeEvents() { eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadIndex, func(context map[string]interface{}, id string) { msg := fmt.Sprintf(Conf.Language(164), id[:7]) - util.SetBootDetails(msg) + util.IncBootProgress(1, msg) contextPushMsg(context, msg) }) + var bootProgressPart float64 eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadFiles, func(context map[string]interface{}, ids []string) { msg := fmt.Sprintf(Conf.Language(165), len(ids)) util.SetBootDetails(msg) + bootProgressPart = 20 / float64(len(ids)) contextPushMsg(context, msg) }) eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadFile, func(context map[string]interface{}, id string) { msg := fmt.Sprintf(Conf.Language(165), id[:7]) + util.IncBootProgress(bootProgressPart, msg) count++ if 0 == count%32 { - util.SetBootDetails(msg) contextPushMsg(context, msg) } }) eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadChunks, func(context map[string]interface{}, ids []string) { msg := fmt.Sprintf(Conf.Language(166), len(ids)) util.SetBootDetails(msg) + bootProgressPart = 20 / float64(len(ids)) contextPushMsg(context, msg) }) eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadChunk, func(context map[string]interface{}, id string) { msg := fmt.Sprintf(Conf.Language(166), id[:7]) + util.IncBootProgress(bootProgressPart, msg) count++ if 0 == count%32 { - util.SetBootDetails(msg) contextPushMsg(context, msg) } }) eventbus.Subscribe(dejavu.EvtCloudBeforeDownloadRef, func(context map[string]interface{}, ref string) { msg := fmt.Sprintf(Conf.Language(167), ref) - util.SetBootDetails(msg) + util.IncBootProgress(1, msg) contextPushMsg(context, msg) }) eventbus.Subscribe(dejavu.EvtCloudBeforeUploadIndex, func(context map[string]interface{}, id string) { msg := fmt.Sprintf(Conf.Language(168), id[:7]) - util.SetBootDetails(msg) + util.IncBootProgress(1, msg) contextPushMsg(context, msg) }) eventbus.Subscribe(dejavu.EvtCloudBeforeUploadFiles, func(context map[string]interface{}, files []*entity.File) { diff --git a/kernel/model/sync.go b/kernel/model/sync.go index 996d5dc94..335345a18 100644 --- a/kernel/model/sync.go +++ b/kernel/model/sync.go @@ -135,6 +135,7 @@ func incReindex(upserts, removes []string) { logging.LogDebugf("sync reindex [upserts=%d, removes=%d]", len(upserts), len(removes)) // 先执行 remove,否则移动文档时 upsert 会被忽略,导致未被索引 + bootProgressPart := 10 / float64(len(removes)) for _, removeFile := range removes { if !strings.HasSuffix(removeFile, ".sy") { continue @@ -143,7 +144,7 @@ func incReindex(upserts, removes []string) { id := strings.TrimSuffix(filepath.Base(removeFile), ".sy") block := treenode.GetBlockTree(id) if nil != block { - util.SetBootDetails("Sync remove tree " + block.Path) + util.IncBootProgress(bootProgressPart, "Sync remove tree "+block.Path) treenode.RemoveBlockTreesByRootID(block.RootID) sql.RemoveTreeQueue(block.BoxID, block.RootID) msg = fmt.Sprintf(Conf.Language(39), block.RootID) @@ -160,6 +161,7 @@ func incReindex(upserts, removes []string) { util.PushEndlessProgress(msg) } + bootProgressPart = 10 / float64(len(upserts)) for _, upsertFile := range upserts { if !strings.HasSuffix(upsertFile, ".sy") { continue @@ -177,7 +179,7 @@ func incReindex(upserts, removes []string) { box := upsertFile[:idx] p := strings.TrimPrefix(upsertFile, box) - util.SetBootDetails("Sync upsert tree " + p) + util.IncBootProgress(bootProgressPart, "Sync upsert tree "+p) tree, err0 := LoadTree(box, p) if nil != err0 { continue