Router.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. // ARKShopItems 商城物品列表
  11. var ARKShopItems map[string]ark.ShopItem
  12. var ARKShopDines map[string]ark.ShopDino
  13. var ARKShopBeacons map[string]ark.ShopBeacon
  14. var ARKShopExperiences map[string]ark.ShopExperience
  15. var ARKShopUnlockengram map[string]ark.ShopUnlockengram
  16. var ARKShopCommands map[string]ark.ShopCommand
  17. func init() {
  18. //加载配置文件
  19. ARKConfig, ARKShopItems, ARKShopDines, ARKShopBeacons, ARKShopExperiences, ARKShopUnlockengram, ARKShopCommands =
  20. util.LoadArkShopConfig(configs.ARKJsonFilePath)
  21. }
  22. func LoadRouter(router *gin.Engine) {
  23. router.POST("/login", Login)
  24. router.Use(Calibration())
  25. ARKConfigRouter(router.Group("/ark"))
  26. }
  27. // Calibration 登录校验
  28. func Calibration() gin.HandlerFunc {
  29. return func(c *gin.Context) {
  30. header := c.GetHeader("auth-sign")
  31. if header == "" {
  32. c.JSON(200, CreateResultError(500, "用户未登录"))
  33. c.Abort()
  34. }
  35. token, err := util.ParseToken(header)
  36. if err != nil {
  37. c.JSON(200, CreateResultError(565, "token解析失败"))
  38. c.Abort()
  39. return
  40. }
  41. if !util.JudgmentUserInfo(token) {
  42. c.JSON(200, CreateResultError(500, "token过期,或无效"))
  43. c.Abort()
  44. return
  45. }
  46. }
  47. }
  48. func Login(c *gin.Context) {
  49. param := util.GetJsonAnyParam(c)
  50. username, _ := param("username")
  51. password, _ := param("password")
  52. if username == configs.Manager.Username && password == configs.Manager.Password {
  53. token, err := util.GenerateToken(cast.ToString(username))
  54. if err != nil {
  55. c.JSON(200, CreateResultError(500, "token生成失败"))
  56. return
  57. }
  58. c.JSON(200, CreateResultData(gin.H{
  59. "token": token,
  60. }))
  61. return
  62. }
  63. c.JSON(200, CreateResultError(500, "用户名或密码错误"))
  64. }
  65. //===============================================================
  66. func CreateResult() gin.H {
  67. return gin.H{
  68. "code": 200,
  69. "msg": "success",
  70. }
  71. }
  72. func CreateResultData(Data any) gin.H {
  73. return gin.H{
  74. "code": 200,
  75. "msg": "success",
  76. "data": Data,
  77. }
  78. }
  79. func CreateResultError(errCode int, errMsg string) gin.H {
  80. return gin.H{
  81. "code": errCode,
  82. "msg": errMsg,
  83. }
  84. }