Files
mina_auth/system/parse_request.php
2016-10-28 17:26:21 +08:00

117 lines
5.7 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* Created by PhpStorm.
* User: ayisun
* Date: 2016/10/3
* Time: 11:22
*/
class parse_request
{
public function __construct()
{
require_once('return_code.php');
require_once('application/controllers/qcloud/minaauth/Auth.php');
require_once('log/log.php');
}
/**
* @param $request_json
* @return array|int
* 描述:解析接口名称
*/
public function parse_json($request_json)
{
log_message("info",$request_json);
if ($this->is_json($request_json)) {
$json_decode = json_decode($request_json, true);
if (!isset($json_decode['interface']['interfaceName'])) {
$ret['returnCode'] = return_code::MA_NO_INTERFACE;
$ret['returnMessage'] = 'NO_INTERFACENAME_PARA';
$ret['returnData'] = '';
} else if (!isset($json_decode['interface']['para'])) {
$ret['returnCode'] = return_code::MA_NO_PARA;
$ret['returnMessage'] = 'NO_PARA';
$ret['returnData'] = '';
} else {
if ($json_decode['interface']['interfaceName'] == 'qcloud.cam.id_skey') {
if (isset($json_decode['interface']['para']['code'])&&isset($json_decode['interface']['para']['encrypt_data'])) {
$code = $json_decode['interface']['para']['code'];
$encrypt_data = $json_decode['interface']['para']['encrypt_data'];
$auth = new Auth();
$ret = $auth->get_id_skey($code,$encrypt_data);
} else {
$ret['returnCode'] = return_code::MA_PARA_ERR;
$ret['returnMessage'] = 'PARA_ERR';
$ret['returnData'] = '';
}
} else if ($json_decode['interface']['interfaceName'] == 'qcloud.cam.auth') {
if (isset($json_decode['interface']['para']['id']) && isset($json_decode['interface']['para']['skey'])) {
$id = $json_decode['interface']['para']['id'];
$skey = $json_decode['interface']['para']['skey'];
$auth = new Auth();
$ret = $auth->auth($id, $skey);
} else {
$ret['returnCode'] = return_code::MA_PARA_ERR;
$ret['returnMessage'] = 'PARA_ERR';
$ret['returnData'] = '';
}
} else if ($json_decode['interface']['interfaceName'] == 'qcloud.cam.decrypt') {
if (isset($json_decode['interface']['para']['id']) && isset($json_decode['interface']['para']['skey']) && isset($json_decode['interface']['para']['encrypt_data'])) {
$id = $json_decode['interface']['para']['id'];
$skey = $json_decode['interface']['para']['skey'];
$encrypt_data = $json_decode['interface']['para']['encrypt_data'];
$auth = new Auth();
$ret = $auth->decrypt($id, $skey, $encrypt_data);
} else {
$ret['returnCode'] = return_code::MA_PARA_ERR;
$ret['returnMessage'] = 'PARA_ERR';
$ret['returnData'] = '';
}
}else if($json_decode['interface']['interfaceName'] == 'qcloud.cam.initdata'){
if (isset($json_decode['interface']['para']['appid']) && isset($json_decode['interface']['para']['secret']) && isset($json_decode['interface']['para']['qcloud_appid']) && isset($json_decode['interface']['para']['ip'])
&& isset($json_decode['interface']['para']['cdb_ip'])&& isset($json_decode['interface']['para']['cdb_port']) && isset($json_decode['interface']['para']['cdb_user_name'])&& isset($json_decode['interface']['para']['cdb_pass_wd']) ) {
$appid = $json_decode['interface']['para']['appid'];
$secret = $json_decode['interface']['para']['secret'];
$qcloud_appid = $json_decode['interface']['para']['qcloud_appid'];
$ip = $json_decode['interface']['para']['ip'];
$cdb_ip = $json_decode['interface']['para']['cdb_ip'];
$cdb_port = $json_decode['interface']['para']['cdb_port'];
$cdb_user_name = $json_decode['interface']['para']['cdb_user_name'];
$cdb_pass_wd = $json_decode['interface']['para']['cdb_pass_wd'];
$auth = new Auth();
$ret = $auth->init_data($appid,$secret,$qcloud_appid,$ip,$cdb_ip,$cdb_port,$cdb_user_name,$cdb_pass_wd);
} else {
$ret['returnCode'] = return_code::MA_PARA_ERR;
$ret['returnMessage'] = 'PARA_ERR';
$ret['returnData'] = '';
}
} else {
$ret['returnCode'] = return_code::MA_INTERFACE_ERR;
$ret['returnMessage'] = 'INTERFACENAME_PARA_ERR';
$ret['returnData'] = '';
}
}
} else {
$ret['returnCode'] = return_code::MA_REQUEST_ERR;
$ret['returnMessage'] = 'REQUEST_IS_NOT_JSON';
$ret['returnData'] = '';
}
$ret['version'] = 1;
$ret['componentName'] = "MA";
log_message("info",json_encode($ret));
return json_encode($ret);
}
/**
* @param $str
* @return bool
* 描述判断字符串是不是合法的json
*/
private function is_json($str)
{
json_decode($str);
return (json_last_error() == JSON_ERROR_NONE);
}
}