PHPackages                             jhapis/weather - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. jhapis/weather

ActiveLibrary

jhapis/weather
==============

整合多平台天气类查询接口、天气预报、空气质量、历史天气、极端天气预警

1.0.0(1y ago)16MITPHPPHP &gt;=7.2.5

Since Apr 7Pushed 1y ago1 watchersCompare

[ Source](https://github.com/jhapis/weather)[ Packagist](https://packagist.org/packages/jhapis/weather)[ RSS](/packages/jhapis-weather/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

常用天气接口
======

[](#常用天气接口)

> 整理常用的天气接口，方便使用，整整合兼容多平台天气接口,目前仅支持聚合数据的天气接口。

简介
--

[](#简介)

> 全国城市和站点空气质量查询，污染物浓度及空气质量分指数、空气质量指数、首要污染物及空气质量级别、健康指引及建议采取的措施等。 中国气象局权威数据，全国 3000 多个省市的实时天气预报，未来 7 天天气、温度、穿衣、运动、洗车、旅游、紫外线等指数查询接口，可按城市名或城市 ID 查询。

安装
--

[](#安装)

```
composer require jhapis/weather

```

一、天气数据系列接口
----------

[](#一天气数据系列接口)

> 数据源：[聚合数据](https://www.juhe.cn/docs?s=utm_id55)接口请求 key,在个人中心-&gt;数据中心-&gt;我的 API 进行查看

### 【免费】全国城市空气质量

[](#免费全国城市空气质量)

> [免费】全国城市空气质量](https://www.juhe.cn/docs/api/id/796?s=utm_id55)具体接口的请求参数、返回参数，请至[【全国城市空气质量】官方文档](https://www.juhe.cn/docs/api/id/796?s=utm_id55)

- 示例

```
use Weather\Apis\ChinaAirQuality;

require_once './vendor/autoload.php';
$wether = new ChinaAirQuality(['key' => '聚合接口申请Key']);

// 支持省份列表
$result = $wether->apiGetway('provinceList');
echo json_encode($result, JSON_UNESCAPED_UNICODE)."\n\n";

// 省份支持城市城市:省份列表ID
$params = ['pId' => 10];
$result = $wether->apiGetway('cityList', $params);
echo json_encode($result, JSON_UNESCAPED_UNICODE)."\n\n";

//城市实时空气质量
$params = ['cityId' => 1];
$result = $wether->apiGetway('cityAirQuality', $params);
echo json_encode($result, JSON_UNESCAPED_UNICODE)."\n\n";

// 城市站点实时空气质量
$params = ['cityId' => 1];
$result = $wether->apiGetway('siteAirQuality', $params);
echo json_encode($result, JSON_UNESCAPED_UNICODE)."\n\n";

// 城市，近14天空气质量
$params = ['cityId' => 1];
$result = $wether->apiGetway('daysAirQuality', $params);
echo json_encode($result, JSON_UNESCAPED_UNICODE)."\n\n";

// 城市，近24小时空气质量
$params = ['cityId' => 1];

$result = $wether->apiGetway('hoursAirQuality',$params);
echo json_encode($result, JSON_UNESCAPED_UNICODE)."\n\n";
```

- 返回

```
// 城市实时空气质量
{
  "reason": "success",
  "result": {
    "Id": "73",
    "CityName": "苏州市",
    "CityCode": "320500",
    "CityJC": "SZS",
    "CO": "0.8",
    "NO2": "19",
    "O3": "106",
    "PM10": "37",
    "PM2_5": "26",
    "SO2": "6",
    "AQI": "38",
    "Quality": "优",
    "PrimaryPollutant": "—",
    "Measure": "各类人群可正常活动",
    "Unheathful": "空气质量令人满意，基本无空气污染",
    "Latitude": "31.3010181818182",
    "Longitude": "120.612236363636"
  },
  "error_code": 0
}
```

### 【免费】天气预报

[](#免费天气预报)

> [【免费】天气预报](https://www.juhe.cn/docs/api/id/73?s=utm_id55)具体接口的请求参数、返回参数，请至[【天气预报】官方文档查看](https://www.juhe.cn/docs/api/id/73?s=utm_id55)

- 示例：

```
use Weather\Apis\Weather;

require_once './vendor/autoload.php';
$wether = new Weather(['key' => '聚合接口申请Key']);

$params = ['city' => '苏州'];
$result = $wether->apiGetway('cityWeather', $params);
var_dump($result);

$params = ['city' => '苏州'];
$result = $wether->apiGetway('eatherIndex', $params);
var_dump($result);

// 天气种类列表
$result = $wether->apiGetway('weatherType');
var_dump($result);
```

- 返回示例：

```
// 城市天气
{
	"reason": "查询成功!",
	"result": {
		"city": "苏州",
		"realtime": {
			"temperature": "32",
			"humidity": "33",
			"info": "晴",
			"wid": "00",
			"direct": "南风",
			"power": "3级",
			"aqi": "114"
		},
		"future": [{
			"date": "2025-03-26",
			"temperature": "21\/32℃",
			"weather": "晴转中雨",
			"wid": {
				"day": "00",
				"night": "08"
			},
			"direct": "南风转西南风"
		},
        ....
        ]
	},
	"error_code": 0
}
```

### 【免费】历史天气查询

[](#免费历史天气查询)

> [【【免费】历史天气查询](https://www.juhe.cn/docs/api/id/716?s=utm_id55)具体接口的请求参数、返回参数，请至[【历史天气查询】官方文档](https://www.juhe.cn/docs/api/id/716?s=utm_id55)

- 示例

```
use Weather\Apis\HistoryWeatherQuery;

require_once './vendor/autoload.php';
$wether = new HistoryWeatherQuery(['key' => '聚合接口申请Key']);

// 支持省份查询
$result = $wether->apiGetway('provinceList');
echo json_encode($result, JSON_UNESCAPED_UNICODE)."\n\n";

// 支持城市查询
$params = ['province_id' => 16];
$result = $wether->apiGetway('cityList', $params);
echo json_encode($result, JSON_UNESCAPED_UNICODE)."\n\n";

// 历史天气查询
$params = ['city_id' => 1145,'weather_date'=>'2011-01-01'];

$result = $wether->apiGetway('historyWeather',$params);
echo json_encode($result, JSON_UNESCAPED_UNICODE)."\n\n";
```

- 返回示例

```
// 历史天气查询结果:具体返回错误码，请查看官方文档
{
    "reason": "查询成功",
    "result": {
        "city_id": "123",
        "city_name": "南靖",
        "weather_date": "2022-01-01",
        "day_weather": "多云",
        "night_weather": "雾",
        "day_temp": "20℃",
        "night_temp": "10℃",
        "day_wind": "东风",
        "day_wind_comp": "3-4级",
        "night_wind": "东风",
        "night_wind_comp": "
