diff --git a/drivers/115_open/driver.go b/drivers/115_open/driver.go index afccb2a7e..909bf4a99 100644 --- a/drivers/115_open/driver.go +++ b/drivers/115_open/driver.go @@ -53,6 +53,12 @@ func (d *Open115) Init(ctx context.Context) error { if d.Addition.LimitRate > 0 { d.limiter = rate.NewLimiter(rate.Limit(d.Addition.LimitRate), 1) } + if d.PageSize <= 0 { + d.PageSize = 200 + } else if d.PageSize > 1150 { + d.PageSize = 1150 + } + return nil } @@ -69,7 +75,7 @@ func (d *Open115) Drop(ctx context.Context) error { func (d *Open115) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]model.Obj, error) { var res []model.Obj - pageSize := int64(200) + pageSize := int64(d.PageSize) offset := int64(0) for { if err := d.WaitLimit(ctx); err != nil { diff --git a/drivers/115_open/meta.go b/drivers/115_open/meta.go index f66ae9310..ed908e2e6 100644 --- a/drivers/115_open/meta.go +++ b/drivers/115_open/meta.go @@ -12,6 +12,7 @@ type Addition struct { OrderBy string `json:"order_by" type:"select" options:"file_name,file_size,user_utime,file_type"` OrderDirection string `json:"order_direction" type:"select" options:"asc,desc"` LimitRate float64 `json:"limit_rate" type:"float" default:"1" help:"limit all api request rate ([limit]r/1s)"` + PageSize int64 `json:"page_size" type:"number" default:"200" help:"list api per page size of 115open driver"` AccessToken string `json:"access_token" required:"true"` RefreshToken string `json:"refresh_token" required:"true"` }