diff --git a/drivers/mopan/driver.go b/drivers/mopan/driver.go index 55879005..796a80cb 100644 --- a/drivers/mopan/driver.go +++ b/drivers/mopan/driver.go @@ -18,6 +18,7 @@ import ( "github.com/alist-org/alist/v3/pkg/utils" "github.com/avast/retry-go" "github.com/foxxorcat/mopan-sdk-go" + log "github.com/sirupsen/logrus" ) type MoPan struct { @@ -54,6 +55,16 @@ func (d *MoPan) Init(ctx context.Context) error { return err } d.userID = info.UserID + log.Debugf("[mopan] Phone: %s UserCloudStorageRelations: %+v", d.Phone, data.UserCloudStorageRelations) + cloudCircleApp, _ := d.client.QueryAllCloudCircleApp() + log.Debugf("[mopan] Phone: %s CloudCircleApp: %+v", d.Phone, cloudCircleApp) + if d.RootFolderID == "" { + for _, userCloudStorage := range data.UserCloudStorageRelations { + if userCloudStorage.Path == "/文件" { + d.RootFolderID = userCloudStorage.FolderID + } + } + } return nil } d.client = mopan.NewMoClientWithRestyClient(base.NewRestyClient()). @@ -94,6 +105,7 @@ func (d *MoPan) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([ break } + log.Debugf("[mopan] Phone: %s folder: %+v", d.Phone, data.FileListAO.FolderList) files = append(files, utils.MustSliceConvert(data.FileListAO.FolderList, folderToObj)...) files = append(files, utils.MustSliceConvert(data.FileListAO.FileList, fileToObj)...) } diff --git a/drivers/mopan/meta.go b/drivers/mopan/meta.go index ecea3bbd..e6583fc1 100644 --- a/drivers/mopan/meta.go +++ b/drivers/mopan/meta.go @@ -9,7 +9,7 @@ type Addition struct { Phone string `json:"phone" required:"true"` Password string `json:"password" required:"true"` - RootFolderID string `json:"root_folder_id" default:"-11" required:"true" help:"be careful when using the -11 value, some operations may cause system errors"` + RootFolderID string `json:"root_folder_id" default:""` CloudID string `json:"cloud_id"` diff --git a/go.mod b/go.mod index e90d9890..11559302 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( github.com/deckarep/golang-set/v2 v2.3.1 github.com/disintegration/imaging v1.6.2 github.com/dustinxie/ecc v0.0.0-20210511000915-959544187564 - github.com/foxxorcat/mopan-sdk-go v0.1.3 + github.com/foxxorcat/mopan-sdk-go v0.1.4 github.com/foxxorcat/weiyun-sdk-go v0.1.2 github.com/gin-contrib/cors v1.4.0 github.com/gin-gonic/gin v1.9.1 diff --git a/go.sum b/go.sum index d751cad4..6f5be907 100644 --- a/go.sum +++ b/go.sum @@ -122,6 +122,8 @@ github.com/dustinxie/ecc v0.0.0-20210511000915-959544187564 h1:I6KUy4CI6hHjqnyJL github.com/dustinxie/ecc v0.0.0-20210511000915-959544187564/go.mod h1:yekO+3ZShy19S+bsmnERmznGy9Rfg6dWWWpiGJjNAz8= github.com/foxxorcat/mopan-sdk-go v0.1.3 h1:6ww0ulyLDh6neXZBqUM2PDbxQ6lfdkQbr0FCh9BTY0Y= github.com/foxxorcat/mopan-sdk-go v0.1.3/go.mod h1:iWHA2JFhzmKR28ySp1ON0g6DjLaYtvb5jhTqPVTDW9A= +github.com/foxxorcat/mopan-sdk-go v0.1.4 h1:6utvPiBv8KDRDVKB7A4FERdrVxcHKZd2fBFCNuKcXzU= +github.com/foxxorcat/mopan-sdk-go v0.1.4/go.mod h1:iWHA2JFhzmKR28ySp1ON0g6DjLaYtvb5jhTqPVTDW9A= github.com/foxxorcat/weiyun-sdk-go v0.1.2 h1:waRWIBmjL9GCcndJ8HvOYrrVB4hhoPYzRrn3I/Cnzqw= github.com/foxxorcat/weiyun-sdk-go v0.1.2/go.mod h1:AKsLFuWhWlClpGrg1zxTdMejugZEZtmhIuElAk3W83s= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=