From 9f7d2182bec4518fd3c8b2e572a646820a3cb30f Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Mon, 18 Jul 2022 22:04:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?:art:=20=E7=BB=86=E5=8C=96=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=8F=90=E9=86=92=20https://github.com/siyuan-note/si?= =?UTF-8?q?yuan/issues/5451?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/appearance/langs/en_US.json | 2 +- app/appearance/langs/es_ES.json | 2 +- app/appearance/langs/fr_FR.json | 2 +- app/appearance/langs/zh_CHT.json | 2 +- app/appearance/langs/zh_CN.json | 2 +- kernel/model/assets.go | 6 ++++++ 6 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index b80d55417..dc79c89a9 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -782,7 +782,7 @@ "24": "The network is abnormal, please try again later", "25": "The attribute name only supports English letters and digits", "26": "Please initialize the data repo key first in [Settings - About - Data repo key]", - "27": "Data integrity check failed", + "27": "Uploading [%v]", "28": "TODO", "29": "This feature requires paid subscription (If you have subscribed, please refresh or log in again in settings - account)", "30": "Failed to obtain cloud info", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index 6d0f72316..1c3c3ffb8 100644 --- a/app/appearance/langs/es_ES.json +++ b/app/appearance/langs/es_ES.json @@ -782,7 +782,7 @@ "24": "La red es anómala, inténtalo de nuevo más tarde", "25": "El nombre del atributo sólo admite letras y dígitos en inglés", "26": "Por favor, inicialice primero la clave de repositorio de datos en [Configuración - Acerca de - Clave de repositorio de datos]", - "27": "Falló la comprobación de la integridad de los datos", + "27": "Subiendo [%v]", "28": "TODO", "29": "Esta función requiere una suscripción de pago (Si se ha suscrito, actualice o vuelva a conectarse en configuración - cuenta)", "30": "No se pudo obtener la información de la nube", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 3fe66677a..3b2f7d341 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -782,7 +782,7 @@ "24": "Le réseau est anormal, veuillez réessayer plus tard", "25": "Le nom de l'attribut ne supporte que les lettres et les chiffres anglais.", "26": "Veuillez d'abord initialiser la clé du référentiel de données dans [Paramètres - À propos - Clé du référentiel de données]", - "27": "La vérification de l'intégrité des données a échoué", + "27": "Téléchargement de [%v]", "28": "TODO", "29": "Cette fonctionnalité nécessite un abonnement payant (Si vous êtes déjà abonné, Rafraîchissez ou connectez - vous à nouveau dans Paramètres - compte)", "30": "Échec de l'obtention des informations sur le cloud", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index ba6185662..8a6424afa 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -782,7 +782,7 @@ "24": "網絡異常,請稍後再試", "25": "屬性名僅支援英文字母和阿拉伯數字", "26": "請先在 [設置 - 關於 - 數據倉庫密鑰] 中初始化數據倉庫密鑰", - "27": "數據完整性校驗失敗", + "27": "正在上傳 [%v]", "28": "TODO", "29": "該功能需要付費訂閱(如果你已經訂閱,請在設定-帳號中重繪或者重新登入)", "30": "獲取雲端資訊失敗", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 7dfe50db7..cd5023439 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -783,7 +783,7 @@ "24": "网络异常,请稍后再试", "25": "属性名仅支持英文字母和阿拉伯数字", "26": "请先在 [设置 - 关于 - 数据仓库密钥] 中初始化数据仓库密钥", - "27": "数据完整性校验失败", + "27": "正在上传 [%v]", "28": "TODO", "29": "该功能需要付费订阅(如果你已经订阅,请在 设置 - 账号中刷新或者重新登录)", "30": "获取云端信息失败", diff --git a/kernel/model/assets.go b/kernel/model/assets.go index b65f9524b..629f2e46d 100644 --- a/kernel/model/assets.go +++ b/kernel/model/assets.go @@ -279,6 +279,7 @@ func uploadCloud(sqlAssets []*sql.Asset) (err error) { uploadAbsAssets = gulu.Str.RemoveDuplicatedElem(uploadAbsAssets) logging.LogInfof("uploading [%d] assets", len(uploadAbsAssets)) + msgId := util.PushMsg(fmt.Sprintf(Conf.Language(27), len(uploadAbsAssets)), 3000) if loadErr := LoadUploadToken(); nil != loadErr { util.PushMsg(loadErr.Error(), 5000) return @@ -294,6 +295,10 @@ func uploadCloud(sqlAssets []*sql.Asset) (err error) { continue } + msg := fmt.Sprintf(Conf.Language(27), absAsset) + util.PushStatusBar(msg) + util.PushUpdateMsg(msgId, msg, 3000) + requestResult := gulu.Ret.NewResult() request := httpclient.NewCloudFileRequest2m() resp, reqErr := request. @@ -322,6 +327,7 @@ func uploadCloud(sqlAssets []*sql.Asset) (err error) { completedUploadAssets = append(completedUploadAssets, relAsset) logging.LogInfof("uploaded asset [%s]", relAsset) } + util.PushClearMsg(msgId) if 0 < len(completedUploadAssets) { syncedAssets = readWorkspaceAssets() From 20930e0f69939106c156850887f944059241bc1f Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Mon, 18 Jul 2022 23:03:03 +0800 Subject: [PATCH 2/2] =?UTF-8?q?:lock:=20=E6=94=B9=E8=BF=9B=E8=AE=BF?= =?UTF-8?q?=E9=97=AE=E6=8E=88=E6=9D=83=E9=AA=8C=E8=AF=81=E7=A0=81=E5=AE=89?= =?UTF-8?q?=E5=85=A8=E6=80=A7=20Fix=20https://github.com/siyuan-note/siyua?= =?UTF-8?q?n/issues/5452?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/model/session.go | 13 +++++++++---- kernel/util/session.go | 16 ++++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/kernel/model/session.go b/kernel/model/session.go index 3c8c782d1..a32ceb41c 100644 --- a/kernel/model/session.go +++ b/kernel/model/session.go @@ -63,7 +63,7 @@ func LoginAuth(c *gin.Context) { var inputCaptcha string session := util.GetSession(c) - if session.NeedCaptcha() { + if util.NeedCaptcha() { captchaArg := arg["captcha"] if nil == captchaArg { ret.Code = 1 @@ -71,6 +71,11 @@ func LoginAuth(c *gin.Context) { return } inputCaptcha = captchaArg.(string) + if "" == inputCaptcha { + ret.Code = 1 + ret.Msg = Conf.Language(21) + return + } if strings.ToLower(session.Captcha) != strings.ToLower(inputCaptcha) { ret.Code = 1 @@ -84,9 +89,9 @@ func LoginAuth(c *gin.Context) { ret.Code = -1 ret.Msg = Conf.Language(83) - session.WrongAuthCount++ + util.WrongAuthCount++ session.Captcha = gulu.Rand.String(7) - if session.NeedCaptcha() { + if util.NeedCaptcha() { ret.Code = 1 // 需要渲染验证码 } @@ -99,7 +104,7 @@ func LoginAuth(c *gin.Context) { } session.AccessAuthCode = authCode - session.WrongAuthCount = 0 + util.WrongAuthCount = 0 session.Captcha = gulu.Rand.String(7) if err := session.Save(c); nil != err { logging.LogErrorf("save session failed: " + err.Error()) diff --git a/kernel/util/session.go b/kernel/util/session.go index 1dfb66ae8..889950284 100644 --- a/kernel/util/session.go +++ b/kernel/util/session.go @@ -22,16 +22,16 @@ import ( "github.com/gin-gonic/gin" ) -// SessionData represents the session. -type SessionData struct { - ID int - AccessAuthCode string - WrongAuthCount int - Captcha string +var WrongAuthCount int + +func NeedCaptcha() bool { + return 3 < WrongAuthCount } -func (sd *SessionData) NeedCaptcha() bool { - return 3 < sd.WrongAuthCount +// SessionData represents the session. +type SessionData struct { + AccessAuthCode string + Captcha string } // Save saves the current session of the specified context.