redis->get($key); if (empty($access_token)) { $accessTokenModel = new AccessTokenModel(); $accessTokenModel->grant_type = 'client_credential'; $accessTokenModel->appid = $config['wechat_appid']; $accessTokenModel->secret = $config['wechat_secret']; $resp = WechatRequestHelper::execute(new AccessTokenRequest($config), $accessTokenModel, false); $ret = $resp->toArray(); if (empty($ret['access_token'])) throw new \Exception("access token为空"); $access_token = $ret['access_token']; // 每个小时一次 \Yii::error("WechatAccessTokenHelper 微信视频号小店access token-> " . Json::encode($ret)); \Yii::$app->redis->setex($key, !empty($ret['expires_in']) ? intval($ret['expires_in']) - 1000 : 3600, $access_token); } return $access_token; } }