etsetra / services
1.0.2
2022-02-03 14:07 UTC
Requires
- php: ^7.4
- guzzlehttp/guzzle: ^7.0.1
- laravel/framework: ^8.0
This package is not auto-updated.
Last update: 2024-09-27 02:52:48 UTC
README
本库中包含一些适用于土耳其的数据服务。
包含的服务(1.0.0)
如果持续向这些服务发送请求,可能会遇到IP封锁或请求限制。因此,请尽量减少请求次数,并设置一个任务定时器。将定时器获取的数据存储在某个地方,然后从您自己的数据库中为用户提供服务。
安装
composer require etsetra/services
- 将以下代码添加到 config/services.php 文件中
'freecurrencyapi' => [
'api_key' => env('FREECURRENCYAPI_API_KEY')
],
'openweathermap' => [
'api_key' => env('OPENWEATHERMAP_API_KEY')
],
- a. 从 freecurrenkapi.net 获取一个API密钥并将其添加到 .env 文件中
FREECURRENCYAPI_API_KEY=
- b. 从 openweathermap.org 获取一个API密钥并将其添加到 .env 文件中
OPENWEATHERMAP_API_KEY=
- 问题消息所需的日志将写入到 storage/logs/services.log 文件中。为此,请将以下代码添加到 config/logging.php 文件中 channels 字符串的下方
'channels' => [
...
'services' => [
'driver' => 'single',
'path' => storage_path('logs/services.log'),
'level' => env('LOG_LEVEL', 'debug'),
],
...
]
示例用法
所有汇率数据均为土耳其里拉。
汇率
use Etsetra\Services\Api;
// Geçerli birimler: USD, JPY, CNY, CHF, CAD, MXN, INR, BRL, RUB, KRW, IDR, TRY, SAR, SEK, NGN, PLN, ARS, NOK, TWD, IRR, AED, COP, THB, ZAR, DKK, MYR, SGD, ILS, HKD, EGP, PHP, CLP, PKR, IQD, DZD, KZT, QAR, CZK, PEN, RON, VND, BDT, HUF, UAH, AOA, MAD, OMR, CUC, BYR, AZN, LKR, SDG, SYP, MMK, DOP, UZS, KES, GTQ, URY, HRV, MOP, ETB, CRC, TZS, TMT, TND, PAB, LBP, RSD, LYD, GHS, YER, BOB, BHD, CDF, PYG, UGX, SVC, TTD, AFN, NPR, HNL, BIH, BND, ISK, KHR, GEL, MZN, BWP, PGK, JMD, XAF, NAD, ALL, SSP, MUR, MNT, NIO, LAK, MKD, AMD, MGA, XPF, TJS, HTG, BSD, MDL, RWF, KGS, GNF, SRD, SLL, XOF, MWK, FJD, ERN, SZL, GYD, BIF, KYD, MVR, LSL, LRD, CVE, DJF, SCR, SOS, GMD, KMF, STD, XRP, AUD, BGN, BTC, JOD, GBP, ETH, EUR, LTC, NZD
$currencies = (new Api)->currency([ 'USD', 'EUR', 'BTC' ]);
Array
(
[USD] => 13.54
[BTC] => 571.43
[EUR] => 15.49
)
金价
use Etsetra\Services\Api;
// Geçerli birimler: GLDGR, BILEZIKAKAYNAK, XAUUSD, SGLDD, SGLDE, SCUM, SGLDY, SGLDC, SRES, SRESK, GPOR22, GPOR18, GPOR14, GLDZIYNET2_5, GLDZIYNET5LI
$gold = (new Api)->gold([ 'GLDGR', 'SRES' ]);
Array
(
[GLDGR] => Array
(
[name] => ALTIN (TL/GR)
[buy] => 794.625
[sell] => 794.786
)
[SRES] => Array
(
[name] => Reşat Altını
[buy] => 5310.47
[sell] => 5389.95
)
)
地震数据
use Etsetra\Services\Api;
// Geçerli parametreler: tarih, enlem, boylam, derinlik, md, ml, mw, yer, cozum_niteligi, diger
$earthquake = (new Api)->earthquake([
'tarih',
'enlem',
'boylam',
'derinlik',
'md',
'ml',
'mw',
'yer',
'cozum_niteligi',
]);
[0] => Array
(
[tarih] => 2022.01.03 18:08:16
[enlem] => 38.1015
[boylam] => 30.0237
[derinlik] => 4.0
[md] => -.-
[ml] => 1.7
[mw] => -.-
[yer] => BELENPINAR-DINAR (AFYONKARAHISAR)
[cozum_niteligi] => İlksel
)
[1] => Array
(
[tarih] => 2022.01.03 17:38:09
[enlem] => 39.9785
[boylam] => 26.9085
[derinlik] => 14.0
[md] => -.-
[ml] => 2.5
[mw] => -.-
[yer] => ETILI-CAN (CANAKKALE)
[cozum_niteligi] => İlksel
)
...
祷告时间
use Etsetra\Services\Api;
/**
* - Adını girdiğiniz şehrin gelecek
* 30 günlük ezan vakitlerini verir.
*
* - Parametre boş kalırsa tüm
* şehirleri verir. (Bu işlem yaklaşık 1 dakika sürer)
*/
$ezan = (new Api)->ezan('Ankara');
Array
(
[Ankara] => Array
(
[2022-01-14] => Array
(
[İmsak] => 06:33
[Güneş] => 08:02
[Öğle] => 13:02
[İkindi] => 15:31
[Akşam] => 17:53
[Yatsı] => 19:16
)
[2022-01-15] => Array
(
[İmsak] => 06:33
[Güneş] => 08:02
[Öğle] => 13:03
[İkindi] => 15:32
[Akşam] => 17:54
[Yatsı] => 19:17
)
...
)
)
天气预报
use Etsetra\Services\Api;
/**
* - Adını girdiğiniz şehrin o güne
* ait hava durumunu verir.
*
* - Parametre boş kalırsa tüm
* şehirleri verir. (Bu işlem yaklaşık 1 dakika sürer)
*/
$weather = (new Api)->weather('Ankara');
Array
(
[Ankara] => Array
(
[coord] => Array
(
[lon] => 32.8543
[lat] => 39.9199
)
[weather] => Array
(
[0] => Array
(
[id] => 800
[main] => Clear
[description] => clear sky
[icon] => 01n
)
)
[base] => stations
[main] => Array
(
[temp] => 268.66
[feels_like] => 266.22
[temp_min] => 268.66
[temp_max] => 268.66
[pressure] => 1019
[humidity] => 56
[sea_level] => 1019
[grnd_level] => 913
)
[visibility] => 10000
[wind] => Array
(
[speed] => 1.53
[deg] => 238
[gust] => 1.79
)
[clouds] => Array
(
[all] => 6
)
[dt] => 1642193630
[sys] => Array
(
[type] => 1
[id] => 6947
[country] => TR
[sunrise] => 1642136922
[sunset] => 1642171557
)
[timezone] => 10800
[id] => 323786
[name] => Ankara
[cod] => 200
)
...
)
Covid19
use Etsetra\Services\Api;
$covid19 = (new Api)->covid19();
Array
(
[daily] => Array
(
[date] => 14.01.2022
[test] => 392438
[case] => 67857
[death] => 167
[recovered] => 56256
)
[weekly] => Array
(
[date] => 10 - 16 TEMMUZ 2021
[test] => 1608670
[case] => 43609
[patients] => 3748
[death] => 295
[recovered] => 36377
)
[total] => Array
(
[case] => 5514373
[death] => 50450
[seriously_patients_avg] => 552
[pneumonia_rate] => 4.7
[bed_occupancy_rate] => 48.9
[intensive_care_occupancy_rate] => 62.1
[ventilator_occupancy_rate] => 26.3
)
)
报纸页面
use Etsetra\Services\Api;
$newspapers = (new Api)->newspapers('2022-01-15');
Array
(
[0] => Array
(
[name] => Cumhuriyet
[image_src] => https://i.gazeteoku.com/storage/files/images/2022/01/15/cumhuriyet-2022-01-15-VrdZ.jpg
[source] => https://www.gazeteoku.com/gazeteler/2022-01-15/cumhuriyet-gazetesi-manseti
)
[1] => Array
(
[name] => Yeni Şafak
[image_src] => https://i.gazeteoku.com/storage/files/images/2022/01/15/yeni-safak-2022-01-15-YpiB.jpg
[source] => https://www.gazeteoku.com/gazeteler/2022-01-15/yeni-safak-gazetesi-manseti
)
...
)