transfer.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package controller
  2. import (
  3. "github.com/gogf/gf/v2/net/ghttp"
  4. "jybxseo/internal/service"
  5. "jybxseo/utility"
  6. "strings"
  7. )
  8. // IndexTransfer 首页中转
  9. func IndexTransfer(r *ghttp.Request) {
  10. subDomain := getSubdomain(r.Request.Host)
  11. if areaNode := service.JyBxSeoAreaRoot.GetNodeByCode(subDomain); areaNode != nil {
  12. //地区首页
  13. AreaIndexHandler(areaNode, r)
  14. return
  15. //} else if classNode := service.JyBxSeoClassRoot.GetRootNodeByCode(subDomain); classNode != nil {
  16. // //判断是否是行业(后续开发)
  17. // return
  18. }
  19. // 未知页面
  20. utility.HtmlRender.NotFound(r)
  21. }
  22. // ListTransfer 列表页中转
  23. func ListTransfer(r *ghttp.Request) {
  24. subDomain := getSubdomain(r.Request.Host)
  25. if areaNode := service.JyBxSeoAreaRoot.GetNodeByCode(subDomain); areaNode != nil {
  26. //判断是否是地区
  27. code := r.Get("code").String()
  28. if areaNode.GetChildNode(code) != nil {
  29. CityListHandler(areaNode, r)
  30. return
  31. } else if service.JyBxSeoClassRoot.GetRootNodeByCode(code) != nil {
  32. AreaClassListHandler(areaNode, r)
  33. return
  34. }
  35. //} else if classNode := service.JyBxSeoClassRoot.GetNodeByCode(subDomain); classNode != nil { //待开发
  36. // //判断是否是行业(后续开发)
  37. // return
  38. }
  39. utility.HtmlRender.NotFound(r)
  40. }
  41. // getSubdomain 获取二级域名
  42. func getSubdomain(domain string) string {
  43. parts := strings.Split(domain, ".")
  44. if len(parts) >= 3 {
  45. return parts[0]
  46. }
  47. return ""
  48. }