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