login.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /*
  2. * @description:
  3. * @Author: CP
  4. * @Date: 2020-08-28 10:26:02
  5. * @FilePath: \construction_management\web\controllers\login.go
  6. */
  7. package controllers
  8. import (
  9. "fmt"
  10. "github.com/kataras/iris/v12"
  11. "github.com/kataras/iris/v12/mvc"
  12. "go.mod/comm"
  13. "go.mod/services"
  14. "go.mod/web/utils"
  15. )
  16. type LoginController struct {
  17. //框架-web应用上下文环境
  18. Ctx iris.Context
  19. // 需要用的service
  20. ServiceProjectAccount services.ProjectAccountService
  21. ServiceLogin services.LoginService
  22. }
  23. // 默认首页
  24. func (c *LoginController) Get() mvc.Result {
  25. return mvc.Response{
  26. Path: "/login",
  27. }
  28. }
  29. //登录页面
  30. func (c *LoginController) GetLogin() mvc.Result {
  31. // r := c.Ctx.GetReferrer()
  32. // fmt.Println(r)
  33. errMsg := c.Ctx.URLParam("err")
  34. return mvc.View{
  35. Name: "login/login.html",
  36. Data: iris.Map{
  37. "Title": "用户登录",
  38. "Channel": "login",
  39. "Action": "login",
  40. "errMsg": errMsg,
  41. },
  42. Layout: "login/layout.html",
  43. }
  44. }
  45. //登陆
  46. func (c *LoginController) PostLogin() mvc.Result {
  47. ErrMsg := ""
  48. //验证规则
  49. LoginData, err := c.ServiceLogin.ValidRule(c.Ctx)
  50. if err != nil {
  51. ErrMsg = utils.FormValidError(err)
  52. } else {
  53. //验证登陆用户
  54. err = c.ServiceLogin.ValidProjectAccount(LoginData, c.Ctx.ResponseWriter())
  55. if err != nil {
  56. ErrMsg = fmt.Sprintf("%s", err)
  57. } else {
  58. //验证通关
  59. comm.Redirect(c.Ctx.ResponseWriter(), "/bidsection")
  60. }
  61. }
  62. return mvc.View{
  63. Name: "login/login.html",
  64. Data: iris.Map{
  65. "Title": "用户登录",
  66. "Channel": "login",
  67. "Action": "login",
  68. "LoginData": LoginData,
  69. "ErrMsg": ErrMsg,
  70. },
  71. Layout: "login/layout.html",
  72. }
  73. }
  74. //自定义请求
  75. func (c *LoginController) BeforeActivation(b mvc.BeforeActivation) {
  76. anyMiddlewareHere := func(ctx iris.Context) {
  77. ctx.Application().Logger().Warnf("Inside /custom_path")
  78. ctx.Next()
  79. }
  80. b.Handle("GET", "/something", "MyCustomHandlerc", anyMiddlewareHere)
  81. }
  82. func (c *LoginController) MyCustomHandlerc() string {
  83. //c.Ctx.Writef("You're welcome mate!")
  84. //refer := fmt.Sprintf("/login?err=%s", err)
  85. //refer = fmt.Sprintf("/login?err=%s", msg)
  86. // rs := make(map[string]interface{})
  87. // rs["code"] = 0
  88. // rs["msg"] = ""
  89. // datalist := c.ServiceGift.GetAll(true)
  90. // list := make([]models.LtGift, 0)
  91. // for _, data := range datalist {
  92. // // 正常状态的才需要放进来
  93. // if data.SysStatus == 0 {
  94. // list = append(list, data)
  95. // }
  96. // }
  97. // rs["gifts"] = list
  98. // return rs
  99. fmt.Println("out")
  100. return "MyCustomHandler says Hey"
  101. // c.Ctx.Header("Content-Type", "text/html")
  102. // return "out"
  103. }