🐛 fix: #101 分次请求文件

This commit is contained in:
微凉
2021-04-30 19:01:40 +08:00
parent 427244d8d5
commit b20f0717fe
3 changed files with 40 additions and 33 deletions

View File

@ -18,7 +18,7 @@ server:
password: password #用于重建目录
ali_drive:
api_url: https://api.aliyundrive.com/v2
max_files_count: 3000
max_files_count: 50 #重建目录时每次请求的文件
drives:
- refresh_token: xxx #refresh_token
root_folder: root #根目录的file_id

View File

@ -27,7 +27,7 @@ func Path(c *gin.Context) {
if err != nil {
// folder model not exist
if file == nil {
c.JSON(200, MetaResponse(404, "path not found."))
c.JSON(200, MetaResponse(404, "path not found.(第一次请先点击网页底部rebuild)"))
return
}
c.JSON(200, MetaResponse(500, err.Error()))

View File

@ -62,10 +62,16 @@ func BuildOne(parent string, path string, tx *gorm.DB, parentPassword string, dr
if depth == 0 {
return nil
}
files, err := alidrive.GetList(parent, conf.Conf.AliDrive.MaxFilesCount, "", "", "", drive)
marker := "first"
for marker != "" {
if marker == "first" {
marker = ""
}
files, err := alidrive.GetList(parent, conf.Conf.AliDrive.MaxFilesCount, marker, "", "", drive)
if err != nil {
return err
}
marker = files.NextMarker
for _, file := range files.Items {
name := file.Name
if strings.HasSuffix(name, ".hide") {
@ -100,6 +106,7 @@ func BuildOne(parent string, path string, tx *gorm.DB, parentPassword string, dr
}
}
}
}
return nil
}