diff --git a/kernel/model/sync.go b/kernel/model/sync.go index f4376d63b..fc3908c5b 100644 --- a/kernel/model/sync.go +++ b/kernel/model/sync.go @@ -62,6 +62,10 @@ func BootSyncData() { return } + if !util.IsOnline() { + return + } + syncLock.Lock() defer syncLock.Unlock() @@ -97,9 +101,13 @@ func SyncData(boot, exit, byHand bool) { func syncData(boot, exit, byHand bool) { defer logging.Recover() - util.BroadcastByType("main", "syncing", 0, Conf.Language(81), nil) if !checkSync(boot, exit, byHand) { - util.BroadcastByType("main", "syncing", 1, "", nil) + return + } + + util.BroadcastByType("main", "syncing", 0, Conf.Language(81), nil) + if !util.IsOnline() { // 这个操作比较耗时,所以要先推送 syncing 事件后再判断网络,这样才能给用户更即时的反馈 + util.BroadcastByType("main", "syncing", 2, Conf.Language(28), nil) return } @@ -173,11 +181,6 @@ func checkSync(boot, exit, byHand bool) bool { planSyncAfter(64 * time.Minute) return false } - - if !util.IsOnline() { - util.BroadcastByType("main", "syncing", 2, Conf.Language(28), nil) - return false - } return true }