fix: replace context-based user ID with session-based retrieval #741

- Update user and wechat controllers to use sessions for user ID
- Modify ID retrieval to use `session.Get("id")` instead of `c.GetInt("id")`
- Cast session ID to int when creating user object
This commit is contained in:
1808837298@qq.com
2025-02-10 20:52:33 +08:00
parent 68c559c119
commit 8418dbe7c4
2 changed files with 7 additions and 4 deletions

View File

@@ -846,9 +846,10 @@ func EmailBind(c *gin.Context) {
}) })
return return
} }
id := c.GetInt("id") session := sessions.Default(c)
id := session.Get("id")
user := model.User{ user := model.User{
Id: id, Id: id.(int),
} }
err := user.FillUserById() err := user.FillUserById()
if err != nil { if err != nil {

View File

@@ -4,6 +4,7 @@ import (
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
"github.com/gin-contrib/sessions"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"net/http" "net/http"
"one-api/common" "one-api/common"
@@ -142,9 +143,10 @@ func WeChatBind(c *gin.Context) {
}) })
return return
} }
id := c.GetInt("id") session := sessions.Default(c)
id := session.Get("id")
user := model.User{ user := model.User{
Id: id, Id: id.(int),
} }
err = user.FillUserById() err = user.FillUserById()
if err != nil { if err != nil {