config.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package client
  2. import (
  3. "errors"
  4. )
  5. /**
  6. * @Author linya.jj
  7. * @Date 2023/3/22 14:50
  8. */
  9. // 应用秘钥信息
  10. type AppCredentialConfig struct {
  11. ClientId string `json:"clientKey" yaml:"clientKey"` //自建应用appKey; 三方应用suiteKey
  12. ClientSecret string `json:"clientSecret" yaml:"clientSecret"` //自建应用appSecret; 三方应用suiteSecret
  13. }
  14. func NewAppCredentialConfig(clientId, clientSecret string) *AppCredentialConfig {
  15. return &AppCredentialConfig{
  16. ClientId: clientId,
  17. ClientSecret: clientSecret,
  18. }
  19. }
  20. func (c *AppCredentialConfig) Valid() error {
  21. if c == nil {
  22. return errors.New("AppCredentialConfigNil")
  23. }
  24. if c.ClientId == "" || c.ClientSecret == "" {
  25. return errors.New("AppCredentialConfigEmpty")
  26. }
  27. return nil
  28. }
  29. // UA信息
  30. type UserAgentConfig struct {
  31. UserAgent string `json:"user_agent"`
  32. }
  33. func NewDingtalkGoSDKUserAgent() *UserAgentConfig {
  34. return &UserAgentConfig{
  35. UserAgent: "dingtalk-sdk-go/v0.8.0",
  36. }
  37. }
  38. func (c *UserAgentConfig) Valid() error {
  39. if c == nil {
  40. return errors.New("UserAgentConfigNil")
  41. }
  42. if c.UserAgent == "" {
  43. return errors.New("UserAgentConfigEmpty")
  44. }
  45. return nil
  46. }