instance.go 679 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package sdk
  2. import (
  3. "git.sxidc.com/service-supports/ds-sdk/client"
  4. )
  5. var sdkInstance *SDK
  6. func GetInstance() *SDK {
  7. return sdkInstance
  8. }
  9. func InitInstance(token string, baseUrl string, namespace string, dataSource string, opts ...Option) error {
  10. if sdkInstance != nil {
  11. return nil
  12. }
  13. options := &Options{
  14. token: token,
  15. baseUrl: baseUrl,
  16. namespace: namespace,
  17. dataSource: dataSource,
  18. }
  19. for _, opt := range opts {
  20. opt(options)
  21. }
  22. c := client.New(options.timeout)
  23. sdkInstance = &SDK{
  24. options: options,
  25. client: c,
  26. }
  27. return nil
  28. }
  29. func DestroyInstance() error {
  30. if sdkInstance == nil {
  31. return nil
  32. }
  33. sdkInstance = nil
  34. return nil
  35. }