IndexController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. $sbtLimit = ConfigService::make()->getConfigByCode('sbt_exchange_limit', 100);
  25. $sbtPrice = PriceLogService::make()->getSbtPrice();
  26. $sbtLimit = round($sbtLimit/$sbtPrice, 2);
  27. $sbtLimit = $sbtLimit>0? $sbtLimit : 0;
  28. $data = [
  29. 'sbtData' => PriceLogService::make()->getCounts(1),
  30. 'banners' => [
  31. 'zh' => AdService::make()->getListByType(1,'zh',6),
  32. 'en' => AdService::make()->getListByType(1,'en',6)
  33. ],
  34. 'siteInfo' => [
  35. 'site_name' => ConfigService::make()->getConfigByCode('site_name', 'SBT'),
  36. 'site_title' => ConfigService::make()->getConfigByCode('site_name', 'SBT'),
  37. 'logo' => get_image_url(ConfigService::make()->getConfigByCode('site_logo', '/images/logo.png')),
  38. 'exchange_sbt_fee' => ConfigService::make()->getConfigByCode('exchange_sbt_fee', 0),
  39. 'sbt_exchange_limit'=> $sbtLimit,
  40. 'version'=> ConfigService::make()->getConfigByCode('app_version', 'v1.2.10'),
  41. ],
  42. ];
  43. RedisService::set($cacheKey, $data, rand(30, 60));
  44. }
  45. $data['pledgeCounts'] = PledgeOrderService::make()->getCountByUser($this->userId);
  46. return showJson(1010,true, $data);
  47. }
  48. /**
  49. * SBD价格数据
  50. * @return array
  51. */
  52. public function priceData(){
  53. $dateType = request()->post('type', 1);
  54. $refresh = request()->post('refresh', 0);
  55. return showJson(1010,true, PriceLogService::make()->getCounts($dateType, $refresh));
  56. }
  57. }