GetInfoFromSession.go 729 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package utils
  2. import (
  3. "errors"
  4. "github.com/gogf/gf/frame/g"
  5. "github.com/gogf/gf/net/ghttp"
  6. )
  7. var SessionTalentInfo = sessionTalentInfo{}
  8. type sessionTalentInfo struct {
  9. }
  10. func (*sessionTalentInfo) GetTalentIdFromSession(r *ghttp.Request) (string, error) {
  11. t := r.GetHeader("Token")
  12. if t == "" {
  13. return "", errors.New("not found info by token")
  14. }
  15. infoMap := r.Session.Get(t)
  16. if infoMap == nil {
  17. return "", errors.New("info in session not found")
  18. }
  19. sInfoMap, ok := infoMap.(g.Map)
  20. if !ok {
  21. return "", errors.New("info in session is not a map")
  22. }
  23. sTid := sInfoMap["talentId"]
  24. if sTid == nil {
  25. return "", errors.New("session map not contains key talentId")
  26. }
  27. tid := sTid.(string)
  28. return tid, nil
  29. }