login.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package controller
  2. import (
  3. "git.wanbits.cc/sin/flytalk/tools"
  4. "github.com/gin-gonic/gin"
  5. "time"
  6. )
  7. // @Summary 登陆验证接口
  8. // @Produce json
  9. // @Accept multipart/form-data
  10. // @Param username formData string true "用户名"
  11. // @Param password formData string true "密码"
  12. // @Param type formData string true "类型"
  13. // @Success 200 {object} controller.Response
  14. // @Failure 200 {object} controller.Response
  15. // @Router /check [post]
  16. //验证接口
  17. func LoginCheckPass(c *gin.Context) {
  18. password := c.PostForm("password")
  19. username := c.PostForm("username")
  20. info, uRole, ok := CheckKefuPass(username, password)
  21. userinfo := make(map[string]interface{})
  22. if !ok {
  23. c.JSON(200, gin.H{
  24. "code": 400,
  25. "msg": "验证失败",
  26. })
  27. return
  28. }
  29. userinfo["name"] = info.Name
  30. userinfo["kefu_id"] = info.ID
  31. userinfo["type"] = "kefu"
  32. if uRole.RoleId != 0 {
  33. userinfo["role_id"] = uRole.RoleId
  34. } else {
  35. userinfo["role_id"] = 2
  36. }
  37. userinfo["create_time"] = time.Now().Unix()
  38. token, _ := tools.MakeToken(userinfo)
  39. userinfo["ref_token"] = true
  40. refToken, _ := tools.MakeToken(userinfo)
  41. c.JSON(200, gin.H{
  42. "code": 200,
  43. "msg": "验证成功,正在跳转",
  44. "result": gin.H{
  45. "token": token,
  46. "ref_token": refToken,
  47. "create_time": userinfo["create_time"],
  48. },
  49. })
  50. }