This commit is contained in:
maxwell 2024-10-09 08:38:01 +08:00
parent 6ba71baf1f
commit 9327655d4e
2 changed files with 12 additions and 11 deletions

View File

@ -1,4 +1,4 @@
package middleware package handlers
import ( import (
"bytes" "bytes"
@ -33,7 +33,7 @@ func GetUserInfo(isStudent bool, redisClient *redis.Storage) fiber.Handler {
}) })
} }
cfg := config.New() cfg := config.New()
token, err := getEKTPlatformToken(redisClient, cfg.APIUser, cfg.APIPassword) token, err := getEKTPlatformToken(redisClient)
if err != nil { if err != nil {
return c.Status(http.StatusUnauthorized).JSON(fiber.Map{ return c.Status(http.StatusUnauthorized).JSON(fiber.Map{
"message": "获取token失败,", "message": "获取token失败,",
@ -94,7 +94,7 @@ func GetStudentInfoByParent(redisClient *redis.Storage) fiber.Handler {
}) })
} }
cfg := config.New() cfg := config.New()
token, err := getEKTPlatformToken(redisClient, cfg.APIUser, cfg.APIPassword) token, err := getEKTPlatformToken(redisClient)
if err != nil { if err != nil {
return c.Status(http.StatusUnauthorized).JSON(fiber.Map{ return c.Status(http.StatusUnauthorized).JSON(fiber.Map{
"message": "获取token失败,", "message": "获取token失败,",
@ -134,7 +134,7 @@ func GetStudentInfoByParent(redisClient *redis.Storage) fiber.Handler {
} }
// Redis中 取数据 // Redis中 取数据
func getEKTPlatformToken(redisClient *redis.Storage, username string, password string) (string, error) { func getEKTPlatformToken(redisClient *redis.Storage) (string, error) {
userIDBytes, err := redisClient.Get("testToken") userIDBytes, err := redisClient.Get("testToken")
if err != nil { if err != nil {
return "", errors.New("获取token失败,redis错误") return "", errors.New("获取token失败,redis错误")
@ -151,7 +151,7 @@ func getEKTPlatformToken(redisClient *redis.Storage, username string, password s
} }
} }
// token无效重新获取token // token无效重新获取token
token, err := fetchTokenFromAPI(username, password) token, err := fetchTokenFromAPI()
if err != nil { if err != nil {
return "", errors.New(err.Error()) return "", errors.New(err.Error())
} }
@ -159,11 +159,12 @@ func getEKTPlatformToken(redisClient *redis.Storage, username string, password s
return token, nil return token, nil
} }
func fetchTokenFromAPI(username, password string) (string, error) { func fetchTokenFromAPI() (string, error) {
//url 定义在config.go中
cfg := config.New()
cfg := config.New()
url := cfg.APITokenUrl url := cfg.APITokenUrl
username := cfg.APIUser
password := cfg.APIPassword
reqBody := map[string]string{ reqBody := map[string]string{
"name": username, "name": username,
"password": password, "password": password,

View File

@ -55,9 +55,9 @@ func main() {
app.Get("/user", middleware.AuthMiddleware(redisClient), handlers.GetCurrentUser(db)) app.Get("/user", middleware.AuthMiddleware(redisClient), handlers.GetCurrentUser(db))
app.Put("/user", middleware.AuthMiddleware(redisClient), handlers.UpdateCurrentUser(db)) app.Put("/user", middleware.AuthMiddleware(redisClient), handlers.UpdateCurrentUser(db))
app.Get("/users/:id", middleware.AuthMiddleware(redisClient), handlers.GetUserByID(db)) app.Get("/users/:id", middleware.AuthMiddleware(redisClient), handlers.GetUserByID(db))
app.Post("/getuser", middleware.GetUserInfo(false, redisClient)) app.Post("/getuser", handlers.GetUserInfo(false, redisClient))
app.Post("/getstudent", middleware.GetUserInfo(true, redisClient)) app.Post("/getstudent", handlers.GetUserInfo(true, redisClient))
app.Post("/getstudentsbynumber", middleware.GetStudentInfoByParent(redisClient)) app.Post("/getstudentsbynumber", handlers.GetStudentInfoByParent(redisClient))
// Start server // Start server
log.Fatal(app.Listen(":7777")) log.Fatal(app.Listen(":7777"))