Login.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package controllers
  2. import (
  3. "Cold_Api/controllers/lib"
  4. "Cold_Api/models/Account"
  5. "Cold_Api/models/System"
  6. beego "github.com/beego/beego/v2/server/web"
  7. "github.com/mssola/user_agent"
  8. "time"
  9. )
  10. type AdminController struct {
  11. beego.Controller
  12. }
  13. func (c *AdminController) Login() {
  14. c.TplName = "login.html"
  15. }
  16. // 获取用户登录信息
  17. func (c *AdminController) GetUserLoginInfo() map[string]interface{} {
  18. //Ipaddr ip地址
  19. //Browser 浏览器
  20. //Os 系统
  21. //Platform 固件
  22. l := make(map[string]interface{})
  23. ua := user_agent.New(c.Ctx.Request.UserAgent())
  24. l["ipaddr"] = c.Ctx.Input.IP()
  25. l["remark"] = c.Ctx.Request.UserAgent()
  26. browserName, browserVersion := ua.Browser()
  27. l["browser"] = browserName + " " + browserVersion
  28. l["os"] = ua.OS()
  29. l["platform"] = ua.Platform()
  30. return l
  31. }
  32. func (c *AdminController) Login_verification() {
  33. Admin_user := c.GetString("bzd_username")
  34. Admin_pass := c.GetString("bzd_password")
  35. println("Login_verification", Admin_user, Admin_pass)
  36. err, admin_r := Account.Read_AdminLogin_verification(Admin_user, Admin_pass)
  37. if err != nil {
  38. c.Data["json"] = lib.JSONS{Code: 202, Msg: "账号密码错误!"}
  39. } else {
  40. User_tokey := Account.Add_Tokey_Set(admin_r.T_uuid)
  41. c.Ctx.SetCookie("User_tokey", User_tokey, time.Second*60*60)
  42. c.Data["json"] = lib.JSONS{Code: 200, Msg: "OK!", Data: User_tokey}
  43. System.Add_UserLogs_T(admin_r.T_uuid, "登陆", "用户登陆", c.GetUserLoginInfo())
  44. }
  45. c.ServeJSON()
  46. return
  47. }
  48. func (c *AdminController) Info() {
  49. // 验证登录
  50. b_, user_r := Account.Verification(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
  51. if !b_ {
  52. c.Data["json"] = lib.JSONS{Code: 202, Msg: "no"}
  53. c.ServeJSON()
  54. return
  55. }
  56. c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok", Data: Account.AdminToAdmin_R(user_r)}
  57. c.ServeJSON()
  58. return
  59. }