IndexController.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Controllers\FrontController;
  4. use App\Models\SysModels\Banner;
  5. use App\Models\SysModels\Config;
  6. use App\Servers\Common\RedisDataServer;
  7. class IndexController extends FrontController
  8. {
  9. public function __construct()
  10. {
  11. parent::__construct();
  12. }
  13. /**
  14. * 获取网站基础信息
  15. * @return \Illuminate\Http\JsonResponse
  16. */
  17. function getWebsite(){
  18. $key_name = 'gw_configs';
  19. $data = RedisDataServer::creatServer()->getData( $key_name, 'json');
  20. if(!$data){
  21. //数据库查找当前数据
  22. $configs = Config::whereIn('key',['logo','title','tel','email','cn_address','en_address','wx_image','icp','put_on_record','lon','lat'])->pluck('value','key')->toArray();
  23. //中英文数据分组
  24. $data['cn']['address'] = $configs['cn_address'];
  25. $data['en']['address'] = $configs['en_address'];
  26. unset($configs['cn_address']);
  27. unset($configs['en_address']);
  28. foreach ($configs as $key=>$value){
  29. $data[$key] = $value;
  30. }
  31. //写入redis
  32. RedisDataServer::creatServer()->setData($key_name, $data, 'json', 300);
  33. }
  34. return $this->apiResponseSuccess('获取成功',$data);
  35. }
  36. /**
  37. * 获取轮播图
  38. * @return \Illuminate\Http\JsonResponse
  39. */
  40. function getBanners(){
  41. $where = [['is_del',0]];
  42. //获取数据
  43. $list = Banner::where($where)
  44. ->select(['cn_image','en_image','title'])
  45. ->orderBy('sort','asc')
  46. ->get();
  47. $data = [];
  48. foreach ($list as $value){
  49. $res['title'] = $value['title'];
  50. $res['cn']['image'] = $value['cn_image'];
  51. $res['en']['image'] = $value['en_image'];
  52. $data[] = $res;
  53. }
  54. return $this->apiResponseSuccess('获取成功',$data);
  55. }
  56. }