Esempio n. 1
0
// 激活服务器(服务器启动时主动调用)
// 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)
}
Esempio n. 2
0
// 生成订单号
// 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
}