fix: Optimize the synchronization log information of the script library (#9188)

This commit is contained in:
ssongliu 2025-06-19 18:42:59 +08:00 committed by GitHub
parent 76c608c703
commit 83e1db723e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 43 additions and 19 deletions

View file

@ -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)
}

View file

@ -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"

View file

@ -94,7 +94,10 @@ SubTask: "サブタスク"
#script
ScriptLibrary: "スクリプトライブラリ"
ScriptVersion: "ローカル: {{ .localVersion }} リモート: {{ .remoteVersion }}"
ScriptSyncSkip: "現在のスクリプトライブラリは最新バージョンです!"
DownloadData: "スクリプトライブラリファイル data.yaml をダウンロード中"
DownloadPackage: "スクリプトライブラリパッケージをダウンロード中"
AnalyticCompletion: "解析が完了しました、データベースに同期しています..."
Node: "ノード"
SyncNode: "ノードデータ同期"

View file

@ -93,7 +93,10 @@ SubTask: "서브 작업"
#script
ScriptLibrary: "스크립트 라이브러리"
ScriptVersion: "로컬: {{ .localVersion }}, 원격: {{ .remoteVersion }}"
ScriptSyncSkip: "현재 스크립트 라이브러리가 이미 최신 버전입니다!"
DownloadData: "스크립트 라이브러리 파일 data.yaml 다운로드 중"
DownloadPackage: "스크립트 라이브러리 패키지 다운로드 중"
AnalyticCompletion: "분석 완료, 데이터베이스에 동기화 중..."
Node: "노드"
SyncNode: "노드 데이터 동기화"

View file

@ -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"

View file

@ -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ó"

View file

@ -93,7 +93,10 @@ SubTask: "Подзадача"
#script
ScriptLibrary: "Библиотека скриптов"
ScriptVersion: "Локальная: {{ .localVersion }}, Удалённая: {{ .remoteVersion }}"
ScriptSyncSkip: "Текущая библиотека скриптов уже является последней версией!"
DownloadData: "Загрузка файла библиотеки скриптов data.yaml"
DownloadPackage: "Загрузка архива библиотеки скриптов"
AnalyticCompletion: "Анализ завершён, начинается синхронизация с базой данных..."
Node: "Узел"
SyncNode: "Синхронизация данных узла"

View file

@ -93,7 +93,10 @@ SubTask: "子任務"
#script
ScriptLibrary: "腳本庫"
ScriptVersion: "本地: {{ .localVersion }} 遠端: {{ .remoteVersion }}"
ScriptSyncSkip: "當前腳本庫已是最新版本!"
DownloadData: "下載腳本庫文件 data.yaml"
DownloadPackage: "下載腳本庫壓縮包"
AnalyticCompletion: "解析成功,現在開始同步到資料庫..."
#sync node
Node: "節點"

View file

@ -93,7 +93,10 @@ SubTask: "子任务"
#script
ScriptLibrary: "脚本库"
ScriptVersion: "本地:{{ .localVersion }} 远程:{{ .remoteVersion }}"
ScriptSyncSkip: "检查到当前脚本库已是最新版本!"
DownloadData: "下载脚本库文件 data.yaml"
DownloadPackage: "下载脚本库压缩包"
AnalyticCompletion: "解析成功,现在开始同步到数据库..."
#sync node
Node: "节点"

View file

@ -42,7 +42,7 @@
<el-table-column type="selection" fix />
<el-table-column :label="$t('commons.table.name')" show-overflow-tooltip prop="name" min-width="60">
<template #default="{ row }">
<el-text type="primary" class="cursor-pointer" @click="showScript(row.script)">
<el-text type="primary" class="cursor-pointer" @click="showScript(row)">
{{ row.name }}
</el-text>
</template>
@ -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);