diff --git a/core/parse/parse.go b/core/parse/parse.go index 5338ee9..b73f1b2 100644 --- a/core/parse/parse.go +++ b/core/parse/parse.go @@ -106,10 +106,18 @@ func Decode(data []byte, body *model.Body) error { func Pack(name string, data map[string]string) []byte { var multi []string multi = append(multi, name) - // 固定值顺序 - keys := []string{"seqNo", "result", "reqId", "resDesc"} + // 允许的拓展字段 "seqNo", "fileName" + // 固定值顺序 "result", "reqId", "resDesc" + keys := []string{"seqNo", "fileName", "result", "reqId", "resDesc"} for _, key := range keys { if v, ok := data[key]; ok { + // 长度小于32个字符,不允许带分号“;” + if key == "resDesc" && len(v) > 32 { + v = v[0:32] + } + if key == "resDesc" && strings.Contains(v, ";") { + v = strings.ReplaceAll(v, ";", "") + } multi = append(multi, fmt.Sprintf("%s=%s", key, v)) } }