exinone / laravel-mixin-sdk
Laravel的MixinNetwork SDK
1.2.8
2023-11-22 07:08 UTC
Requires
- php: ^7.0 || ^8.0
- ext-json: *
- ext-openssl: *
- ext-zlib: *
- exinone/mixin-sdk-php: *
- illuminate/support: ^5.1 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0
Requires (Dev)
- phpunit/phpunit: ^7.0 || ^8.0
- symfony/var-dumper: ^4.2
This package is not auto-updated.
Last update: 2024-09-25 10:48:10 UTC
README
MixinNetwork SDK for Laravel 5
需求
Laravel
>= 5.1Composer
PHP
>= 7.0
安装
$ composer require exinone/laravel-mixin-sdk -vvv
配置
-
在
config/app.php
中添加提供者和外观,Laravel 5.5+自动支持包发现,您应该跳过此步骤。'providers' => [ ... ExinOne\MixinSDK\MixinSDKServiceProvider::class, ], 'aliases' => [ ... 'MixinSDK' => ExinOne\MixinSDK\Facades\MixinSDK::class, ]
-
发布配置
$ php artisan vendor:publish --provider="ExinOne\MixinSDK\MixinSDKServiceProvider"
-
您可以使用以下任何一种方法进行配置。
-
编辑
config/mixin-sdk.php
和.env
// account information 'keys' => [ // default use is config 'default' => [ 'mixin_id' => env('MIXIN_SDK_MIXIN_ID'), 'client_id' => env('MIXIN_SDK_CLIENT_ID'), 'client_secret' => env('MIXIN_SDK_CLIENT_SECRET'), 'pin' => env('MIXIN_SDK_PIN'), 'pin_token' => env('MIXIN_SDK_PIN_TOKEN'), 'session_id' => env('MIXIN_SDK_SESSION_ID'), 'private_key' => str_replace("\\n", "\n", env('MIXIN_SDK_PRIVATE_KEY')), //import your private_key 'safe_key' => env('MIXIN_SDK_SAFE_KEY'), ], 'myConfig-A'=>[ ... ] ],
这些配置将自动加载。
// then you can MixinSDK::user()->readProfile(); // or MixinSDK::use('myConfig-A')->user()->readProfile();
如果您不想将私钥存储在VCS中,请参阅链接
-
否则,您可以按照以下方式调用它
// use setConfig method to save config MixinSDK::setConfig('myConfig-A',$config0); MixinSDK::setConfig('myConfig-B',$config1); // then you can MixinSDK::use('myConfig-A')->user()->readProfile(); //------- // Or more simple way, using the 'use' method , chained with other methods MixinSDK::use('myConfig-A',$config)->user()->readProfile(); // then you can MixinSDK::use('myConfig-A')->user()->readProfile();
-
您也可以使用自己的方式将它们打包到项目中,以便更容易切换配置。
-
使用
运行
异常
如果MixinNetwork返回错误,则会抛出异常ExinOne\MixinSDK\Exceptions\MixinNetworkRequestException
。开发者需要捕获和处理此异常。
<?php try { // If the transfer fails here, an error will be thrown. MixinSDK::wallet()->transfer($asset_id, $opponent_id, $pin, $amount, $memo); } catch (MixinNetworkRequestException $e) { // Here errCode and errMessage are the same as MixinNetwork, refer to the following link. $errCode = $e->getCode(); $errMessage = $e->getMessage(); ... } catch (\Throwable $e) { ... }
其他异常
警告
-
您可以通过以下方式配置
iterator
。当PIN被加密时使用iterator
。通常不应修改iterator
。如果您想修改此变量,请确保您知道自己在做什么。关于iterator的更多详情<?php $iterator = [time()]; // if use it by MixinSDK::pin()->updatePin($oldPin,$pin), // $iterator need have two element (count($iterator) == 2) MixinSDK::wallet()->setIterator($iterator)->transfer($asset_id, $opponent_id, $pin, $amount, $memo); // By default, microtime(true) * 100000 is used as iterator
-
获取原始响应内容
<?php $mixinSdk->wallet()->setRaw(true)->transfer($asset_id, $opponent_id, $pin, $amount, $memo); // Return MixinNetwork raw Response content
替代方案
授权协议
MIT