option('appid'); $secret = $this->option('secret'); if($appid && $secret) { $miniprograms = [(object)[ 'appid' => $appid, 'appsecret' => $secret ]]; } else { $miniprograms = DB::table('miniprogram') ->where(['type' => 1, 'status' => 1]) ->select('appid', 'appsecret') ->get(); } foreach ($miniprograms as $miniprogram) { $ttl = Redis::ttl(AccessTokenService::getAccessTokenRedisKey($miniprogram->appid)); if($ttl > 600) { continue; } $accessTokenInfo = AccessTokenService::getAccessToken($miniprogram->appid, $miniprogram->appsecret); if(false === $accessTokenInfo || (0 != ($accessTokenInfo['errcode'] ?? 0))) { myLog('WechatAccessToken')->info('刷新小程序accessToken失败', [ 'appid' => $miniprogram->appid, 'result' => $accessTokenInfo, ]); continue; } Redis::setex(AccessTokenService::getAccessTokenRedisKey($miniprogram->appid), $accessTokenInfo['expires_in'], $accessTokenInfo['access_token']); } } }