Ejemplo n.º 1
0
 public function call($method, $params, $appId)
 {
     $prismHost = config::get('prism.prismHostUrl');
     $prismSocketFile = config::get('prism.prismSocketFile');
     //获取应用对应的key和secret
     $keySecret = apiUtil::getPrismKey($appId);
     $key = $keySecret['key'];
     $secret = $keySecret['secret'];
     //获取path
     $path = apiUtil::genApiPath($method);
     //params加入系统数据
     $systemParams = $this->__genSystemParams($method);
     $params = array_merge($params, $systemParams);
     $params['method'] = $method;
     //实例化请求工具
     $client = new base_prism_client($prismHost, $key, $secret, $prismSocketFile);
     //$path = "/api/bbc?method=bbc.test";
     $result = $client->post($path, $params);
     //日志记录
     //之前request和response分开记录的,发现不容易找,只好放一起了
     logger::info('call API : ' . $method . "\n" . 'wiht host : ' . $prismHost . "\n" . 'wiht key : ' . $key . "\n" . 'wiht secret : ' . $secret . "\n" . 'with params :' . var_export($params, 1) . "\n" . 'api result : ' . $result . "\n");
     //这里是返回数据
     $result = json_decode($result, 1);
     if ($result['error'] == null) {
         return $result['result'];
     } else {
         //根据返回的数据是否错误,如果有错误,尽量以原有异常抛出
         $exception = $result['error']['exception'] ? $result['error']['exception'] : 'Exception';
         logger::error(var_export($result, 1));
         $e = new $exception($result['error']['message']);
         throw $e;
     }
 }
Ejemplo n.º 2
0
 public function set()
 {
     $conn = system_prism_init_util::getAdminConn();
     $appName = 'sysopen';
     $keySecret = apiUtil::getPrismKey($appName);
     $url = config::get('prism.prismHostUrl') . apiUtil::genApiPath('open.oauth.login') . '&v=v1&format=json';
     $config = array('CfgIdColumn' => 'accountid', 'Host' => $url, 'Key' => $keySecret['key'], 'Secret' => $keySecret['secret'], "Meta" => "{\"type\":\"oauth_type\"}", "Response" => "result");
     $params = array('is_sandbox' => false, 'config' => json_encode($config));
     logger::info('oauth on prism set : ' . var_export($params, true));
     $this->call($conn, '/api/platform/manageoauth/config/set', $params, 'post');
     return true;
 }