chore: replace task logs output compress

This commit is contained in:
engigu
2025-12-22 17:42:19 +08:00
parent be3527cb61
commit 17c6036893
2 changed files with 30 additions and 25 deletions
+28 -23
View File
@@ -2,38 +2,43 @@ package utils
import (
"bytes"
"compress/gzip"
"compress/zlib"
"encoding/base64"
"io"
)
// CompressToBase64 compresses data using gzip and encodes to base64
// CompressToBase64 compresses data using zlib and encodes to base64
func CompressToBase64(data string) (string, error) {
if data == "" {
return "", nil
}
var buf bytes.Buffer
gz := gzip.NewWriter(&buf)
if _, err := gz.Write([]byte(data)); err != nil {
zw := zlib.NewWriter(&buf)
if _, err := zw.Write([]byte(data)); err != nil {
return "", err
}
if err := gz.Close(); err != nil {
if err := zw.Close(); err != nil {
return "", err
}
return base64.StdEncoding.EncodeToString(buf.Bytes()), nil
}
// DecompressFromBase64 decodes base64 and decompresses gzip data
func DecompressFromBase64(data string) (string, error) {
decoded, err := base64.StdEncoding.DecodeString(data)
if err != nil {
return "", err
}
gz, err := gzip.NewReader(bytes.NewReader(decoded))
if err != nil {
return "", err
}
defer gz.Close()
result, err := io.ReadAll(gz)
if err != nil {
return "", err
}
return string(result), nil
}
// // DecompressFromBase64 decodes base64 and decompresses zlib data
// func DecompressFromBase64(data string) (string, error) {
// if data == "" {
// return "", nil
// }
// decoded, err := base64.StdEncoding.DecodeString(data)
// if err != nil {
// return "", err
// }
// zr, err := zlib.NewReader(bytes.NewReader(decoded))
// if err != nil {
// return "", err
// }
// defer zr.Close()
// result, err := io.ReadAll(zr)
// if err != nil {
// return "", err
// }
// return string(result), nil
// }
+2 -2
View File
@@ -9,8 +9,8 @@ export function decompressFromBase64(compressed: string): string {
for (let i = 0; i < binaryString.length; i++) {
bytes[i] = binaryString.charCodeAt(i)
}
// Decompress gzip
const decompressed = pako.ungzip(bytes, { to: 'string' })
// Decompress zlib
const decompressed = pako.inflate(bytes, { to: 'string' })
return decompressed
} catch (e) {
console.error('Decompress error:', e)