12345678910111213141516171819202122232425 |
- <?php
- namespace Modules\Common\Support\Wechat\OpenPlatform;
- use EasyWeChat\OpenPlatform\Application;
- class OPApplication extends Application
- {
- public function getAuthorizerAccessToken(string $appId, string $refreshToken): string
- {
- $component_appid = $this->getAccount()->getAppId();
- $cacheKey = sprintf('open-platform.authorizer_access_token.%s.%s.%s', $component_appid, $appId, md5($refreshToken));
- /** @phpstan-ignore-next-line */
- $authorizerAccessToken = (string) $this->getCache()->get($cacheKey);
- if (! $authorizerAccessToken) {
- $response = $this->refreshAuthorizerToken($appId, $refreshToken);
- $authorizerAccessToken = (string) $response['authorizer_access_token'];
- $this->getCache()->set($cacheKey, $authorizerAccessToken, intval($response['expires_in'] ?? 7200) - 500);
- }
- return $authorizerAccessToken;
- }
- }
|