login.go 2.6 KB

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