From 83e1db723ee86072bfad860c290d8a928d3bdabe Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Thu, 19 Jun 2025 18:42:59 +0800 Subject: [PATCH] fix: Optimize the synchronization log information of the script library (#9188) --- core/app/service/script_library.go | 14 +++++++------- core/i18n/lang/en.yaml | 5 ++++- core/i18n/lang/ja.yaml | 5 ++++- core/i18n/lang/ko.yaml | 5 ++++- core/i18n/lang/ms.yml | 5 ++++- core/i18n/lang/pt-BR.yaml | 5 ++++- core/i18n/lang/ru.yaml | 5 ++++- core/i18n/lang/zh-Hant.yaml | 5 ++++- core/i18n/lang/zh.yaml | 5 ++++- frontend/src/views/cronjob/library/index.vue | 8 ++++---- 10 files changed, 43 insertions(+), 19 deletions(-) diff --git a/core/app/service/script_library.go b/core/app/service/script_library.go index be4e09dc1..b6c3471a5 100644 --- a/core/app/service/script_library.go +++ b/core/app/service/script_library.go @@ -191,34 +191,34 @@ func (u *ScriptService) Sync(req dto.OperateByTaskID) error { localVersion := strings.ReplaceAll(string(versionRes), "\n", "") remoteVersion := strings.ReplaceAll(scriptSetting.Value, "\n", "") - syncTask.Log(i18n.GetMsgWithMap("ScriptVersion", map[string]interface{}{"localVersion": localVersion, "remoteVersion": remoteVersion})) if localVersion == remoteVersion { + syncTask.Log(i18n.GetMsgByKey("ScriptSyncSkip")) return nil } - syncTask.Log("start to download data.yaml") dataUrl := fmt.Sprintf("%s/scripts/data.yaml", global.CONF.RemoteURL.ResourceURL) _, dataRes, err := req_helper.HandleRequestWithProxy(dataUrl, http.MethodGet, constant.TimeOut20s) + syncTask.LogWithStatus(i18n.GetMsgByKey("DownloadData"), err) if err != nil { return fmt.Errorf("load scripts data.yaml from remote failed, err: %v", err) } - syncTask.Log("download successful!") var scripts Scripts if err = yaml.Unmarshal(dataRes, &scripts); err != nil { return fmt.Errorf("the format of data.yaml is err: %v", err) } - syncTask.Log("start to download scripts.tar.gz") tmpDir := path.Join(global.CONF.Base.InstallDir, "1panel/tmp/script") if _, err := os.Stat(tmpDir); err != nil { _ = os.MkdirAll(tmpDir, 0755) } scriptsUrl := fmt.Sprintf("%s/scripts/scripts.tar.gz", global.CONF.RemoteURL.ResourceURL) - if err := files.DownloadFileWithProxy(scriptsUrl, tmpDir+"/scripts.tar.gz"); err != nil { + err = files.DownloadFileWithProxy(scriptsUrl, tmpDir+"/scripts.tar.gz") + syncTask.LogWithStatus(i18n.GetMsgByKey("DownloadPackage"), err) + if err != nil { return fmt.Errorf("download scripts.tar.gz failed, err: %v", err) } - syncTask.Log("download successful! now start to decompress...") + if err := files.HandleUnTar(tmpDir+"/scripts.tar.gz", tmpDir, ""); err != nil { return fmt.Errorf("handle decompress scripts.tar.gz failed, err: %v", err) } @@ -237,7 +237,7 @@ func (u *ScriptService) Sync(req dto.OperateByTaskID) error { scriptsForDB = append(scriptsForDB, scriptItem) } - syncTask.Log("analytic completion! now start to refresh database...") + syncTask.Log(i18n.GetMsgByKey("AnalyticCompletion")) if err := scriptRepo.SyncAll(scriptsForDB); err != nil { return fmt.Errorf("sync script with db failed, err: %v", err) } diff --git a/core/i18n/lang/en.yaml b/core/i18n/lang/en.yaml index 47134ace9..1e906f0b1 100644 --- a/core/i18n/lang/en.yaml +++ b/core/i18n/lang/en.yaml @@ -93,7 +93,10 @@ SubTask: "Subtask" #script ScriptLibrary: "Script Library" -ScriptVersion: "Local: {{ .localVersion }}, Remote: {{ .remoteVersion }}" +ScriptSyncSkip: "Current script library is already the latest version!" +DownloadData: "Downloading script library file data.yaml" +DownloadPackage: "Downloading script library package" +AnalyticCompletion: "Analysis completed, now syncing to database..." Node: "Node" SyncNode: "Sync node data" diff --git a/core/i18n/lang/ja.yaml b/core/i18n/lang/ja.yaml index 15f442bbc..37943b82a 100644 --- a/core/i18n/lang/ja.yaml +++ b/core/i18n/lang/ja.yaml @@ -94,7 +94,10 @@ SubTask: "サブタスク" #script ScriptLibrary: "スクリプトライブラリ" -ScriptVersion: "ローカル: {{ .localVersion }}, リモート: {{ .remoteVersion }}" +ScriptSyncSkip: "現在のスクリプトライブラリは最新バージョンです!" +DownloadData: "スクリプトライブラリファイル data.yaml をダウンロード中" +DownloadPackage: "スクリプトライブラリパッケージをダウンロード中" +AnalyticCompletion: "解析が完了しました、データベースに同期しています..." Node: "ノード" SyncNode: "ノードデータ同期" diff --git a/core/i18n/lang/ko.yaml b/core/i18n/lang/ko.yaml index 652f7ebd3..729cbf04f 100644 --- a/core/i18n/lang/ko.yaml +++ b/core/i18n/lang/ko.yaml @@ -93,7 +93,10 @@ SubTask: "서브 작업" #script ScriptLibrary: "스크립트 라이브러리" -ScriptVersion: "로컬: {{ .localVersion }}, 원격: {{ .remoteVersion }}" +ScriptSyncSkip: "현재 스크립트 라이브러리가 이미 최신 버전입니다!" +DownloadData: "스크립트 라이브러리 파일 data.yaml 다운로드 중" +DownloadPackage: "스크립트 라이브러리 패키지 다운로드 중" +AnalyticCompletion: "분석 완료, 데이터베이스에 동기화 중..." Node: "노드" SyncNode: "노드 데이터 동기화" diff --git a/core/i18n/lang/ms.yml b/core/i18n/lang/ms.yml index c33f7eb3b..774dd976a 100644 --- a/core/i18n/lang/ms.yml +++ b/core/i18n/lang/ms.yml @@ -93,7 +93,10 @@ SubTask: "Tugas Sub" #script ScriptLibrary: "Pustaka Skrip" -ScriptVersion: "Tempatan: {{ .localVersion }}, Jauh: {{ .remoteVersion }}" +ScriptSyncSkip: "Pustaka skrip semasa sudah versi terkini!" +DownloadData: "Muat turun fail pustaka skrip data.yaml" +DownloadPackage: "Muat turun pakej pustaka skrip" +AnalyticCompletion: "Analisis selesai, sedang menyegerakkan ke pangkalan data..." Node: "Nod" SyncNode: "Segerakkan data nod" diff --git a/core/i18n/lang/pt-BR.yaml b/core/i18n/lang/pt-BR.yaml index 6416b3991..0a9a7d391 100644 --- a/core/i18n/lang/pt-BR.yaml +++ b/core/i18n/lang/pt-BR.yaml @@ -93,7 +93,10 @@ SubTask: "Subtarefa" #script ScriptLibrary: "Biblioteca de Scripts" -ScriptVersion: "Local: {{ .localVersion }}, Remoto: {{ .remoteVersion }}" +ScriptSyncSkip: "A biblioteca de scripts atual já é a versão mais recente!" +DownloadData: "Baixando arquivo data.yaml da biblioteca de scripts" +DownloadPackage: "Baixando pacote da biblioteca de scripts" +AnalyticCompletion: "Análise concluída, agora sincronizando com o banco de dados..." Node: "Nó" SyncNode: "Sincronizar dados do nó" diff --git a/core/i18n/lang/ru.yaml b/core/i18n/lang/ru.yaml index 9ab0fe849..52912d6fe 100644 --- a/core/i18n/lang/ru.yaml +++ b/core/i18n/lang/ru.yaml @@ -93,7 +93,10 @@ SubTask: "Подзадача" #script ScriptLibrary: "Библиотека скриптов" -ScriptVersion: "Локальная: {{ .localVersion }}, Удалённая: {{ .remoteVersion }}" +ScriptSyncSkip: "Текущая библиотека скриптов уже является последней версией!" +DownloadData: "Загрузка файла библиотеки скриптов data.yaml" +DownloadPackage: "Загрузка архива библиотеки скриптов" +AnalyticCompletion: "Анализ завершён, начинается синхронизация с базой данных..." Node: "Узел" SyncNode: "Синхронизация данных узла" diff --git a/core/i18n/lang/zh-Hant.yaml b/core/i18n/lang/zh-Hant.yaml index 5d125183d..d2607fa3c 100644 --- a/core/i18n/lang/zh-Hant.yaml +++ b/core/i18n/lang/zh-Hant.yaml @@ -93,7 +93,10 @@ SubTask: "子任務" #script ScriptLibrary: "腳本庫" -ScriptVersion: "本地: {{ .localVersion }}, 遠端: {{ .remoteVersion }}" +ScriptSyncSkip: "當前腳本庫已是最新版本!" +DownloadData: "下載腳本庫文件 data.yaml" +DownloadPackage: "下載腳本庫壓縮包" +AnalyticCompletion: "解析成功,現在開始同步到資料庫..." #sync node Node: "節點" diff --git a/core/i18n/lang/zh.yaml b/core/i18n/lang/zh.yaml index acd151147..15d742305 100644 --- a/core/i18n/lang/zh.yaml +++ b/core/i18n/lang/zh.yaml @@ -93,7 +93,10 @@ SubTask: "子任务" #script ScriptLibrary: "脚本库" -ScriptVersion: "本地:{{ .localVersion }}, 远程:{{ .remoteVersion }}" +ScriptSyncSkip: "检查到当前脚本库已是最新版本!" +DownloadData: "下载脚本库文件 data.yaml" +DownloadPackage: "下载脚本库压缩包" +AnalyticCompletion: "解析成功,现在开始同步到数据库..." #sync node Node: "节点" diff --git a/frontend/src/views/cronjob/library/index.vue b/frontend/src/views/cronjob/library/index.vue index 60d38e9af..17d9cb60e 100644 --- a/frontend/src/views/cronjob/library/index.vue +++ b/frontend/src/views/cronjob/library/index.vue @@ -42,7 +42,7 @@ @@ -160,10 +160,10 @@ const onOpenDialog = async ( dialogRef.value!.acceptParams(params); }; -const showScript = async (script: string) => { +const showScript = async (row: any) => { let param = { - header: i18n.global.t('commons.button.view'), - detailInfo: script, + header: i18n.global.t('commons.button.view') + ' - ' + row.name, + detailInfo: row.script, mode: 'shell', }; myDetail.value!.acceptParams(param);