umami(); } public function umami() { $r = $this->umami_checkToken(); tt($r); } private function umami_checkToken() { $oResponse = Http::post('https://api.umami.is/api/auth/login', [ 'username' => "ad1473af-2b82-4e9b-a726-36bef6cc512b", 'password' => "UOtaonihouzi123#", ]); // 工业级防御:非 2xx 响应直接抛出 Http 异常 $oResponse->throw(); // 解析 JSON $aData = $oResponse->json(); // 检查 Key 是否符合预期(假设返回结构为 {"token": "xxx"}) if (empty($aData['token'])) { throw new Exception('接口响应格式有误:缺失 token 字段'); } return $aData['token']; } }