github.com/lianghucheng/zrddz@v0.0.0-20200923083010-c71f680932e2/src/game/circle/handle.go (about)

     1  package circle
     2  
     3  import (
     4  	"common"
     5  	"crypto/md5"
     6  	"fmt"
     7  	"io"
     8  	"io/ioutil"
     9  	"net/http"
    10  	"net/url"
    11  	"strconv"
    12  	"time"
    13  
    14  	"github.com/name5566/leaf/log"
    15  )
    16  
    17  var (
    18  	partnerKey = "youxibi_game_chezhu_ddz"
    19  	secretKey  = "F957BC19502E301F8FDB8BF192116AFD"
    20  )
    21  
    22  func DoRequest(gatewayUrl, method, params string) []byte {
    23  	p := url.Values{}
    24  	p.Add("device", "SERVER")
    25  	p.Add("deviceId", "CZDDZ")
    26  	p.Add("lang", "CN")
    27  	p.Add("method", method)
    28  	p.Add("params", params)
    29  	p.Add("partnerKey", partnerKey)
    30  	p.Add("secretKey", secretKey)
    31  	p.Add("sendTime", strconv.Itoa(int(time.Now().Unix())))
    32  	p.Add("signType", "NORMAL")
    33  	p.Add("versionCode", "1")
    34  	p.Add("versionName", "1.0")
    35  	p.Add("sign", generateSign(p))
    36  
    37  	http.DefaultClient.Timeout = 1 * time.Minute
    38  	r, err := http.PostForm(gatewayUrl, p)
    39  	if err != nil {
    40  		log.Error("%v", err)
    41  		return []byte{}
    42  	}
    43  	defer r.Body.Close()
    44  	result, _ := ioutil.ReadAll(r.Body)
    45  	return result
    46  }
    47  
    48  func generateSign(params url.Values) string {
    49  	return sign(common.GetSignContent(params))
    50  }
    51  
    52  func sign(data string) string {
    53  	m := md5.New()
    54  	io.WriteString(m, data)
    55  	// return hex.EncodeToString(m.Sum(nil))
    56  	return fmt.Sprintf("%X", m.Sum(nil))
    57  }