package ali import ( "go.ipao.vip/atom/container" "go.ipao.vip/atom/opt" ) const DefaultPrefix = "Ali" func DefaultProvider() container.ProviderContainer { return container.ProviderContainer{ Provider: Provide, Options: []opt.Option{ opt.Prefix(DefaultPrefix), }, } } type Config struct { AccessKeyId string AccessKeySecret string Bucket string Region string Host *string CallbackURL string } func Provide(opts ...opt.Option) error { o := opt.New(opts...) var config Config if err := o.UnmarshalConfig(&config); err != nil { return err } return container.Container.Provide(func() (*Config, error) { return &config, nil }, o.DiOptions()...) } type PolicyToken struct { Policy string `json:"policy"` SecurityToken string `json:"security_token"` SignatureVersion string `json:"x_oss_signature_version"` Credential string `json:"x_oss_credential"` Date string `json:"x_oss_date"` Signature string `json:"signature"` Host string `json:"host"` Dir string `json:"dir"` Callback string `json:"callback"` } type CallbackParam struct { CallbackUrl string `json:"callbackUrl"` CallbackBody string `json:"callbackBody"` CallbackBodyType string `json:"callbackBodyType"` }