javleds/redspira-api

redspira.com 的 API 包装器

dev-master 2020-03-03 04:01 UTC

README

Laravel API 包装器,用于 http://app.respira.org.mx/

Build Status

要求

  • Laravel 5.7
  • PHP 7.2

安装

composer require javleds/redspira-api

用法

设备

class SomeClass
{
    public function example()
    {
        /** @var Collection<Device> $devices **/
        $devices = \RedspiraApi::devices()->all();        
    }
}

获取设备注册信息

class SomeClass
{
    public function example()
    {
        $parameters = new Javleds\RedspiraApi\DataParameters\DeviceParameters(
            $deviceId, // string Monitor identifier       
            $parameterId, // string Parameter or pollutant [ApiParameters::PM25_PARAMETER|ApiParameters::PM10_PARAMETER]
            $startDate, // DateTime First date for filtering device entries       
            $endDate, // DateTime Last date for filtering device entries      
            $interval, // string Intervl of time [ApiParameters::HOUR_INTERVAL|ApiParameters::MINUTE_INTERVAL]      
            $tomeOffset, // (opt) int Time offset       
        );        
        
        /** @var Collection<DeviceRegistry> $registries **/
        $registries = \RedspiraApi::device()->get($parameters);        
    }
}

获取过去几小时的设备注册信息

class SomeClass
{
    public function example()
    {
        /** @var Collection<DeviceRegistry> $registries **/
        $registries = \RedspiraApi::device()->getLastHours(
            $deviceId, // string Monitor identifier
            $parameterId, // string Parameter or pollutant [ApiParameters::PM25_PARAMETER|ApiParameters::PM10_PARAMETER]
            $hours, // int Hours of interest before now
            $timeOffset // (opt) int Tome offset
        );        
    }
}

获取过去几天的设备注册信息

class SomeClass
{
    public function example()
    {
        /** @var Collection<DeviceRegistry> $registries **/
        $registries = \RedspiraApi::device()->getLastDays(
            $deviceId, // string Monitor identifier
            $parameterId, // string Parameter or pollutant [ApiParameters::PM25_PARAMETER|ApiParameters::PM10_PARAMETER]
            $days, // int Days of interest before now
            $timeOffset // (opt) int Tome offset
        );        
    }
}

区域

class SomeClass
{
    public function example()
    {
        /** @var Collection<Area> $areas **/
        $areas = \RedspiraApi::areas()->all();        
    }
}

单个区域

class SomeClass
{
    public function example()
    {
        $parameters = new Javleds\RedspiraApi\DataParameters\AreaParameters(
            $areaId, // string Area identifier, you could get them useing RedspiraApi::areas->all();       
            $parameterId, // string Parameter or pollutant [ApiParameters::PM25_PARAMETER|ApiParameters::PM10_PARAMETER]
            $startDate, // DateTime First date for filtering device entries       
            $endDate, // DateTime Last date for filtering device entries      
            $interval, // string Intervl of time [ApiParameters::HOUR_INTERVAL|ApiParameters::MINUTE_INTERVAL]      
            $tomeOffset, // (opt) int Time offset       
        );        
        
        /** @var Collection<AreaRegistry> $registries **/
        $registries = \RedspiraApi::area()->getRegistries($parameters);        
    }
}

过去几小时的单个区域

class SomeClass
{
    public function example()
    {
        /** @var Collection<AreaRegistry> $registries **/
        $registries = \RedspiraApi::area()->getLastHours(
            $areaId, // string Area identifier
            $parameterId, // string Parameter or pollutant [ApiParameters::PM25_PARAMETER|ApiParameters::PM10_PARAMETER]
            $hours, // int Hours of interest before now
            $timeOffset // (opt) int Tome offset
        );        
    }
}

过去几天的单个区域

class SomeClass
{
    public function example()
    {
        /** @var Collection<AreaRegistry> $registries **/
        $registries = \RedspiraApi::area()->getLastDays(
            $areaId, // string Area identifier
            $parameterId, // string Parameter or pollutant [ApiParameters::PM25_PARAMETER|ApiParameters::PM10_PARAMETER]
            $days, // int Days of interest before now
            $timeOffset // (opt) int Tome offset
        );        
    }
}

作为项目的一部分构建: https://github.com/Punksolid/calidad-del-aire

贡献

如果您想做出贡献,请按照以下步骤操作

  • 分支项目
  • 创建一个新分支并执行必要的更改
  • 发送您的 pull 请求

许可证

MIT