GetInfoFromSession.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. }
  30. func (*sessionTalentInfo) GetOpenIdFromSession(r *ghttp.Request) (string, error) {
  31. t := r.GetHeader("Token")
  32. if t == "" {
  33. return "", errors.New("not found info by token")
  34. }
  35. infoMap := r.Session.Get(t)
  36. if infoMap == nil {
  37. return "", errors.New("info in session not found")
  38. }
  39. sInfoMap, ok := infoMap.(g.Map)
  40. if !ok {
  41. return "", errors.New("info in session is not a map")
  42. }
  43. openId := sInfoMap["wxOpenId"]
  44. if openId == nil {
  45. return "", errors.New("session map not contains key wxOpenId")
  46. }
  47. return openId.(string), nil
  48. }