fix: 优化逻辑,提高兼容性
diff --git a/webservice.go b/webservice.go
index eb8aef2..fbd414f 100644
--- a/webservice.go
+++ b/webservice.go
@@ -353,20 +353,22 @@
 func (w *WebSession) CallService2(path string, params map[string]interface{}, timeout int,
 	signField ...string) (response *ServiceResponse, err error) {
 	err = nil
-	params["app_id"] = w.AppID
-	params["term_id"] = w.TermID
-	ts := w.GetTimestamp()
-	params["timestamp"] = ts
 
 	formData := make(map[string]string)
-	for k, v := range params {
-		formData[k] = fmt.Sprintf("%v", v)
+	if params != nil {
+		for k, v := range params {
+			formData[k] = fmt.Sprintf("%v", v)
+		}
 	}
+	formData["app_id"] = w.AppID
+	formData["term_id"] = w.TermID
+	ts := w.GetTimestamp()
+	formData["timestamp"] = ts
 
 	signData := ""
 	for _, k := range signField {
-		if v, ok := params[k]; ok {
-			signData += fmt.Sprintf("%v", v)
+		if v, ok := formData[k]; ok {
+			signData += v
 		}
 	}
 	signData += ts + w.sessionKey