From 02ebb6a7a1602e9c443cc3c7215fbcf161a0a49d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E4=B8=9C=E4=BA=91?= Date: Thu, 6 Jul 2023 17:20:10 +0800 Subject: [PATCH] =?UTF-8?q?perf(user.rpc):=20=E5=B0=86=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E6=97=B6=E8=BF=94=E5=9B=9E=E7=9A=84=E6=95=B0=E6=8D=AE=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E6=94=B9=E4=B8=BA=E4=BA=86=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Sdk/AddressRpc.php | 144 ++++++++++++++++++++++++++++++----------- src/Sdk/UserRpc.php | 83 +++++++++++++++--------- 2 files changed, 161 insertions(+), 66 deletions(-) diff --git a/src/Sdk/AddressRpc.php b/src/Sdk/AddressRpc.php index 8056b30..53508dd 100644 --- a/src/Sdk/AddressRpc.php +++ b/src/Sdk/AddressRpc.php @@ -5,12 +5,15 @@ namespace Singularity\HDK\Auth\Sdk; use GuzzleHttp\Exception\GuzzleException; use GuzzleHttp\RequestOptions; +use Hyperf\Codec\Json; use Hyperf\Contract\TranslatorInterface; use Hyperf\Di\Annotation\Inject; use Psr\Http\Client\ClientExceptionInterface; use Psr\Http\Message\ResponseInterface; use Singularity\HDK\Core\Service\HttpRequestService; +use function Hyperf\Config\config; + class AddressRpc { #[Inject] @@ -22,11 +25,6 @@ class AddressRpc public function __construct() { $this->requestService->setOptions([ - [ - 'headers' => [ - 'Accept-Language' => $this->translator->getLocale(), - ], - ], 'base_uri' => config('common.http_request.account.rpc_base_uri'), RequestOptions::ALLOW_REDIRECTS => true, ]); @@ -34,13 +32,23 @@ class AddressRpc /** * @param $uid - * @return ResponseInterface + * @return array * @throws GuzzleException - * @throws ClientExceptionInterface */ - public function list($uid): ResponseInterface + public function list($uid): array { - return $this->requestService->requestGet('/address', params: ['uid' => $uid]); + $response = $this->requestService + ->setOptions([ + [ + 'headers' => [ + 'Accept-Language' => $this->translator->getLocale(), + ], + ], + ]) + ->requestGet('/rpc/address', params: ['uid' => $uid]); + + $content = $response->getBody()->getContents(); + return Json::decode($content); } /** @@ -49,9 +57,20 @@ class AddressRpc * @return ResponseInterface * @throws GuzzleException */ - public function create($uid, $data): ResponseInterface + public function create($uid, $data): array { - return $this->requestService->requestPost('/address/create', $data, ['uid' => $uid]); + $response = $this->requestService + ->setOptions([ + [ + 'headers' => [ + 'Accept-Language' => $this->translator->getLocale(), + ], + ], + ]) + ->requestPost('/rpc/address/create', $data, ['uid' => $uid]); + + $content = $response->getBody()->getContents(); + return Json::decode($content); } /** @@ -61,62 +80,115 @@ class AddressRpc * @return ResponseInterface * @throws GuzzleException */ - public function update($uid, $addrId, $data): ResponseInterface + public function update($uid, $addrId, $data): array { - return $this->requestService->requestPost( - '/address/update', - $data, - [ - 'uid' => $uid, - 'addr-id' => $addrId, - ] - ); + $response = $this->requestService + ->setOptions([ + [ + 'headers' => [ + 'Accept-Language' => $this->translator->getLocale(), + ], + ], + ]) + ->requestPost( + '/rpc/address/update', + $data, + [ + 'uid' => $uid, + 'addr-id' => $addrId, + ] + ); + + $content = $response->getBody()->getContents(); + return Json::decode($content); } /** * @param $uid * @param $addrId - * @return ResponseInterface + * @return void * @throws GuzzleException */ - public function del($uid, $addrId): ResponseInterface + public function del($uid, $addrId): void { - return $this->requestService->requestPost('/address/delete', params: [ - 'uid' => $uid, - 'addr-id' => $addrId, - ]); + $this->requestService + ->setOptions([ + [ + 'headers' => [ + 'Accept-Language' => $this->translator->getLocale(), + ], + ], + ]) + ->requestPost( + '/address/delete', + params: [ + 'uid' => $uid, + 'addr-id' => $addrId, + ] + ); } /** * @param $uid - * @return ResponseInterface * @throws ClientExceptionInterface * @throws GuzzleException */ - public function getDefault($uid): ResponseInterface + public function getDefault($uid): array { - return $this->requestService->requestGet('/address/getDefault', ['uid' => $uid]); + $response = $this->requestService + ->setOptions([ + [ + 'headers' => [ + 'Accept-Language' => $this->translator->getLocale(), + ], + ], + ]) + ->requestGet('/address/getDefault', ['uid' => $uid]); + + $content = $response->getBody()->getContents(); + return Json::decode($content); } /** * @param $uid * @param $addrId - * @return ResponseInterface + * @return array * @throws GuzzleException */ - public function setDefault($uid, $addrId): ResponseInterface + public function setDefault($uid, $addrId): array { - return $this->requestService->requestPost('/address/setDefault', ['uid' => $uid, 'addrId' => $addrId]); + $response = $this->requestService + ->setOptions([ + [ + 'headers' => [ + 'Accept-Language' => $this->translator->getLocale(), + ], + ], + ]) + ->requestPost('/address/setDefault', ['uid' => $uid, 'addrId' => $addrId]); + + $content = $response->getBody()->getContents(); + return Json::decode($content); } /** * @param $addrId - * @return ResponseInterface - * @throws ClientExceptionInterface + * @return array * @throws GuzzleException */ - public function detail($addrId): ResponseInterface + public function detail($addrId): array { - return $this->requestService->requestGet('/address/detail', ['addr-id' => $addrId]); + $response = $this->requestService + ->setOptions([ + [ + 'headers' => [ + 'Accept-Language' => $this->translator->getLocale(), + ], + ], + ]) + ->requestGet('/address/detail', ['addr-id' => $addrId]); + + $content = $response->getBody()->getContents(); + return Json::decode($content); } } \ No newline at end of file diff --git a/src/Sdk/UserRpc.php b/src/Sdk/UserRpc.php index 8e43c78..773e832 100644 --- a/src/Sdk/UserRpc.php +++ b/src/Sdk/UserRpc.php @@ -3,8 +3,10 @@ namespace Singularity\HDK\Auth\Sdk; +use GuzzleHttp\Exception\ClientException; use GuzzleHttp\Exception\GuzzleException; use GuzzleHttp\RequestOptions; +use Hyperf\Codec\Json; use Hyperf\Contract\TranslatorInterface; use Hyperf\Di\Annotation\Inject; use Psr\Http\Client\ClientExceptionInterface; @@ -33,32 +35,35 @@ class UserRpc /** * @param $name - * @return ResponseInterface + * @return bool * @throws GuzzleException - * @throws ClientExceptionInterface */ - public function alive($name): ResponseInterface + public function alive($name): bool { - return $this->requestService - ->setOptions([ - [ - 'headers' => [ - 'Accept-Language' => $this->translator->getLocale(), + try { + $this->requestService + ->setOptions([ + [ + 'headers' => [ + 'Accept-Language' => $this->translator->getLocale(), + ], ], - ], - ]) - ->requestGet('/rpc/user/alive?username=' . urlencode($name)); + ]) + ->requestGet('/rpc/user/alive?username=' . urlencode($name)); + return true; + } catch (ClientException) { + return false; + } } /** * @param $uid - * @return ResponseInterface - * @throws ClientExceptionInterface + * @return array * @throws GuzzleException */ - public function detail($uid): ResponseInterface + public function detail($uid): array { - return $this->requestService + $response = $this->requestService ->setOptions([ [ 'headers' => [ @@ -66,17 +71,20 @@ class UserRpc ], ], ]) - ->requestGet('/rpc/user/detail?uid=' . $uid); + ->requestGet('/rpc/user/detail', ['uid' => $uid]); + + $content = $response->getBody()->getContents(); + return Json::decode($content); } /** * @param $data - * @return ResponseInterface + * @return array * @throws GuzzleException */ - public function create($data): ResponseInterface + public function create($data): array { - return $this->requestService + $response = $this->requestService ->setOptions([ [ 'headers' => [ @@ -85,17 +93,20 @@ class UserRpc ], ]) ->requestPost('/rpc/user/create', $data); + + $content = $response->getBody()->getContents(); + return Json::decode($content); } /** * @param $uid * @param $data - * @return ResponseInterface + * @return array * @throws GuzzleException */ - public function update($uid, $data): ResponseInterface + public function update($uid, $data): array { - return $this->requestService + $response = $this->requestService ->setOptions([ [ 'headers' => [ @@ -103,18 +114,24 @@ class UserRpc ], ], ]) - ->requestPost('/rpc/user/update', $data, params: ['uid' => $uid]); + ->requestPost( + '/rpc/user/update', + data: $data, + params: ['uid' => $uid] + ); + + $content = $response->getBody()->getContents(); + return Json::decode($content); } /** * @param $uid_arr - * @return ResponseInterface - * @throws ClientExceptionInterface + * @return array * @throws GuzzleException */ - public function list($uid_arr): ResponseInterface + public function list($uid_arr): array { - return $this->requestService + $response = $this->requestService ->setOptions([ [ 'headers' => [ @@ -123,16 +140,19 @@ class UserRpc ], ]) ->requestGet('/rpc/user', $uid_arr); + + $content = $response->getBody()->getContents(); + return Json::decode($content); } /** * @param $data - * @return ResponseInterface + * @return array * @throws GuzzleException */ - public function checkNamePass($data): ResponseInterface + public function checkNamePass($data): array { - return $this->requestService + $response = $this->requestService ->setOptions([ [ 'headers' => [ @@ -141,6 +161,9 @@ class UserRpc ], ]) ->requestPost('/rpc/user/signIn', $data); + + $content = $response->getBody()->getContents(); + return Json::decode($content); } } \ No newline at end of file