shibuyakosuke / laravel-nextengine
Laravel 的 NextEngine API SDK。
v0.0.5
2021-03-30 14:26 UTC
Requires
- php: ^7.2
- ext-json: *
- guzzlehttp/guzzle: ^5.0 | ^6.0 | ^7.0
- illuminate/database: ^6.0 | ^7.0
- illuminate/support: ^6.0 | ^7.0
- nesbot/carbon: ^1.0 | ^2.0
Requires (Dev)
- mockery/mockery: ^1.3 | ^1.4
- orchestra/testbench: ^5.0 | ^6.0
- phpunit/phpunit: ^8.0 | ^9.0
- squizlabs/php_codesniffer: ^3.5
README
概述
这是 Laravel 的非官方 NextEngine API 插件。关于 NextEngine API 的参考和社区,请使用 开发者网络。
概述
- NextEngine API 使用时的认证相关处理
- NextEngine API 使用时的请求处理
已实现的函数请参考 这里
安装
请使用 composer 进行安装。
composer require shibuyakosuke/laravel-nextengine
如果您使用的是 Laravel 8 及以上版本,请另外安装 laravel/legacy-factories。
composer require laravel/legacy-factories
配置
在 .env
中添加以下项。
这里所述的是作为初始设置使用的账户,仅在使用 Seeding 时使用。
NEXT_ENGINE_USERNAME=(ネクストエンジンの管理者アカウント名)
NEXT_ENGINE_PASSWORD=(ネクストエンジンの管理者パスワード)
NEXT_ENGINE_CLIENT_ID=(ネクストエンジンの管理者 CLIENT_ID)
NEXT_ENGINE_CLIENT_SECRET=(ネクストエンジンの管理者 CLIENT_SECRET)
NEXT_ENGINE_REDIRECT_URI=(ネクストエンジンの管理者 REDIRECT_URI)
向 User 模型添加关联
如下所示,添加 NextEngineApi
トレイト后,可以使用 hasOne
向 NextEngineApi
模型添加关联。
<?php namespace App\Models; use Illuminate\Foundation\Auth\User as Authenticatable; use ShibuyaKosuke\LaravelNextEngine\Traits\NextEngineApi; class User extends Authenticatable { use NextEngineApi; // 追加 }
设置文件的输出
以下命令会输出:
config/nextengine.php
database/migrations/2020_01_01_000000_create_next_engine_apis_table.php
database/factories/NextEngineApiFactory.php
请适当编辑。
php artisan vendor:publish --tag=nextengine
使用方法
从 OrderController 中获取订单凭证的示例
<?php namespace App\Http\Controllers; class OrderController extends Controller { public function index() { $parameters = []; $receiveOrder = NextEngine::receiveOrderBaseSearch($parameters); return view('orders.index', compact('receiveOrder')); } }
访问令牌的更新
现在提供了用于更新访问令牌的命令。
php artisan nextengine:refresh-tokens
访问令牌更新的自动化
可以通过使用 cron 等机制来自动化访问令牌的更新。
编辑 app/Console/Kernel.php
中的 schedule
方法如下。
<?php namespace App\Console; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; class Kernel extends ConsoleKernel { protected function schedule(Schedule $schedule) { $schedule->command('nextengine:refresh-tokens')->everyThirtyMinutes(); // <- 追加 } }
要使此计划执行,请将以下任务添加到 cron 中。
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1