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 ( import (
"bytes" "bytes"
"compress/gzip" "compress/zlib"
"encoding/base64" "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) { func CompressToBase64(data string) (string, error) {
if data == "" {
return "", nil
}
var buf bytes.Buffer var buf bytes.Buffer
gz := gzip.NewWriter(&buf) zw := zlib.NewWriter(&buf)
if _, err := gz.Write([]byte(data)); err != nil { if _, err := zw.Write([]byte(data)); err != nil {
return "", err return "", err
} }
if err := gz.Close(); err != nil { if err := zw.Close(); err != nil {
return "", err return "", err
} }
return base64.StdEncoding.EncodeToString(buf.Bytes()), nil return base64.StdEncoding.EncodeToString(buf.Bytes()), nil
} }
// DecompressFromBase64 decodes base64 and decompresses gzip data // // DecompressFromBase64 decodes base64 and decompresses zlib data
func DecompressFromBase64(data string) (string, error) { // func DecompressFromBase64(data string) (string, error) {
decoded, err := base64.StdEncoding.DecodeString(data) // if data == "" {
if err != nil { // return "", nil
return "", err // }
} // decoded, err := base64.StdEncoding.DecodeString(data)
gz, err := gzip.NewReader(bytes.NewReader(decoded)) // if err != nil {
if err != nil { // return "", err
return "", err // }
} // zr, err := zlib.NewReader(bytes.NewReader(decoded))
defer gz.Close() // if err != nil {
result, err := io.ReadAll(gz) // return "", err
if err != nil { // }
return "", err // defer zr.Close()
} // result, err := io.ReadAll(zr)
return string(result), nil // 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++) { for (let i = 0; i < binaryString.length; i++) {
bytes[i] = binaryString.charCodeAt(i) bytes[i] = binaryString.charCodeAt(i)
} }
// Decompress gzip // Decompress zlib
const decompressed = pako.ungzip(bytes, { to: 'string' }) const decompressed = pako.inflate(bytes, { to: 'string' })
return decompressed return decompressed
} catch (e) { } catch (e) {
console.error('Decompress error:', e) console.error('Decompress error:', e)