router-auth.go 1000 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package router
  2. import (
  3. "exam_system/entity"
  4. "exam_system/result"
  5. "exam_system/service"
  6. "exam_system/vo"
  7. "github.com/gin-gonic/gin"
  8. )
  9. func Auth(router *RouterPlus) {
  10. authGroup := router.Group("/auth")
  11. {
  12. // 注册
  13. //authGroup.POST("/register", Register)
  14. // 登录
  15. authGroup.POST("/login", Login)
  16. }
  17. }
  18. func Register(context *gin.Context) *result.Result {
  19. var body struct {
  20. entity.User
  21. UserType string `json:"user_type,omitempty"`
  22. }
  23. if err := context.ShouldBindJSON(&body); err != nil {
  24. return result.PASSWORD_ERROR
  25. }
  26. if body.Username == "" || body.Password == "" || body.Sid == "" {
  27. return result.PASSWORD_ERROR
  28. }
  29. status :=entity.UNDER_REVIEW
  30. body.Status = &status
  31. return service.AddUser(&body.User, body.UserType)
  32. }
  33. func Login(context *gin.Context) *result.Result {
  34. var user vo.UserVo
  35. if err := context.ShouldBindJSON(&user); err != nil {
  36. return result.PASSWORD_ERROR
  37. }
  38. if user.RoleName == nil {
  39. return result.PARAM_ERROR
  40. }
  41. return service.Login(&user)
  42. }