IndexController.php 2.3 KB

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