This commit is contained in:
Liang Ding 2022-06-05 11:20:22 +08:00
parent eb78e27d9c
commit e4219bf679
No known key found for this signature in database
GPG key ID: 136F30F901A2231D
4 changed files with 27 additions and 30 deletions

View file

@ -155,7 +155,8 @@ func openNotebook(c *gin.Context) {
} }
notebook := arg["notebook"].(string) notebook := arg["notebook"].(string)
util.PushMsg(model.Conf.Language(45), 1000*60*15) msgId := util.PushMsg(model.Conf.Language(45), 1000*60*15)
defer util.PushClearMsg(msgId)
existed, err := model.Mount(notebook) existed, err := model.Mount(notebook)
if nil != err { if nil != err {
ret.Code = -1 ret.Code = -1

View file

@ -837,8 +837,8 @@ func renameWriteJSONQueue(tree *parse.Tree, oldHPath string) (err error) {
} }
func DuplicateDoc(rootID string) (err error) { func DuplicateDoc(rootID string) (err error) {
util.PushMsg(Conf.Language(116), 30000) msgId := util.PushMsg(Conf.Language(116), 30000)
defer util.PushClearMsg() defer util.PushClearMsg(msgId)
WaitForWritingFiles() WaitForWritingFiles()
tree, err := loadTreeByBlockID(rootID) tree, err := loadTreeByBlockID(rootID)

View file

@ -248,7 +248,7 @@ func SyncData(boot, exit, byHand bool) {
wroteFiles, transferSize, err := ossUpload(localSyncDirPath, "sync/"+Conf.Sync.CloudName, device, boot, removedSyncList, upsertedSyncList) wroteFiles, transferSize, err := ossUpload(localSyncDirPath, "sync/"+Conf.Sync.CloudName, device, boot, removedSyncList, upsertedSyncList)
if nil != err { if nil != err {
util.PushClearMsg() util.PushClearProgress()
IncWorkspaceDataVer() // 上传失败的话提升本地版本,以备下次上传 IncWorkspaceDataVer() // 上传失败的话提升本地版本,以备下次上传
msg := fmt.Sprintf(Conf.Language(80), formatErrorMsg(err)) msg := fmt.Sprintf(Conf.Language(80), formatErrorMsg(err))
@ -263,7 +263,7 @@ func SyncData(boot, exit, byHand bool) {
return return
} }
util.PushClearMsg() util.PushClearProgress()
elapsed := time.Now().Sub(start).Seconds() elapsed := time.Now().Sub(start).Seconds()
stat := fmt.Sprintf(Conf.Language(130), wroteFiles, humanize.Bytes(transferSize)) + fmt.Sprintf(Conf.Language(132), elapsed) stat := fmt.Sprintf(Conf.Language(130), wroteFiles, humanize.Bytes(transferSize)) + fmt.Sprintf(Conf.Language(132), elapsed)
util.LogInfof("sync [cloud=%d, local=%d, wroteFiles=%d, transferSize=%s] uploaded in [%.2fs]", cloudSyncVer, syncConf.SyncVer, wroteFiles, humanize.Bytes(transferSize), elapsed) util.LogInfof("sync [cloud=%d, local=%d, wroteFiles=%d, transferSize=%s] uploaded in [%.2fs]", cloudSyncVer, syncConf.SyncVer, wroteFiles, humanize.Bytes(transferSize), elapsed)
@ -293,7 +293,7 @@ func SyncData(boot, exit, byHand bool) {
var tmpTransferSize uint64 var tmpTransferSize uint64
err = ossDownload0(util.TempDir+"/sync", "sync/"+Conf.Sync.CloudName, "/"+pathJSON, &tmpFetchedFiles, &tmpTransferSize, boot || exit) err = ossDownload0(util.TempDir+"/sync", "sync/"+Conf.Sync.CloudName, "/"+pathJSON, &tmpFetchedFiles, &tmpTransferSize, boot || exit)
if nil != err { if nil != err {
util.PushClearMsg() util.PushClearProgress()
msg := fmt.Sprintf(Conf.Language(80), formatErrorMsg(err)) msg := fmt.Sprintf(Conf.Language(80), formatErrorMsg(err))
Conf.Sync.Stat = msg Conf.Sync.Stat = msg
util.PushErrMsg(msg, 7000) util.PushErrMsg(msg, 7000)
@ -314,7 +314,7 @@ func SyncData(boot, exit, byHand bool) {
} }
data, err = encryption.AESGCMDecryptBinBytes(data, Conf.E2EEPasswd) data, err = encryption.AESGCMDecryptBinBytes(data, Conf.E2EEPasswd)
if nil != err { if nil != err {
util.PushClearMsg() util.PushClearProgress()
msg := Conf.Language(28) msg := Conf.Language(28)
Conf.Sync.Stat = msg Conf.Sync.Stat = msg
util.PushErrMsg(fmt.Sprintf(Conf.Language(80), msg), 7000) util.PushErrMsg(fmt.Sprintf(Conf.Language(80), msg), 7000)
@ -331,7 +331,7 @@ func SyncData(boot, exit, byHand bool) {
// 解密验证成功后将其移动到 sync/ 文件夹下 // 解密验证成功后将其移动到 sync/ 文件夹下
if err = os.Rename(tmpPathJSON, filepath.Join(localSyncDirPath, pathJSON)); nil != err { if err = os.Rename(tmpPathJSON, filepath.Join(localSyncDirPath, pathJSON)); nil != err {
util.PushClearMsg() util.PushClearProgress()
msg := fmt.Sprintf(Conf.Language(80), formatErrorMsg(err)) msg := fmt.Sprintf(Conf.Language(80), formatErrorMsg(err))
Conf.Sync.Stat = msg Conf.Sync.Stat = msg
util.PushErrMsg(msg, 7000) util.PushErrMsg(msg, 7000)
@ -347,7 +347,7 @@ func SyncData(boot, exit, byHand bool) {
fetchedFilesCount, transferSize, downloadedFiles, err := ossDownload(localSyncDirPath, "sync/"+Conf.Sync.CloudName, boot || exit) fetchedFilesCount, transferSize, downloadedFiles, err := ossDownload(localSyncDirPath, "sync/"+Conf.Sync.CloudName, boot || exit)
if nil != err { if nil != err {
util.PushClearMsg() util.PushClearProgress()
msg := fmt.Sprintf(Conf.Language(80), formatErrorMsg(err)) msg := fmt.Sprintf(Conf.Language(80), formatErrorMsg(err))
Conf.Sync.Stat = msg Conf.Sync.Stat = msg
util.PushErrMsg(msg, 7000) util.PushErrMsg(msg, 7000)
@ -366,7 +366,7 @@ func SyncData(boot, exit, byHand bool) {
syncDownloadErrCount++ syncDownloadErrCount++
return return
} }
util.PushClearMsg() util.PushClearProgress()
// 恢复 // 恢复
var upsertFiles, removeFiles []string var upsertFiles, removeFiles []string

View file

@ -19,6 +19,7 @@ package util
import ( import (
"sync" "sync"
"github.com/88250/gulu"
"github.com/88250/melody" "github.com/88250/melody"
) )
@ -126,19 +127,14 @@ func PushTxErr(msg string, code int, data interface{}) {
BroadcastByType("main", "txerr", code, msg, data) BroadcastByType("main", "txerr", code, msg, data)
} }
func PushMsg(msg string, timeout int) { func PushMsg(msg string, timeout int) string {
evt := NewCmdResult("msg", 0, PushModeBroadcast, 0) ret := gulu.Rand.String(7)
evt.Msg = msg BroadcastByType("main", "msg", 0, msg, map[string]interface{}{"id": ret, "closeTimeout": timeout})
evt.Data = map[string]interface{}{"closeTimeout": timeout} return ret
PushEvent(evt)
} }
func PushErrMsg(msg string, timeout int) { func PushErrMsg(msg string, timeout int) {
evt := NewCmdResult("msg", 0, PushModeBroadcast, 0) BroadcastByType("main", "msg", -1, msg, map[string]interface{}{"closeTimeout": timeout})
evt.Code = -1
evt.Msg = msg
evt.Data = map[string]interface{}{"closeTimeout": timeout}
PushEvent(evt)
} }
const ( const (
@ -156,20 +152,20 @@ func PushEndlessProgress(msg string) {
} }
func PushProgress(code, current, total int, msg string) { func PushProgress(code, current, total int, msg string) {
evt := NewCmdResult("progress", 0, PushModeBroadcast, 0) BroadcastByType("main", "progress", code, msg, map[string]interface{}{
evt.Msg = msg
evt.Code = code
evt.Data = map[string]interface{}{
"current": current, "current": current,
"total": total, "total": total,
} })
PushEvent(evt)
} }
// PushClearMsg 会清空消息提示以及进度遮罩。 // PushClearMsg 会清空指定消息。
func PushClearMsg() { func PushClearMsg(msgId string) {
evt := NewCmdResult("cmsg", 0, PushModeBroadcast, 0) BroadcastByType("main", "cmsg", 0, "", map[string]interface{}{"id": msgId})
PushEvent(evt) }
// PushClearProgress 取消进度遮罩。
func PushClearProgress() {
BroadcastByType("main", "cprogress", 0, "", nil)
} }
func PushDownloadProgress(id string, percent float32) { func PushDownloadProgress(id string, percent float32) {