IndexController.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App\Http\Controllers\Api\v1;
  3. use App\Http\Controllers\Api\webApp;
  4. use App\Services\Api\PledgeOrderService;
  5. use App\Services\Api\PriceLogService;
  6. use App\Services\Common\AdService;
  7. use App\Services\ConfigService;
  8. use App\Services\RedisService;
  9. /**
  10. * 首页
  11. * @package App\Http\Controllers\Api\v1
  12. */
  13. class IndexController extends webApp
  14. {
  15. /**
  16. * 首页数据
  17. * @return array
  18. */
  19. public function data()
  20. {
  21. $cacheKey = "caches:index:data";
  22. $data = RedisService::get($cacheKey);
  23. if(empty($data)) {
  24. $data = [
  25. 'sbtData' => PriceLogService::make()->getCounts(1),
  26. 'banners' => [
  27. 'zh' => AdService::make()->getListByType(1,'zh',6),
  28. 'en' => AdService::make()->getListByType(1,'en',6)
  29. ],
  30. 'siteInfo' => [
  31. 'site_name' => ConfigService::make()->getConfigByCode('site_name', 'SBT'),
  32. 'site_title' => ConfigService::make()->getConfigByCode('site_name', 'SBT'),
  33. 'logo' => get_image_url(ConfigService::make()->getConfigByCode('site_logo', '/images/logo.png')),
  34. 'version'=> ConfigService::make()->getConfigByCode('app_version', 'v1.2.10'),
  35. ],
  36. ];
  37. RedisService::set($cacheKey, $data, rand(30, 60));
  38. }
  39. $data['pledgeCounts'] = PledgeOrderService::make()->getCountByUser($this->userId);
  40. return showJson(1010,true, $data);
  41. }
  42. /**
  43. * SBD价格数据
  44. * @return array
  45. */
  46. public function priceData(){
  47. $dateType = request()->post('type', 1);
  48. $refresh = request()->post('refresh', 0);
  49. return showJson(1010,true, PriceLogService::make()->getCounts($dateType, $refresh));
  50. }
  51. }