Router.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package router
  2. import (
  3. "ARKItems/configs"
  4. "ARKItems/entity/ark"
  5. "ARKItems/util"
  6. "github.com/gin-gonic/gin"
  7. "github.com/spf13/cast"
  8. )
  9. var ARKConfig ark.Config
  10. func LoadRouter(router *gin.Engine) {
  11. router.POST("/login", Login)
  12. router.Use(Calibration())
  13. ARKConfigRouter(router.Group("/ark"))
  14. }
  15. // Calibration 登录校验
  16. func Calibration() gin.HandlerFunc {
  17. return func(c *gin.Context) {
  18. header := c.GetHeader("auth-sign")
  19. if header == "" {
  20. c.JSON(200, CreateResultError(500, "用户未登录"))
  21. c.Abort()
  22. }
  23. token, err := util.ParseToken(header)
  24. if err != nil {
  25. c.JSON(200, CreateResultError(500, "token解析失败"))
  26. c.Abort()
  27. return
  28. }
  29. if !util.JudgmentUserInfo(token) {
  30. c.JSON(200, CreateResultError(500, "token过期,或无效"))
  31. c.Abort()
  32. return
  33. }
  34. }
  35. }
  36. func Login(c *gin.Context) {
  37. param := util.GetJsonAnyParam(c)
  38. username, _ := param("username")
  39. password, _ := param("password")
  40. if username == configs.Manager.Username && password == configs.Manager.Password {
  41. token, err := util.GenerateToken(cast.ToString(username))
  42. if err != nil {
  43. c.JSON(200, CreateResultError(500, "token生成失败"))
  44. return
  45. }
  46. c.JSON(200, CreateResultData(gin.H{
  47. "token": token,
  48. }))
  49. return
  50. }
  51. c.JSON(200, CreateResultError(500, "用户名或密码错误"))
  52. }
  53. //===============================================================
  54. func CreateResult() gin.H {
  55. return gin.H{
  56. "code": 200,
  57. "msg": "success",
  58. }
  59. }
  60. func CreateResultData(Data any) gin.H {
  61. return gin.H{
  62. "code": 200,
  63. "msg": "success",
  64. "data": Data,
  65. }
  66. }
  67. func CreateResultError(errCode int, errMsg string) gin.H {
  68. return gin.H{
  69. "code": errCode,
  70. "msg": errMsg,
  71. }
  72. }