user.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package controller
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "iot_manager_service/app/user/model"
  6. "iot_manager_service/app/user/service"
  7. "iot_manager_service/util/cache"
  8. "iot_manager_service/util/common"
  9. "iot_manager_service/util/token"
  10. "iot_manager_service/util/websocket"
  11. "net/http"
  12. )
  13. var UserController = new(user)
  14. type user struct{}
  15. func (u *user) Login(c *gin.Context) {
  16. loginUser := model.LoginUser{}
  17. if err := c.ShouldBindJSON(&loginUser); err != nil {
  18. c.JSON(http.StatusOK, common.ParamsInvalidResponse(err.Error(), nil))
  19. return
  20. }
  21. info := service.UserService.Login(loginUser.Account, loginUser.PassWord)
  22. c.JSON(http.StatusOK, info)
  23. }
  24. func (u *user) GetPublicKey(c *gin.Context) {
  25. key := service.UserService.GetPublicKey()
  26. c.JSON(http.StatusOK, key)
  27. }
  28. func (u *user) GetDeptUsers(c *gin.Context) {
  29. depts := model.ReqDepts{}
  30. err := c.ShouldBindJSON(&depts)
  31. if err != nil {
  32. c.JSON(http.StatusOK, common.ParamsInvalidResponse(err.Error(), nil))
  33. return
  34. }
  35. users := service.UserService.GetDeptUsers(depts.Depts)
  36. c.JSON(http.StatusOK, users)
  37. }
  38. func (u *user) Logout(c *gin.Context) {
  39. header := c.GetHeader("Authorization")
  40. claims, _ := token.JwtClaims.ParseJwtToken(header)
  41. err := cache.DeleteToken(claims.ID)
  42. if err != nil {
  43. c.JSON(http.StatusOK, common.ParamsInvalidResponse(err.Error(), nil))
  44. return
  45. }
  46. //关闭websocket连接
  47. websocket.CloseConn(claims.ID)
  48. c.JSON(http.StatusOK, common.SuccessResponse("退出成功", nil))
  49. }
  50. func (u *user) GetUser(c *gin.Context) {
  51. fmt.Println("demo。。。")
  52. }