michaelcooke / Orthrus
Laravel 的 ESI 简单意见性实现
Requires
- php: ^7.1.3
- laravel/framework: ^5.5
- michaelcooke/laravel-eseye: ^1.0
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
可以为 tranquility
或 singularity
。 ESEYE_CACHE
可以为 file
、redis
或 memcached
,将尝试使用默认配置选项。
使用 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();