audience.go 841 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package jpush
  2. const (
  3. _audienceTag = "tag"
  4. _audienceTagAnd = "tag_and"
  5. _audienceAlias = "alias"
  6. _audienceID = "registration_id"
  7. _audienceAll = "all"
  8. )
  9. // Audience .
  10. type Audience struct {
  11. Object interface{}
  12. audience map[string][]string
  13. }
  14. // All .
  15. func (a *Audience) All() {
  16. a.Object = _audienceAll
  17. }
  18. // SetID .
  19. func (a *Audience) SetID(ids []string) {
  20. a.set(_audienceID, ids)
  21. }
  22. // SetTag .
  23. func (a *Audience) SetTag(tags []string) {
  24. a.set(_audienceTag, tags)
  25. }
  26. // SetTagAnd .
  27. func (a *Audience) SetTagAnd(tags []string) {
  28. a.set(_audienceTagAnd, tags)
  29. }
  30. // SetAlias .
  31. func (a *Audience) SetAlias(alias []string) {
  32. a.set(_audienceAlias, alias)
  33. }
  34. func (a *Audience) set(key string, v []string) {
  35. if a.Object == nil {
  36. a.audience = map[string][]string{key: v}
  37. a.Object = a.audience
  38. }
  39. a.audience[key] = v
  40. }