diff --git a/drivers/alist/alist.go b/drivers/alist/alist.go index 5a7b7003a4c..4e287cd14e5 100644 --- a/drivers/alist/alist.go +++ b/drivers/alist/alist.go @@ -13,7 +13,11 @@ type BaseResp struct { type PathResp struct { BaseResp - Data []model.File `json:"data"` + Data struct { + Type string `json:"type"` + //Meta Meta `json:"meta"` + Files []model.File `json:"files"` + } `json:"data"` } type PreviewResp struct { @@ -25,7 +29,7 @@ func (driver *Alist) Login(account *model.Account) error { var resp BaseResp _, err := base.RestyClient.R().SetResult(&resp). SetHeader("Authorization", account.AccessToken). - Get(account.SiteUrl+"/api/admin/login") + Get(account.SiteUrl + "/api/admin/login") if err != nil { return err } diff --git a/drivers/alist/driver.go b/drivers/alist/driver.go index 51d34d68e6f..f36c92fccec 100644 --- a/drivers/alist/driver.go +++ b/drivers/alist/driver.go @@ -136,13 +136,13 @@ func (driver Alist) Path(path string, account *model.Account) (*model.File, []mo if resp.Code != 200 { return nil, nil, errors.New(resp.Message) } - if resp.Message == "file" { - return &resp.Data[0], nil, nil + if resp.Data.Type == "file" { + return &resp.Data.Files[0], nil, nil } - if len(resp.Data) > 0 { - _ = base.SetCache(path, resp.Data, account) + if len(resp.Data.Files) > 0 { + _ = base.SetCache(path, resp.Data.Files, account) } - return nil, resp.Data, nil + return nil, resp.Data.Files, nil } func (driver Alist) Proxy(c *gin.Context, account *model.Account) {}