session.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package common
  2. import (
  3. "git.listensoft.net/tool/jspkit/common/lxhttp"
  4. "git.listensoft.net/tool/jspkit/common/models"
  5. "git.listensoft.net/tool/jspkit/common/variable"
  6. "git.listensoft.net/tool/jspkit/logger"
  7. "github.com/go-rod/rod/lib/proto"
  8. "time"
  9. )
  10. // CookiesToParams converts Cookies list to NetworkCookieParam list
  11. func NetworkCookiesToParams(cookies []*proto.NetworkCookie) []*proto.NetworkCookieParam {
  12. list := []*proto.NetworkCookieParam{}
  13. for _, c := range cookies {
  14. list = append(list, &proto.NetworkCookieParam{
  15. Name: c.Name,
  16. Value: c.Value,
  17. Domain: c.Domain,
  18. Path: c.Path,
  19. Secure: c.Secure,
  20. HTTPOnly: c.HTTPOnly,
  21. SameSite: c.SameSite,
  22. Expires: c.Expires,
  23. Priority: c.Priority,
  24. })
  25. }
  26. return list
  27. }
  28. var sesstimeour = time.Duration(0.5 * float64(time.Second))
  29. // SaveCookies 保存新的session, 远程
  30. // selector, 元素选择器 selectorValue 元素值
  31. func SaveCookies(key string, value []models.SessionInfo, refreshTime int, args ...string) error {
  32. //不返回任何错误!
  33. tsessionKey := ""
  34. if args != nil {
  35. tsessionKey = args[0]
  36. }
  37. var a interface{}
  38. lxhttp.PostJson(variable.SessionKeepURL+"/api/v1/session/save", map[string]interface{}{
  39. "sessionKey": key,
  40. "tsessionKey": tsessionKey,
  41. "value": value,
  42. "refreshTime": refreshTime,
  43. }, &a)
  44. logger.Info("SaveSessionKey:", key)
  45. return nil
  46. }