domotron / cloud-client
请求 Domotron 云 API 的库
1.5.0
2021-10-22 07:56 UTC
Requires
- php: >=7.2
- guzzlehttp/guzzle: ^6.3
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