From 7dd5b082cf78969ce788d41b3d72e263a36d4981 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Mon, 5 Feb 2024 13:23:37 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E6=9B=B4=E6=8D=A2=E7=AC=91=E8=AF=9D?= =?UTF-8?q?=E5=92=8C=E9=B8=A1=E6=B1=A4=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Module/Extranet.php | 28 +++++++++++----------------- app/Tasks/JokeSoupTask.php | 27 ++++++++++++--------------- 2 files changed, 23 insertions(+), 32 deletions(-) diff --git a/app/Module/Extranet.php b/app/Module/Extranet.php index 30164c733..eb0ea021a 100644 --- a/app/Module/Extranet.php +++ b/app/Module/Extranet.php @@ -174,19 +174,16 @@ class Extranet /** * 随机笑话接口 - * @return array + * @return string */ - public static function randJoke(): array + public static function randJoke(): string { - $jokeKey = env("JUKE_KEY_JOKE"); - if ($jokeKey) { - $data = self::curl("http://v.juhe.cn/joke/randJoke.php?key=" . $jokeKey); - $data = Base::json2array($data); - if ($data['reason'] === 'success') { - return $data['result']; - } + $data = self::curl("https://hmajax.itheima.net/api/randjoke"); + $data = Base::json2array($data); + if ($data['message'] === '获取成功' && $text = trim($data['data'])) { + return $text; } - return []; + return ""; } /** @@ -195,13 +192,10 @@ class Extranet */ public static function soups(): string { - $soupKey = env("JUKE_KEY_SOUP"); - if ($soupKey) { - $data = self::curl("https://apis.juhe.cn/fapig/soup/query?key=" . $soupKey); - $data = Base::json2array($data); - if ($data['reason'] === 'success' && $text = trim($data['result']['text'])) { - return $text; - } + $data = self::curl("https://hmajax.itheima.net/api/ambition"); + $data = Base::json2array($data); + if ($data['message'] === '获取成功' && $text = trim($data['data'])) { + return $text; } return ""; } diff --git a/app/Tasks/JokeSoupTask.php b/app/Tasks/JokeSoupTask.php index 8d0b8d909..4967b210d 100644 --- a/app/Tasks/JokeSoupTask.php +++ b/app/Tasks/JokeSoupTask.php @@ -13,13 +13,12 @@ use Carbon\Carbon; /** * 获取笑话、心灵鸡汤 * - * 在.env添加笑话 JUKE_KEY_JOKE - * 在.env添加鸡汤 JUKE_KEY_SOUP - * - * 每日小时采集1次 + * 每分钟采集1次 */ class JokeSoupTask extends AbstractTask { + private $keyPrefix = "JokeSoupTask-v2"; + public function __construct() { parent::__construct(); @@ -27,27 +26,25 @@ class JokeSoupTask extends AbstractTask public function start() { - // 判断每小时执行一次 - if (Cache::get("JokeSoupTask:YmdH") == date("YmdH")) { + // 判断每分钟执行一次 + if (Cache::get("{$this->keyPrefix}:YmdHi") == date("YmdHi")) { return; } - Cache::put("JokeSoupTask:YmdH", date("YmdH"), Carbon::now()->addDay()); + Cache::put("{$this->keyPrefix}:YmdHi", date("YmdHi"), Carbon::now()->addDay()); // - $array = Base::json2array(Cache::get("JokeSoupTask:jokes")); + $array = Base::json2array(Cache::get("{$this->keyPrefix}:jokes")); $data = Extranet::randJoke(); - foreach ($data as $item) { - if ($text = trim($item['content'])) { - $array[] = $text; - } + if ($data) { + $array[] = $data; } - Cache::forever("JokeSoupTask:jokes", Base::array2json(array_slice($array, -100))); + Cache::forever("{$this->keyPrefix}:jokes", Base::array2json(array_slice($array, -200))); // - $array = Base::json2array(Cache::get("JokeSoupTask:soups")); + $array = Base::json2array(Cache::get("{$this->keyPrefix}:soups")); $data = Extranet::soups(); if ($data) { $array[] = $data; } - Cache::forever("JokeSoupTask:soups", Base::array2json(array_slice($array, -24))); + Cache::forever("{$this->keyPrefix}:soups", Base::array2json(array_slice($array, -200))); } public function end()