<?php
|
|
/**
|
* error code 说明.
|
* <ul>
|
|
* <li>-41001: encodingAesKey 非法</li>
|
* <li>-41003: aes 解密失败</li>
|
* <li>-41004: 解密后得到的buffer非法</li>
|
* <li>-41005: base64加密失败</li>
|
* <li>-41016: base64解密失败</li>
|
* </ul>
|
*/
|
class ErrorCode
|
{
|
public static $OK = 0;
|
public static $IllegalAesKey = -41001;
|
public static $IllegalIv = -41002;
|
public static $IllegalBuffer = -41003;
|
public static $DecodeBase64Error = -41004;
|
|
public static $GameServerFail = -1; // 游戏服务器失败
|
public static $ParamErr = -98; // 参数异常
|
public static $NoPlayer = -99; // 找不到玩家
|
private static $errcodeMsg = null;
|
/**
|
* 获取错误码对应的错误信息说明
|
*/
|
private static function getErrcodeMsg($errcode)
|
{
|
if (ErrorCode::$errcodeMsg == null) {
|
ErrorCode::$errcodeMsg = array(
|
ErrorCode::$OK => "ok",
|
ErrorCode::$GameServerFail => "game server fail",
|
ErrorCode::$ParamErr => "param error",
|
ErrorCode::$NoPlayer => "no player",
|
);
|
}
|
if (array_key_exists($errcode, ErrorCode::$errcodeMsg)) {
|
return ErrorCode::$errcodeMsg[$errcode];
|
}
|
return $errcode . "";
|
}
|
|
/**
|
* 游戏服务器返回成功信息
|
* @param array $playerData 通知前端需要更新的玩家数据
|
* @param array $optData 通知前端本次操作数据,业务逻辑自行定义
|
*/
|
public static function retOK($playerData = [], $optData = [])
|
{
|
// gserrcode 游戏服务器处理结果
|
$code = ErrorCode::$OK;
|
$ret = ["gserrcode" => $code, "gserrmsg" => ErrorCode::getErrcodeMsg($code)];
|
|
// 同步更新的玩家数据
|
if ($playerData) {
|
$ret["playerData"] = $playerData;
|
}
|
|
// 操作数据
|
if ($optData) {
|
$ret["optData"] = $optData;
|
}
|
\Logging\LogInfo('retOK: ' . print_r($ret, true));
|
return $ret;
|
}
|
|
/**
|
* 游戏服务器返回错误信息
|
* @param mixed $code 错误码
|
* @param string $errInfo 错误附加信息,自定义内容,会添加在errmsg后
|
*/
|
public static function retErr($code, $errInfo = "")
|
{
|
if ($errInfo) {
|
$errInfo = " => " . $errInfo;
|
}
|
$ret = ["gserrcode" => $code, "gserrmsg" => ErrorCode::getErrcodeMsg($code) . $errInfo];
|
\Logging\LogInfo('retErr: ' . print_r($ret, true));
|
return $ret;
|
}
|
}
|