BaseController.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package com.caimei.www.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.caimei.www.pojo.page.BaseLink;
  4. import com.caimei.www.pojo.page.TopMenu;
  5. import com.caimei.www.service.page.BaseService;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.beans.factory.annotation.Value;
  8. import org.springframework.http.server.reactive.ServerHttpRequest;
  9. import org.springframework.stereotype.Controller;
  10. import org.springframework.ui.Model;
  11. import org.springframework.web.bind.annotation.ModelAttribute;
  12. import java.util.List;
  13. /**
  14. * 页面全局变量
  15. *
  16. * @author : Charles
  17. * @date : 2020/6/18
  18. */
  19. @Controller
  20. public class BaseController {
  21. @Value("${caimei.coreServer}")
  22. private String coreServer;
  23. /** 打包时间 */
  24. @Value("${caimei.siteEnv}")
  25. private String siteEnv;
  26. /** 打包时间 */
  27. @Value("${spring.application.build-time}")
  28. private String buildTime;
  29. /** 错误页面 */
  30. private static final String ERROR_PATH = "error/404";
  31. public BaseService baseService;
  32. @Autowired
  33. public void setBaseService(BaseService baseService) {
  34. this.baseService = baseService;
  35. }
  36. /**
  37. * 页面公共请求
  38. * @param model
  39. * @param request
  40. * @return
  41. */
  42. @ModelAttribute
  43. public Model init(final Model model, ServerHttpRequest request) {
  44. // 环境变量,(2:正式环境,1:测试环境,0:开发环境)
  45. model.addAttribute("siteEnv", siteEnv);
  46. // 判断请求设备
  47. List<String> strings = request.getHeaders().get("User-Agent");
  48. String agent = strings!=null ? strings.get(0) : "";
  49. model.addAttribute("agent", agent);
  50. // 静态文件版本号
  51. model.addAttribute("version", buildTime);
  52. // spi服务器地址
  53. model.addAttribute("coreServer", coreServer);
  54. // 搜索热门关键字
  55. List<String> searchHotWord = baseService.getSearchHotWord();
  56. model.addAttribute("searchHotWord", searchHotWord);
  57. // 头部菜单
  58. List<TopMenu> menuList = baseService.getNavMenu();
  59. model.addAttribute("topMenuList", menuList);
  60. // 分类菜单
  61. List<JSONObject> classifyList = baseService.getClassifyJson();
  62. model.addAttribute("classifyJson", classifyList);
  63. // 底部帮助页
  64. List<BaseLink> helpPages = baseService.getHelpPages();
  65. model.addAttribute("helpPages", helpPages);
  66. // 友情链接
  67. List<BaseLink> friendLinks = baseService.getFriendLinks();
  68. model.addAttribute("friendLinks", friendLinks);
  69. return model;
  70. }
  71. protected String errorPath(){
  72. return ERROR_PATH;
  73. }
  74. }