michaelcooke/Orthrus

此包已被 放弃 且不再维护。未建议替代包。

Laravel 的 ESI 简单意见性实现

v1.1.0 2018-03-16 18:25 UTC

This package is not auto-updated.

Last update: 2023-05-27 21:34:30 UTC


README

Orthrus 是 Laravel 的 ESI 简单意见性实现,为所有 ESI 端点提供易于使用的接口,并通过易于访问的 Eloquent 集合提供原始 JSON 响应。

安装 Orthrus

通过 Composer 需要 Orthrus

简单通过 Composer 需要 Orthrus 将包拉入您的项目。

composer require michaelcooke/orthrus

配置 Eseye

Orthrus 依赖于 Eseye 来处理缓存、日志记录以及构建 ESI 请求。通过您的 .env 配置文件配置 Eseye 可以轻松地在生产环境和开发环境之间切换 ESI 应用程序详细信息以及缓存和日志记录机制。

在您的 .env 配置文件中包含以下内容,并添加您的 ESI 应用程序客户端 ID 和密钥。此外,您还可以指定用于所有 Orthrus ESI 调用的默认刷新令牌。

ESEYE_CLIENT_ID=
ESEYE_SECRET_KEY=
ESEYE_REFRESH_TOKEN=
ESEYE_DATASOURCE=tranquility
ESEYE_CACHE=

ESEYE_DATASOURCE 可以为 tranquilitysingularityESEYE_CACHE 可以为 fileredismemcached,将尝试使用默认配置选项。

使用 Orthrus

通过 Orthrus 使用 ESI 端点非常简单,同时严格遵守 ESI 规范的措辞。还提供了一个易于使用的 ESI 门面,使 ESI 调用变得非常简单。

执行 ESI 调用

Orthrus 的语法直接,并且与 ESI 规范的措辞和约定非常接近。

ESI::character($characterId)->get();      // GET /character/{$characterId}/
ESI::character($characterId)->portrait(); // GET /character/{$characterId}/portrait/

在某些情况下,提供了别名来反映可能与 ESI 规范不同的更常见的措辞。

ESI::character($characterId)->corporationHistory(); // GET /character/{$characterId}/corporation_history/
ESI::character($characterId)->employmentHistory();  // GET /character/{$characterId}/corporation_history/

ESI::character($characterId)->agentsResearch();     // GET /character/{$characterId}/agents_research/
ESI::character($characterId)->researchAgents();     // GET /character/{$characterId}/agents_research/

访问响应

通过 Orthrus 执行的每个 ESI 调用都将返回一个从原始 JSON 响应解码的对象。

ESI::character(94087852)->get()->name; // Michael Mach

辅助方法

设置 ESI 路由版本

默认情况下,Orthrus 将使用 /latest/ 版本路由为所有 ESI 调用。您可以为 ESI 调用覆盖此设置。

ESI::version('v1')->character($characterId)->get();

设置/覆盖默认刷新令牌

您可以为 Orthrus 请求生命周期中通过 Orthrus 执行的所有 ESI 调用设置或覆盖默认刷新令牌。

ESI::setRefreshToken($token);

重置默认刷新令牌

如果您希望在通过 setRefreshToken() 更改后,为所有通过 Orthrus 执行的 ESI 调用设置默认刷新令牌,您可以将它重置为您在 .env 配置文件中定义的默认值。

ESI::resetRefreshToken();

为单个 ESI 调用使用备用刷新令牌

您可以通过 Orthrus 为单个 ESI 调用使用备用刷新令牌。

这对于需要从具有特定角色或访问级别的角色刷新令牌进行调用,且您不想手动设置和重置 Orthrus 使用的刷新令牌的端点尤其有用。

ESI::corporation($corporationId)->roles()->withRefreshToken($token);

访问辅助响应信息

在某些情况下,能够评估响应代码、过期时间和潜在的错误消息可能很有用。为此,您可以使用以下方法。

ESI::responseCode();
ESI::responseExpires();
ESI::responseErrorMessage();