login.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. errMsg := c.Ctx.URLParam("err")
  32. return mvc.View{
  33. Name: "login/login.html",
  34. Data: iris.Map{
  35. "Title": "用户登录",
  36. "Channel": "login",
  37. "Action": "login",
  38. "errMsg": errMsg,
  39. },
  40. Layout: "login/layout.html",
  41. }
  42. }
  43. //登陆
  44. func (c *LoginController) PostLogin() mvc.Result {
  45. ErrMsg := ""
  46. //验证规则
  47. LoginData, err := c.ServiceLogin.ValidRule(c.Ctx)
  48. if err != nil {
  49. ErrMsg = utils.FormValidError(err)
  50. } else {
  51. //验证登陆用户
  52. err = c.ServiceLogin.ValidProjectAccount(LoginData, c.Ctx.ResponseWriter())
  53. if err != nil {
  54. ErrMsg = fmt.Sprintf("%s", err)
  55. } else {
  56. //验证通关
  57. comm.Redirect(c.Ctx.ResponseWriter(), "/bidsection")
  58. }
  59. }
  60. return mvc.View{
  61. Name: "login/login.html",
  62. Data: iris.Map{
  63. "Title": "用户登录",
  64. "Channel": "login",
  65. "Action": "login",
  66. "LoginData": LoginData,
  67. "ErrMsg": ErrMsg,
  68. },
  69. Layout: "login/layout.html",
  70. }
  71. }
  72. //自定义请求
  73. func (c *LoginController) BeforeActivation(b mvc.BeforeActivation) {
  74. anyMiddlewareHere := func(ctx iris.Context) {
  75. ctx.Application().Logger().Warnf("Inside /custom_path")
  76. ctx.Next()
  77. }
  78. b.Handle("GET", "/something", "MyCustomHandlerc", anyMiddlewareHere)
  79. }
  80. func (c *LoginController) MyCustomHandlerc() string {
  81. //c.Ctx.Writef("You're welcome mate!")
  82. //refer := fmt.Sprintf("/login?err=%s", err)
  83. //refer = fmt.Sprintf("/login?err=%s", msg)
  84. // rs := make(map[string]interface{})
  85. // rs["code"] = 0
  86. // rs["msg"] = ""
  87. // datalist := c.ServiceGift.GetAll(true)
  88. // list := make([]models.LtGift, 0)
  89. // for _, data := range datalist {
  90. // // 正常状态的才需要放进来
  91. // if data.SysStatus == 0 {
  92. // list = append(list, data)
  93. // }
  94. // }
  95. // rs["gifts"] = list
  96. // return rs
  97. fmt.Println("out")
  98. return "MyCustomHandler says Hey"
  99. // c.Ctx.Header("Content-Type", "text/html")
  100. // return "out"
  101. }