server.go 914 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package server
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "net/http"
  5. )
  6. // Mock 数据库,存储授权码及其状态
  7. var mockDB = map[string]bool{
  8. "authcode123": true,
  9. "authcode456": false,
  10. }
  11. // validateAuthCode 处理 POST 请求,验证授权码
  12. func validateAuthCode(c *gin.Context) {
  13. var requestBody struct {
  14. AuthCode string `json:"auth_code"`
  15. }
  16. // 解析请求体
  17. if err := c.ShouldBindJSON(&requestBody); err != nil {
  18. c.JSON(http.StatusBadRequest, gin.H{"error": "Invalid request body"})
  19. return
  20. }
  21. // 验证授权码
  22. if isValid, ok := mockDB[requestBody.AuthCode]; ok && isValid {
  23. c.JSON(http.StatusOK, gin.H{"status": "valid"})
  24. } else {
  25. c.JSON(http.StatusUnauthorized, gin.H{"status": "invalid"})
  26. }
  27. }
  28. // Start 启动 HTTP 服务
  29. func Start() {
  30. r := gin.Default()
  31. // 定义 POST 路由
  32. r.POST("/validate", validateAuthCode)
  33. // 启动服务,监听 8080 端口
  34. r.Run(":8080")
  35. }