Commit aeb01c63 authored by tufengqi's avatar tufengqi

接口format类优化

parent 99609d00
...@@ -7,4 +7,6 @@ class BaseConstant ...@@ -7,4 +7,6 @@ class BaseConstant
const MSG = 'msg'; const MSG = 'msg';
const CODE = 'code'; const CODE = 'code';
const VAL = 'val'; const VAL = 'val';
const OK = 'ok';
const FINALTAG = 'finaltag';
} }
...@@ -21,10 +21,10 @@ trait ResponseApi ...@@ -21,10 +21,10 @@ trait ResponseApi
/** /**
* 失败返回接口 * 失败返回接口
* @param string $msg * @param string $msg
* @param string $flag
* @param int $code * @param int $code
* @param string $flag
*/ */
public static function jsonError($msg = '', $flag = 'final', $code = -1) public static function jsonError($msg = '', $code = -1, $flag = '')
{ {
if (empty($msg)) { if (empty($msg)) {
$msg = 'unknown error'; $msg = 'unknown error';
...@@ -43,11 +43,11 @@ trait ResponseApi ...@@ -43,11 +43,11 @@ trait ResponseApi
* @param string $flag * @param string $flag
* @param int $code * @param int $code
*/ */
public static function jsonSuccess($msg = '', $flag = 'final', $code = 0) public static function jsonSuccess($msg = '', $code = 0, $flag = '')
{ {
$view = [ $view = [
BaseConstant::CODE => $code, BaseConstant::CODE => $code,
BaseConstant::MSG => 'ok', BaseConstant::MSG => BaseConstant::OK,
BaseConstant::VAL => $msg BaseConstant::VAL => $msg
]; ];
$json = json_encode($view); $json = json_encode($view);
...@@ -55,47 +55,16 @@ trait ResponseApi ...@@ -55,47 +55,16 @@ trait ResponseApi
} }
/** /**
* 直接处理老接口数据
* @param $ret
* @param string $flag
*/
public static function dealOldRet($ret, $flag = 'final')
{
if (true === $ret['error']) {
$ret = json_encode([]);
} else {
$ret = json_encode($ret['msg']);
}
$callback = '';
if (true === self::$is_support_jsonp) {
$callback_key = 'jsonpcallback';
$callback = $_GET[$callback_key];
if ($callback) {
header('Content-type: application/javascript');
$callback = Html::encode($callback_key);
$ret = $callback . '(' . $ret . ')';
}
}
if (!$callback) {
header('Content-type: application/json');
}
echo $ret;
if ('final' === $flag) {
exit;
}
}
/**
* 直接处理接口数据 * 直接处理接口数据
* @param $ret * @param $ret
* @param string $flag * @param string $flag
*/ */
public static function dealRet($ret, $flag = 'final') public static function dealRet($ret, $flag = '')
{ {
if (true === $ret['error']) { if (true === $ret['error']) {
self::jsonError($ret['msg'] ? $ret['msg'] : 'unknown error'); self::jsonError($ret['msg'] ? $ret['msg'] : 'unknown error');
} else { } else {
self::jsonSuccess($ret['msg'] ? $ret['msg'] : 'ok', $flag); self::jsonSuccess($ret['msg'] ? $ret['msg'] : BaseConstant::OK, $flag);
} }
} }
...@@ -104,11 +73,11 @@ trait ResponseApi ...@@ -104,11 +73,11 @@ trait ResponseApi
* @param $json * @param $json
* @param string $flag * @param string $flag
*/ */
public static function dumpJsonData($json, $flag = 'final') public static function dumpJsonData($json, $flag = '')
{ {
$callback = ''; $callback = '';
if (true === self::$is_support_jsonp) { if (true === self::$is_support_jsonp) {
header('Content-type: application/javascript'); self::header('Content-type: application/javascript');
$callback_key = 'jsonpcallback'; $callback_key = 'jsonpcallback';
$callback = $_GET[$callback_key]; $callback = $_GET[$callback_key];
if ($callback) { if ($callback) {
...@@ -117,28 +86,57 @@ trait ResponseApi ...@@ -117,28 +86,57 @@ trait ResponseApi
} }
} }
if (!$callback) { if (!$callback) {
header('Content-type: application/json'); self::header('Content-type: application/json');
} }
echo $json; echo $json;
if ('final' === $flag) { if (BaseConstant::FINALTAG === $flag) {
exit; exit;
} }
} }
/** /**
* @param $callback_key
* @param $json_str * @param $json_str
* @param $callback_key
*/ */
public static function printByJson($callback_key, $json_str) public static function printByJson($json_str, $callback_key = '')
{ {
$callback = $_GET[$callback_key]; $callback = '';
if ($callback_key) {
$callback = $_GET[$callback_key] ?? '';
}
if ($callback) { if ($callback) {
$callback = Html::encode($callback_key); $callback = Html::encode($callback_key);
header('Content-type: application/javascript'); self::header('Content-type: application/javascript');
echo $callback . '(' . $json_str . ')'; echo $callback . '(' . $json_str . ')';
} else { } else {
header('Content-type: application/json'); self::header('Content-type: application/json');
echo $json_str; echo $json_str;
} }
} }
/**
* @param $json_str
* @param $callback_key
*/
public static function printByArr($arr, $callback_key = '')
{
$callback = '';
if ($callback_key) {
$callback = $_GET[$callback_key] ?? '';
}
if ($callback) {
$callback = Html::encode($callback_key);
self::header('Content-type: application/javascript');
echo $callback . '(' . json_encode($arr) . ')';
} else {
self::header('Content-type: application/json');
echo json_encode($arr);
}
}
public function header($value)
{
if (1 != \Yii::$app->request->get('debug')) {
header($value);
}
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment