Login.go 1.9 KB

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