package logweb import ( syncer "xk-hy-transit-go/internal/sync" ) // UploadTokenInfo 本次上传使用的 FileAuth.java 凭证(Web 调试展示)。 type UploadTokenInfo struct { Algorithm string `json:"algorithm"` PolicyJSON string `json:"policyJson"` EncodedPutPolicy string `json:"encodedPutPolicy"` SignInput string `json:"signInput"` EncodedSign string `json:"encodedSign"` UploadToken string `json:"uploadToken"` UploadTokenMasked string `json:"uploadTokenMasked"` DeadlineUnix int64 `json:"deadlineUnix"` } func uploadTokenInfoFromResult(res *syncer.UploadTestResult) UploadTokenInfo { if res == nil { return UploadTokenInfo{} } p := res.Parts return UploadTokenInfo{ Algorithm: p.Algorithm, PolicyJSON: p.PolicyJSON, EncodedPutPolicy: p.EncodedPutPolicy, SignInput: p.SignInput, EncodedSign: p.EncodedSign, UploadToken: p.UploadToken, UploadTokenMasked: maskPreview(p.UploadToken), DeadlineUnix: p.DeadlineUnix, } } func uploadTestPayload(res *syncer.UploadTestResult, uploadURL string, ok bool, fileID string) map[string]any { out := map[string]any{ "ok": ok, "url": uploadURL, "tokenInfo": uploadTokenInfoFromResult(res), } if res != nil { out["filename"] = res.Filename out["scope"] = res.Scope } if fileID != "" { out["fileId"] = fileID } return out }