// 激活服务器(服务器启动时主动调用) // manageCenterUrl:远程的激活Url // serverGroupId:服务器组Id // 返回值: // 错误对象 func ActivateServer(manageCenterUrl string, serverGroupId int) error { // 定义请求参数 postDict := make(map[string]string) postDict["ServerGroupID"] = strconv.Itoa(serverGroupId) // 连接服务器,以激活数据 returnBytes, err := webUtil.PostWebData(manageCenterUrl, postDict, nil) if err != nil { return fmt.Errorf("请求ManageCenter错误,错误信息为:%s", err) } // 进行zlib解压缩 returnBytes, err = zlibUtil.Decompress(returnBytes) if err != nil { return fmt.Errorf("zlib解压缩错误,错误信息为:%s", err) } // 将返回的数据进行反序列化 var returnObj *returnObject.ReturnObject if err = json.Unmarshal(returnBytes, &returnObj); err != nil { return fmt.Errorf("反序列化ManageCenter的结果错误,结果为:%s", string(returnBytes)) } // Code=0表示成功,否则表示失败 if returnObj.Code != 0 { return fmt.Errorf("激活服务器失败,返回值为:%s", string(returnBytes)) } // 解析得到的数据 return ParseData(serverGroupId, returnObj.Data) }
// 生成订单号 // weburl:生成订单的地址 // productId:产品Id // partnerId:合作商Id // serverId:服务器Id // userId:用户Id // playerId:玩家Id // mac:客户端的MAC地址 // idfa:客户端的IDFA // ip:客户端的IP地址 // imei:客户端的IMEI // extra:额外信息 // 返回值: // 生成的订单号 // 错误对象 func GenerateOrderId(weburl, productId string, partnerId, serverId int, userId, playerId, mac, idfa, ip, imei, extra string) (string, error) { // 定义请求参数 postDict := make(map[string]string) postDict["ProductId"] = productId postDict["PartnerId"] = strconv.Itoa(partnerId) postDict["ServerId"] = strconv.Itoa(serverId) postDict["UserId"] = userId postDict["PlayerId"] = playerId postDict["MAC"] = mac postDict["IDFA"] = idfa postDict["IP"] = ip postDict["IMEI"] = imei postDict["Extra"] = extra // 通过POST方式请求数据 resp, err := webUtil.PostWebData(weburl, postDict, nil) if err != nil { return "", err } return string(resp), nil }