UiIcbcClient.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. include_once 'IcbcConstants.php';
  3. include_once 'IcbcSignature.php';
  4. include_once 'WebUtils.php';
  5. include_once 'IcbcEncrypt.php';
  6. include_once 'DefaultIcbcClient.php';
  7. class UiIcbcClient extends DefaultIcbcClient{
  8. function __construct($appId,$privateKey,$signType,$charset,$format,$icbcPulicKey,
  9. $encryptKey,$encryptType,$ca,$password){
  10. parent::__construct($appId,$privateKey,$signType,$charset,$format,$icbcPulicKey,
  11. $encryptKey,$encryptType,$ca,$password);
  12. }
  13. function buildPostForm($request,$msgId,$appAuthToken){
  14. $params = $this->prepareParams($request, $msgId, null);
  15. $urlQueryParams = $this->buildUrlQueryParams($params);
  16. $url = WebUtils::buildGetUrl($request["serviceUrl"],$urlQueryParams,$this->charset);
  17. return WebUtils::buildForm($url,$this->buildBodyParams($params));
  18. }
  19. function buildUrlQueryParams($params){
  20. $apiParamNames[]=IcbcConstants::$SIGN;
  21. $apiParamNames[]=IcbcConstants::$APP_ID;
  22. $apiParamNames[]=IcbcConstants::$SIGN_TYPE;
  23. $apiParamNames[]=IcbcConstants::$CHARSET;
  24. $apiParamNames[]=IcbcConstants::$FORMAT;
  25. $apiParamNames[]=IcbcConstants::$ENCRYPT_TYPE;
  26. $apiParamNames[]=IcbcConstants::$TIMESTAMP;
  27. $apiParamNames[]=IcbcConstants::$MSG_ID;
  28. foreach ($params as $key => $value) {
  29. if(in_array($key,$apiParamNames)){
  30. $urlQueryParams[$key]=$value;
  31. }
  32. }
  33. return $urlQueryParams;
  34. }
  35. function buildBodyParams($params){
  36. $apiParamNames[]=IcbcConstants::$SIGN;
  37. $apiParamNames[]=IcbcConstants::$APP_ID;
  38. $apiParamNames[]=IcbcConstants::$SIGN_TYPE;
  39. $apiParamNames[]=IcbcConstants::$CHARSET;
  40. $apiParamNames[]=IcbcConstants::$FORMAT;
  41. $apiParamNames[]=IcbcConstants::$ENCRYPT_TYPE;
  42. $apiParamNames[]=IcbcConstants::$TIMESTAMP;
  43. $apiParamNames[]=IcbcConstants::$MSG_ID;
  44. foreach ($params as $key => $value) {
  45. if(in_array($key,$apiParamNames)){
  46. continue;
  47. }
  48. $urlQueryParams[$key]=$value;
  49. }
  50. return $urlQueryParams;
  51. }
  52. }
  53. ?>