github.com/cloudreve/Cloudreve/v3@v3.0.0-20240224133659-3edb00a6484c/pkg/util/session.go (about) 1 package util 2 3 import ( 4 "github.com/gin-contrib/sessions" 5 "github.com/gin-gonic/gin" 6 ) 7 8 // SetSession 设置session 9 func SetSession(c *gin.Context, list map[string]interface{}) { 10 s := sessions.Default(c) 11 for key, value := range list { 12 s.Set(key, value) 13 } 14 15 err := s.Save() 16 if err != nil { 17 Log().Warning("无法设置 Session 值:%s", err) 18 } 19 } 20 21 // GetSession 获取session 22 func GetSession(c *gin.Context, key string) interface{} { 23 s := sessions.Default(c) 24 return s.Get(key) 25 } 26 27 // DeleteSession 删除session 28 func DeleteSession(c *gin.Context, key string) { 29 s := sessions.Default(c) 30 s.Delete(key) 31 s.Save() 32 } 33 34 // ClearSession 清空session 35 func ClearSession(c *gin.Context) { 36 s := sessions.Default(c) 37 s.Clear() 38 s.Save() 39 }