Browse Source

feat: 优化文件解压,保留文件更新时间 (#5509)

Refs https://github.com/1Panel-dev/1Panel/issues/5474
pull/5517/head
zhengkunwang 5 months ago committed by GitHub
parent
commit
9f3181b8f3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 22
      backend/utils/files/file_op.go
  2. 5
      frontend/src/components/log-file/index.vue
  3. 4
      frontend/src/views/website/runtime/php/index.vue

22
backend/utils/files/file_op.go

@ -611,25 +611,15 @@ func (f FileOp) decompressWithSDK(srcFile string, dst string, cType CompressType
}
func (f FileOp) Decompress(srcFile string, dst string, cType CompressType, secret string) error {
if err := f.decompressWithSDK(srcFile, dst, cType); err != nil {
if cType == Tar || cType == Zip || cType == TarGz {
if secret != "" {
shellArchiver, err := NewShellArchiver(TarGz)
if err != nil {
return err
}
return shellArchiver.Extract(srcFile, dst, secret)
} else {
shellArchiver, err := NewShellArchiver(cType)
if err != nil {
return err
}
return shellArchiver.Extract(srcFile, dst, secret)
if cType == Tar || cType == Zip || cType == TarGz {
shellArchiver, err := NewShellArchiver(cType)
if err == nil {
if err = shellArchiver.Extract(srcFile, dst, secret); err == nil {
return nil
}
}
return err
}
return nil
return f.decompressWithSDK(srcFile, dst, cType)
}
func ZipFile(files []archiver.File, dst afero.File) error {

5
frontend/src/components/log-file/index.vue

@ -119,6 +119,9 @@ const getContent = (pre: boolean) => {
readReq.id = props.config.id;
readReq.type = props.config.type;
readReq.name = props.config.name;
if (readReq.page < 1) {
readReq.page = 1;
}
ReadByLine(readReq).then((res) => {
if (!end.value && res.data.end) {
lastContent.value = content.value;
@ -178,7 +181,7 @@ const changeTail = (fromOutSide: boolean) => {
if (tailLog.value) {
timer = setInterval(() => {
getContent(false);
}, 1000 * 2);
}, 1000 * 3);
} else {
onCloseLog();
}

4
frontend/src/views/website/runtime/php/index.vue

@ -72,7 +72,9 @@
</el-table-column>
<el-table-column :label="$t('website.log')" prop="">
<template #default="{ row }">
<el-button @click="openLog(row)" link type="primary">{{ $t('website.check') }}</el-button>
<el-button @click="openLog(row)" link type="primary" :disabled="row.resource == 'local'">
{{ $t('website.check') }}
</el-button>
</template>
</el-table-column>
<el-table-column

Loading…
Cancel
Save