<?php
|
include_once '/Common/CommFunc.php';
|
include_once '/Common/Logging.php';
|
include_once "/ProjComm/CfgReader.php";
|
include_once "quicksdkAsy.php";
|
|
header("Content-type: text/html; charset=utf-8");
|
|
// https://www.quicksdk.com/doc-512.html#catlog4
|
|
\Logging\CreateLogging("quick.facebookgift.php");
|
\Logging\LogInfo("_POST" . print_r($_POST, true));
|
|
$user_id = $_POST["uid"]; // 平台账号 领取礼包的用户uid
|
$role_id = $_POST["roleInfo"]; // 玩家ID 游戏跳转活动页面是传递的游戏roleId,原样返回
|
$area_id = $_POST["serverInfo"]; // 区服ID 游戏跳转活动页面是传递的游戏serverId,原样返回
|
$code = $_POST["giftNo"]; // 媒体卡 游戏礼包活动唯一值,表示用户要领取的哪个活动礼包
|
$sign = $_POST["sign"];
|
|
if (!$user_id || !$area_id || !$code || !$sign) {
|
Ret("FAILED", "ParamError");
|
return;
|
}
|
|
$spid = "mlgtgame";
|
if ($_POST["spid"]) {
|
// 可选参数,也可用于测试用
|
$spid = $_POST["spid"];
|
}
|
$channelID = "9997";
|
$appid = $spid;
|
|
if (
|
!\CfgReader\ReadConfig()
|
|| !\CfgReader\GetConfigData("Quick", "Key_" . $appid . "_hygtgame_Callback_Key", $Callback_Key)
|
|| !\CfgReader\GetConfigData("Quick", "Key_" . $appid . "_hygtgame_CouponCodeUrl", $CouponCodeUrl)
|
) {
|
Ret("FAILED", "CfgError");
|
exit;
|
}
|
|
$md5SignLocal = quickAsy::getMd5Sign($Callback_Key);
|
if ($md5SignLocal != $sign) {
|
Ret("FAILED", " SignError md5SignLocal:" . $md5SignLocal . " != sign:" . $sign);
|
exit;
|
}
|
|
$serverIDArray = array(intval($area_id));
|
$serverPageInfo = \CommFunc\GetGameServerPageInfo($spid, $serverIDArray);
|
if (count($serverPageInfo) <= 0) {
|
Ret("FAILED", "not serverPageInfo");
|
return;
|
}
|
// 目标角色对应游戏服务器gmtool地址
|
$serverPageValues = array_values($serverPageInfo);
|
|
$pushurl = $serverPageValues[0]["Page"];
|
if (!$pushurl) {
|
Ret("FAILED", "not pushurl");
|
return;
|
}
|
|
$accid = $user_id . "@" . $channelID;
|
$getdata = array(
|
"channel" => $spid, // 目前同spid
|
"spid" => $spid, // 运营商ID,研发自己配置的,如jisu代表极速平台
|
"code" => $code, // 兑换码
|
"accid" => $accid, // 平台账号
|
"sid" => $area_id, // 服务器ID 数字
|
"pushurl" => $pushurl,
|
// "level" => $_GET["level"], // 玩家等级
|
// "viplevel" => $_GET["viplevel"], // 玩家VIP等级
|
);
|
|
\Logging\LogInfo("CouponCodeUrl: " . $CouponCodeUrl);
|
\Logging\LogInfo("getdata: " . print_r($getdata, true));
|
$ret = \CommFunc\DoGet($CouponCodeUrl, $getdata);
|
\Logging\LogInfo("ret: " . $ret);
|
|
$result = "FAILED";
|
if ($ret) {
|
$ret = json_decode($ret, true);
|
switch ($ret["errcode"]) {
|
case 0: // ErrCode_OK = 0 # 成功,非0的码均代表错误
|
$result = "SUCCESS";
|
break;
|
default:
|
// ErrCode_Invalid = 1 # 兑换码无效
|
// ErrCode_Used = 2 # 礼包码已被使用
|
// ErrCode_TypeUsed = 3 # 已经使用过同类型的礼包码
|
// ErrCode_LVLimit = 4 # 等级不足
|
// ErrCode_VIPLVLimit = 5 # VIP等级不足
|
// ErrCode_ParamErr = 97 # 参数错误
|
// ErrCode_FrequentRequest = 98 # 频繁请求
|
// ErrCode_OtherErr = 99 # 其他错误,比如运行错误等
|
break;
|
}
|
}
|
|
Ret($result);
|
exit;
|
|
function Ret($ret, $msg = "")
|
{
|
echo $ret;
|
$logMsg = $ret;
|
if ($msg) {
|
$logMsg .= " msg => " . $msg;
|
}
|
if ($ret != "SUCCESS") {
|
\Logging\LogError($logMsg);
|
} else {
|
\Logging\LogInfo($logMsg);
|
}
|
}
|