think.studio/laravel-iprosoftware-api

Laravel 对 IproSoftware Api 的封装

4.1.0 2024-02-09 12:35 UTC

This package is auto-updated.

Last update: 2024-09-09 13:53:33 UTC


README

Packagist License Packagist Version Total Downloads Build Status Code Coverage Scrutinizer Code Quality

注意:此包是 laravel-iprosoftware-api 的封装。所有预定义的 API 方法名称,您可以在 这里 找到

安装

您可以通过 composer 安装此包

composer require think.studio/laravel-iprosoftware-api

使用方法

使用预定义的方法

use LaravelIproSoftwareApi\IproSoftwareFacade as IproSoftware;

/** @var \LaravelIproSoftwareApi\IproApiResponse $response */
$response = IproSoftware::getBookingRulesList();

$bookingRules = $response->json();

添加自定义方法(您可以使用任何服务提供者)

use LaravelIproSoftwareApi\IproSoftwareFacade

IproSoftwareFacade::mergeMethods([
  'getReport' => ['get', 'property/%s/reports/1'],
  'getTasks' => ['get', 'tasks'],
]);

/** @var \LaravelIproSoftwareApi\IproApiResponse $response */
$response = IproSoftwareFacade::getReport($selectedProperty->getKey());

直接使用 GuzzleHttp 调用

use LaravelIproSoftwareApi\IproSoftwareFacade

$propertyId = 22;

/** @var \LaravelIproSoftwareApi\IproApiResponse $response */
$response = IproSoftwareFacade::httpClient()->get("property/$propertyId/reports/1", [
  'query' => [
    'foo' => 'bar',
  ],
]);

.env

IPROSOFTWARE_CLIENT_ID="my-client-id"
IPROSOFTWARE_CLIENT_SECRET="my-secret-key"
IPROSOFTWARE_API_HOST="http://myapp.i-pro3.co.uk"

配置文件

为了编辑此包的默认配置,您可以执行

php artisan vendor:publish --provider="LaravelIproSoftwareApi\ServiceProvider" 

由于您通常需要在包更新时覆盖资产,您可以使用 --force 标志。

测试

  composer test

致谢

  • Think Studio