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 ) ... )