domotron/cloud-client

请求 Domotron 云 API 的库

1.5.0 2021-10-22 07:56 UTC

This package is not auto-updated.

Last update: 2024-09-26 21:33:33 UTC


README

Domotron 云客户端用于与 Domotron 云进行简单通信。

配置

目前仅提供 HTTP 驱动程序,它需要注册在云上的 API 令牌才能运行。

use DomotronCloudClient\Driver\HttpDriver;
use DomotronCloudClient\CloudClient;

$httpDriver = new HttpDriver('http://cloud.mydomotron.com', 'token123');
$cloudClient = new CloudClient($httpDriver);

使用

// Dostupné endpointy
$cloudClient->userEndpoint(); // Slúži hlavne pre účely CloudUser libky
$cloudClient->marketEndpoint();
$cloudClient->objectEndpoint();
$cloudClient->projectEndpoint();
$cloudClient->addressEndpoint();
$cloudClient->partnerEndpoint();

// Endpointy market, object a project obsahujú rovnaké 4 metódy
$marketEndpoint->get($id, $userToken = null); // Načíta market podla ID
$marketEndpoint->listing($page, $limit, $search = null, array $searchIn = null, $userToken = null); // Načíta kolekciu marketov
$marketEndpoint->create(array $data, $userToken = null); // Vytvorí nový market
$marketEndpoint->update($id, array $data, $userToken = null); // Update market

搜索

可以通过 listing() 端点进行搜索。参数 $search 定义要搜索的表达式。参数 array $searchIn 定义在哪个字段中搜索该表达式。

作为 "用户" 使用端点

可以通过用户令牌使用的端点

  • market
  • object
  • project
  • address
  • partner
  • user

可以将参数 $userEndpoint(存储在登录用户 cookie 中的值)发送到这些端点的方法。然后根据令牌所属用户的权限对这些方法的结果进行修改。例如,因此 listing 只包含可访问的记录,只有当用户有修改记录的权限时,修改记录才会成功等。

可以通过调用 $cloudUser->getCookieTokenValue() 获取当前登录用户的 $userToken(需要 CloudUser 库)

调试

Http 驱动程序

为了调试使用 HTTPDriver 时的错误,我们可以在 BadResponseException 上调用 getDebugData() 方法,该方法将返回 HTTP 调用的响应数据。 此方法仅用于调试!不同的驱动程序可能会返回不同的数据,并且这些数据的内容可能会在没有通知的情况下更改。

扩展

Tracy Bar

在 neon 文件中注册到 Tracy Bar

tracy:
	bar:
		- DomotronCloudClient\Bridge\Tracy\CloudClientPanel