diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index 946fe6d93..22c3baa0d 100644 --- a/app/appearance/langs/en_US.json +++ b/app/appearance/langs/en_US.json @@ -1,4 +1,6 @@ { + "resetRepoTip": "Resetting the data repository will completely delete the key and all snapshots, are you sure you want to reset?", + "resetRepo": "Reset data repo", "createSnapshot": "Create snapshot", "dataSnapshot": "Data snapshot", "copyKey": "Copy key string", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 386c22e36..cdb1c1e3e 100644 --- a/app/appearance/langs/fr_FR.json +++ b/app/appearance/langs/fr_FR.json @@ -1,4 +1,6 @@ { + "resetRepoTip": "La réinitialisation du référentiel de données supprimera complètement la clé et tous les instantanés, êtes-vous sûr de vouloir réinitialiser ?", + "resetRepo": "Réinitialiser le référentiel de données", "createSnapshot": "Créer un instantané", "dataSnapshot": "Instantané de données", "copyKey": "Copier la chaîne de clé", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index 8fa2b9cc9..9a0092b44 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -1,4 +1,6 @@ { + "resetRepoTip": "重置數據倉庫會徹底刪除密鑰和所有快照,確定進行重置嗎?", + "resetRepo": "重置數據倉庫", "createSnapshot": "創建快照", "dataSnapshot": "數據快照", "copyKey": "複製密鑰字符串", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 19e3206ae..6291b60bc 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -1,4 +1,6 @@ { + "resetRepoTip": "重置数据仓库会彻底删除密钥和所有快照,确定进行重置吗?", + "resetRepo": "重置数据仓库", "createSnapshot": "创建快照", "dataSnapshot": "数据快照", "copyKey": "复制密钥字符串", diff --git a/app/src/config/about.ts b/app/src/config/about.ts index 2c027ec6e..a22c64b56 100644 --- a/app/src/config/about.ts +++ b/app/src/config/about.ts @@ -104,8 +104,8 @@ export const about = { ${window.siyuan.languages.copyKey}
- @@ -249,8 +249,8 @@ export const about = { showMessage(window.siyuan.languages.copied); writeText(window.siyuan.config.repo.key); }); - about.element.querySelector("#removeKey").addEventListener("click", () => { - confirmDialog(window.siyuan.languages.remove, "", () => { + about.element.querySelector("#resetRepo").addEventListener("click", () => { + confirmDialog("⚠️ " + window.siyuan.languages.resetRepo, window.siyuan.languages.resetRepoTip, () => { fetchPost("/api/repo/resetRepo", {}, () => { window.siyuan.config.repo.key = ""; importKeyElement.parentElement.classList.remove("fn__none"); diff --git a/kernel/api/repo.go b/kernel/api/repo.go index f663535ee..b68d7df98 100644 --- a/kernel/api/repo.go +++ b/kernel/api/repo.go @@ -93,8 +93,8 @@ func importRepoKey(c *gin.Context) { return } - hexKey := arg["key"].(string) - if err := model.ImportRepoKey(hexKey); nil != err { + base64Key := arg["key"].(string) + if err := model.ImportRepoKey(base64Key); nil != err { ret.Code = -1 ret.Msg = model.Conf.Language(137) return diff --git a/kernel/model/repository.go b/kernel/model/repository.go index c3f2d1be3..46f14db31 100644 --- a/kernel/model/repository.go +++ b/kernel/model/repository.go @@ -18,7 +18,7 @@ package model import ( "crypto/rand" - "encoding/hex" + "encoding/base64" "errors" "fmt" "os" @@ -59,10 +59,10 @@ func GetRepoIndexLogs(page int) (logs []*dejavu.Log, pageCount, totalCount int, return } -func ImportRepoKey(hexKey string) (err error) { +func ImportRepoKey(base64Key string) (err error) { msgId := util.PushMsg(Conf.Language(136), 1000*7) - key, err := hex.DecodeString(hexKey) + key, err := base64.StdEncoding.DecodeString(base64Key) if nil != err { return }